W Fakturownia od planu Standard masz możliwość stworzenia własnego szablonu faktury – jeśli żaden z dostępnych wzorów nie odpowiada Ci pod względem wyglądu lub układu. W artykule wyjaśniamy, jak krok po kroku utworzyć i wdrożyć indywidualny szablon (HTML + CSS), który odzwierciedli wizerunek Twojej firmy.
Jak przygotować własny szablon faktury?
W Fakturowni użytkownik może wybrać wygląd wystawianych dokumentów spośród siedmiu dostępnych szablonów faktur. Wszystkie szablony systemowe możesz sprawdzić, przechodząc do zakładki Ustawienia > Ustawienia konta > Szablony. W tym miejscu można zobaczyć, jak prezentuje się dokument w danym szablonie, klikając przycisk +Zobacz, dostępny w prawym górnym rogu każdego szablonu.
Wybrany w tym miejscu systemu szablon obowiązuje dla wszystkich dokumentów wystawionych na koncie. Jeśli jednak chcesz, aby inna firma lub dział dodany na koncie miał inny wygląd dokumentów, możesz przypisać szablon bezpośrednio w ustawieniach działu, dzięki czemu każdy dział może mieć własny wygląd dokumentów. Więcej informacji o tej opcji znajdziesz w artykule jak zmienić szablon faktury.
Jeśli żaden z szablonów systemowych nie spełnia Twoich oczekiwań lub chcesz wprowadzić modyfikacje, aby szablon lepiej odpowiadał Twoim potrzebom, możesz przygotować własny szablon. Opcja ta dostępna jest od planu Standard.
Zanim zaczniesz tworzyć własny szablon, sprawdź, czy pożądanych zmian nie można wprowadzić, konfigurując wydruk za pomocą stylów CSS.
Aby stworzyć własny szablon faktur:
-
przejdź do zakładki Ustawienia > Ustawienia konta > Szablony,
-
zjedź na dół strony do sekcji Własny szablon wydruku faktury i kliknij przycisk Dodaj nowy szablon,
-
nadaj nazwę szablonu, w polu Rodzaj pozostaw aktywne ustawienie faktura i w dedykowanych polach wklej kod HTML oraz style CSS szablonu – dzięki opcji załaduj przykładowy szablon możesz zaczytać kod i style jednego z systemowych szablonów i wprowadzić w nim własne modyfikacje,
- zatwierdź utworzenie szablonu, klikając Zapisz na dole formularza.
Własny szablon faktury a integracja z KSeF
Jeśli na koncie aktywna jest integracja z KSeF i korzystasz z własnego szablonu faktury, po wysłaniu dokumentu system wyświetli w podglądzie komunikat informujący, że faktura została wystawiona w szablonie innym niż systemowy. W takiej sytuacji należy zweryfikować zgodność danych na fakturze z danymi przesłanymi do KSeF. Rekomendujemy korzystanie z szablonu systemowego, aby mieć pewność, że dane na dokumencie są w pełni zgodne ze schemą KSeF.
Komunikat jest wyświetlany, jeśli spełnione są łącznie warunki: faktura została wysłana do KSeF, wszystko przetworzyło się poprawnie, dokument ma przypisany numer KSeF i załączniki (XML i UPO).
Komunikat o braku kodu QR KSeF na wydruku
Jeśli Twój własny szablon nie zawiera sekcji z kodami QR KSeF, w podglądzie faktury zobaczysz komunikat „Na wydruku tej faktury nie będzie kodu QR KSeF”. Oznacza on, że kod QR nadany przez KSeF nie pojawi się ani na wydruku, ani w pliku PDF. Komunikat zawiera link do edycji szablonu i wskazówkę, gdzie dodać brakujący kod.
Komunikat wyświetla się, gdy:
- na koncie aktywna jest integracja z KSeF w środowisku produkcyjnym,
- faktura sprzedażowa czeka na wysłanie do KSeF lub została już do niego wysłana,
- faktura korzysta z własnego szablonu, w którego kodzie brakuje partiala {{>invoice_qrs}}.
Aby komunikat zniknął, dodaj do szablonu partial {{>invoice_qrs}} zgodnie z instrukcją jak we własnym szablonie dodać kody QR wynikające z KSeF. Możesz też zmienić szablon faktury na systemowy.
Komunikat możesz zamknąć ikoną ×. Zamknięcie dotyczy tylko Twojego użytkownika i tylko tego jednego szablonu: jeśli korzystasz z kilku własnych szablonów (np. osobnych dla działów, walut czy korekt), komunikat pojawi się przy każdym z nich, który nie ma sekcji z kodami QR.
Jak we własnym szablonie faktury zaimplementować nowy schemat działania rachunków bankowych?
Z początkiem lutego 2026 roku wprowadziliśmy nowy system obsługi wielu kont bankowych. Teraz zamiast pojedynczych zmiennych (bank, bank_account, swift) używamy tablicy bank_accounts, która pozwala wyświetlić wiele kont na jednej fakturze.
Co trzeba zmienić w szablonie?
Aby na fakturach wystawianych we własnym szablonie numery rachunków zgodne z nowym schematem wyświetlane były prawidłowo:
należy zamienić ten fragment kodu
{{#if bank}}
<p>
{{bank}}<br />
{{{bank_account}}}
{{#if swift}}
<br />
{{tt 'department.bank_swift'}}: {{swift}}
{{/if}}
</p>
{{/if}}
na kod wskazany poniżej
{{#if bank_accounts_enabled}}
<br />
{{#each bank_accounts}}
<p>
{{tt "invoice.bank_accounts"}}:<br />
{{bank_name}}<br>
{{bank_account_number}}<br />
{{bank_swift_with_currency}}
</p>
{{/each}}
{{else}}
{{#if bank}}
<p>
{{bank}}<br />
{{{bank_account}}}
{{#if swift}}
<br />
{{tt 'department.bank_swift'}}: {{swift}}
{{/if}}
</p>
{{/if}}
{{/if}}
Wyjaśnienie różnic
| STARY SPOSÓB | NOWY SPOSÓB |
|---|---|
| {{bank}} – jedna nazwa banku | {{#each bank_accounts}} – pętla po wszystkich kontach |
| {{bank_account}} – jeden numer konta | {{bank_account_number}} – numer konta w pętli |
| {{swift}} – jeden kod SWIFT | {{bank_swift_with_currency}} – SWIFT z walutą w pętli |
| brak warunku | {{#if bank_accounts_enabled}} – sprawdza czy włączono nowy system |
Dlaczego szablon na dwie sekcje (if/else)?
- {{#if bank_accounts_enabled}} – dla nowych faktur z włączonym systemem wielu kont
- {{else}} – dla starszych faktur, które używają starego systemu (zachowana kompatybilność wsteczna)
Jak we własnym szablonie not księgowych zaimplementować nowy schemat działania rachunków bankowych?
Jeśli korzystasz z własnego szablonu not księgowych w kodzie szablonu należy dokonać zmian, by uwzględniały one nowy schemat działania rachunków bankowych.
Aby na notach księgowych wystawianych we własnym szablonie numery rachunków zgodne z nowym schematem wyświetlane były prawidłowo:
należy zamienić ten fragment kodu
{{#if bank}}
<p>
{{{bank}}} <br>
{{{bank_account}}}
{{#include 'pl en es ge ua' locale}}
{{#if swift}}
<br />
{{tt 'department.bank_swift'}}: {{swift}}
{{/if}}
{{/include}}
</p>
{{/if}}
na kod wskazany poniżej
{{#if bank_accounts_enabled}}
<br />
{{#each bank_accounts}}
<p>
{{tt "invoice.bank_accounts"}}:<br />
{{bank_name}}<br>
{{bank_account_number}}<br />
{{bank_swift_with_currency}}
</p>
{{/each}}
{{else}}
{{#if bank}}
<p>
{{{bank}}} <br>
{{{bank_account}}}
{{#include 'pl en es ge ua' locale}}
{{#if swift}}
<br />
{{tt 'department.bank_swift'}}: {{swift}}
{{/if}}
{{/include}}
</p>
{{/if}}
{{/if}}
Różnice wynikają z tych samych kwestii, co w przypadku rachunków bankowych we własnym szablonie faktur.
Podczas tworzenia szablonu możesz również określić sposób wyświetlania własnego formatu waluty, korzystając z odpowiednich parametrów. Instrukcję znajdziesz w artykule o różnicach między currency, currency_symbol i currency_unit.
Adnotacja o rodzaju sprzedaży dla stawki NP
Szablony systemowe drukują w uwagach adnotację o podstawie zastosowania stawki NP (art. 100 ust. 1 pkt 4 ustawy). W szablonie własnym dodaj ją samodzielnie, w miejscu, w którym wyświetlasz pozostałe uwagi:
{{#each np_tax_kind_notes}}
<p>{{this}}</p>
{{/each}}
Zmienna np_tax_kind_notes zawiera gotowe, przetłumaczone linie adnotacji. Na koncie polskim jest pusta, gdy dokument nie wymaga adnotacji. Na korekcie zmieniającej rodzaj sprzedaży zawiera dwie linie („Przed korektą: …”, „Po korekcie: …”).
Numer KSeF korygowanej faktury na korekcie
Szablony systemowe drukują na fakturze korygującej numer KSeF dokumentu korygowanego. W szablonie własnym dodaj go samodzielnie, najlepiej pod zapisem o dokumencie korygowanym:
{{#if correction}}
<p>
{{ correction }}
{{#if corrected_ksef_number}}
<br>
{{tt "invoice.correction_of_ksef_short"}}: {{ corrected_ksef_number }}
{{/if}}
</p>
{{/if}}
Zmienna corrected_ksef_number zawiera numer KSeF faktury korygowanej. Na dokumentach, które nie są korektą, oraz na korektach do faktur bez numeru KSeF jest pusta, więc warunek {{#if corrected_ksef_number}} ukryje wiersz.
Jak we własnym szablonie dodać kody QR wynikające z KSeF?
Systemowe szablony faktur dodatkowo uwzględniają kod odpowiedzialny za wyświetlanie kodów QR związanych z KSeF.
Po wysłaniu dokumentu do Krajowego Systemu e-Faktur w trybie online na fakturze pojawia się jeden kod QR zawierający numer nadany dokumentowi przez KSeF. Jeśli faktura zostanie wysłana w trybie offline, na dokumencie pojawiają się dwa kody QR: jeden związany z certyfikatem, a drugi z trybem offline.
Jeśli korzystasz z własnego szablonu faktury, w kodzie szablonu musisz dodać partial {{>invoice_qrs}}, który jest odpowiedzialny za kody QR dotyczące KSeF.
Kod dodaj na samym końcu szablonu, tuż przed stopką (elementami footer). Tak kody są wyświetlane w szablonach systemowych. Jeśli umieścisz partial wyżej, kody QR mogą pojawić się w innym miejscu wydruku, np. nad logo. Partial {{>invoice_qrs}} wskazujemy na przykładzie systemowego szablonu gray.
Partial {{>invoice_qrs}} drukuje wszystkie kody QR naraz: kody KSeF oraz kod QR do szybkiej płatności (jeśli jest włączony w ustawieniach wydruku). Jeśli Twój szablon rysuje własny kod QR do zapłaty, usuń go z kodu szablonu, żeby kod płatności nie pojawił się na fakturze dwa razy.
Stworzony szablon faktury pojawi się do wyboru na liście szablonów oraz w formularzu tworzenia/edycji faktury.
Fakturownia nie tworzy customowych szablonów faktur. Szablon należy stworzyć samodzielnie z wykorzystaniem Handlebars.
Jak za pomocą własnego szablonu wyświetlić e-mail i numer telefonu odbiorcy?
Za pomocą własnego szablonu faktury możesz wyświetlić na wizualizacji dokumentu adres e-mail oraz numer telefonu odbiorcy, które nie są wyświetlane w systemowych szablonach faktur.
W tym celu:
- utwórz własny szablon faktury zgodnie z instrukcją powyżej,
- w sekcji HTML znajdź fragment: {{>recipients}},
- zastąp go pełnym kodem partiala recipients, dostępnym w dokumentacji na GitHubie,
- w szczegółowym kodzie dotyczącym danych odbiorcy, przed jego zakończeniem, dodaj zmienne: {{{email}}} {{{phone}}} jeśli chcesz, aby adres e-mail i numer telefonu były wyświetlane obok siebie,
- jeśli dane mają być wyświetlane jedna pod drugą, dodaj: {{{email}}} <br> {{{phone}}},
- zapisz szablon i przypisz go do faktury.
Po zastosowaniu własnego szablonu adres e-mail i numer telefonu zostaną wyświetlone w sekcji dotyczącej odbiorcy na wizualizacji dokumentu.