Skip to content

61. Generator faktury HTML

This content is not available in your language yet.

Generator faktury HTML

Aplikacja PHP do tworzenia prostych faktur: dane sprzedawcy i nabywcy, lista pozycji z ilościami i cenami, automatyczne obliczenie netto, VAT i brutto, generowanie HTML do wydruku.

  • Dynamicznego formularza wielopozycyjnego (wiele wierszy)
  • Obliczeń finansowych z zaokrągleniami
  • Generowania HTML dokumentu z szablonu
  • Numerowania faktur

Generowanie faktur to jedno z najczęstszych zadań dla programistów PHP pracujących dla firm. Każdy system e-commerce i ERP generuje faktury. Ta aplikacja uczy obsługi dynamicznych formularzy i obliczeń finansowych.

  1. Dane nagłówka: sprzedawca, nabywca, numer faktury, data
  2. Pozycje: nazwa usługi/towaru, ilość, cena netto, stawka VAT
  3. Obliczenie: netto, VAT, brutto dla każdej pozycji i sumy
  4. Generowanie HTML faktury gotowej do wydruku
  5. Zapis faktury do archiwum JSON
{
"invoices": [
{
"id": 1,
"number": "FV/2026/001",
"seller": "Firma ABC Sp. z o.o.",
"buyer": "Jan Kowalski",
"date": "2026-02-10",
"items": [
{"name": "Usługa programistyczna", "qty": 8, "price_net": 150.00, "vat": 23}
],
"total_net": 1200.00,
"total_vat": 276.00,
"total_gross": 1476.00
}
]
}
  • Formularz z 3 pozycjami faktury
  • Obliczenie netto, VAT (23%), brutto
  • Wyświetlenie tabeli faktury na ekranie
  • Walidacja: cena > 0, ilość > 0
Ocena: 3.0
<?php
// Obliczenie pozycji faktury
function calculateItem(array $item): array {
$net = round($item['qty'] * $item['price_net'], 2);
$vat = round($net * $item['vat'] / 100, 2);
$gross = round($net + $vat, 2);
return array_merge($item, ['net' => $net, 'vat_amount' => $vat, 'gross' => $gross]);
}
// Obliczenie sum faktury
function calculateTotals(array $items): array {
$totalNet = 0;
$totalVat = 0;
foreach ($items as $item) {
$totalNet += $item['net'];
$totalVat += $item['vat_amount'];
}
return [
'total_net' => round($totalNet, 2),
'total_vat' => round($totalVat, 2),
'total_gross' => round($totalNet + $totalVat, 2),
];
}
// Numer faktury
function generateInvoiceNumber(array $invoices): string {
$year = date('Y');
$count = count(array_filter($invoices, fn($i) => str_contains($i['number'], "/$year/"))) + 1;
return sprintf('FV/%d/%03d', $year, $count);
}

Twoja pierwsza faktura PHP!

Zacznij od statycznego formularza z 3 pozycjami. Potem dodaj obliczenia. Na końcu generowanie HTML do wydruku.