Issuing and receiving invoices
Advance invoices in KSeF: ZAL, then ROZ
Once KSeF (Krajowy System e-Faktur, Poland's National e-Invoicing System) applies to you, an advance invoice goes through KSeF like any other invoice, as an FA(3) file of type ZAL. After the service or delivery you issue a final settlement invoice of type ROZ that lists the KSeF numbers of all the advance invoices; if the advance and the service fall in the same month, you don't need a separate advance invoice at all.
Legal position as of 11 November 2026.
KSeF 2.0 Manual, Part II: advance and settlement invoicesWhen do you have to issue an advance invoice?
You issue one when you receive all or part of the payment before performing the service or delivering the goods (Art. 106b ust. 1 pkt 4 of the VAT Act). The tax point arises on the day the advance is received, for the amount received (Art. 19a ust. 8). The exceptions in Art. 19a ust. 1b and ust. 5 pkt 4 have their own rules; they include rental, leasing, telecommunications services and energy supplies.
The deadline has two limits. You issue the invoice no later than the 15th day of the month after the month in which you received the advance (Art. 106i ust. 2), and no earlier than 60 days before receiving it (Art. 106i ust. 7 pkt 2).
VAT Act: Art. 19a ust. 8, Art. 106b ust. 1 pkt 4, Art. 106i ust. 2 and 7An advance on an intra-Community supply of goods (WDT) is an exception: no advance invoice is required (Art. 106b ust. 1 pkt 4 lit. a). Nor do you need one if you are VAT-exempt, unless the buyer asks for an invoice within 3 months (Art. 106b ust. 2 and ust. 3 pkt 2).
What goes on the advance invoice?
An advance invoice has no ordinary line items. Instead of rows for goods or services, you give the details of the order or contract the advance relates to: its full gross value and its items with net value, tax and VAT rate. The total amount due is the advance you received, not the value of the whole order.
You calculate VAT from the gross advance using the formula in the KSeF Manual: tax = gross advance × rate / (100 + rate). If the advance arrived on a different day from the invoice issue date, you also give the date it was received.
Example: Tomasz is a carpenter running a JDG (jednoosobowa działalność gospodarcza, a Polish sole proprietorship) and an active VAT payer. He is fitting out an office for a company for 12,300 PLN gross (10,000 PLN net plus 2,300 PLN VAT at 23%). On 10 September 2026 the client pays a 3,690 PLN advance. Tomasz issues the advance invoice on 15 September (the deadline is 15 October 2026):
| Field on the advance invoice | Amount |
|---|---|
| Order value (gross) | 12,300 PLN |
| Advance amount (total amount due) | 3,690 PLN |
| VAT on the advance: 3,690 × 23 / 123 | 690 PLN |
| Net advance: 3,690 − 690 | 3,000 PLN |
Krystyna, who keeps Tomasz's books, reports the 690 PLN VAT in the September return, because that is when the advance came in. KSeF assigns the invoice a number, which Tomasz will later enter on the settlement invoice.
What goes on the settlement invoice?
Once the service is done, you issue the settlement invoice (Art. 106f ust. 3) within the usual deadline, which we cover in dates on a KSeF invoice. The line items show the full value of the transaction, but the VAT rate summary and the total amount due cover only what is left to pay.
Tomasz installs the fit-out on 20 November 2026. His settlement invoice looks like this:
| Field on the settlement invoice | Amount |
|---|---|
| Item "office fit-out" | 10,000 PLN net, VAT 23% |
| Net to settle: 10,000 − 3,000 | 7,000 PLN |
| VAT to settle: 2,300 − 690 | 1,610 PLN |
| Total amount due | 8,610 PLN |
| Advance invoice | KSeF number of the 15 September invoice |
This matches the formula: 8,610 × 23 / 123 = 1,610 PLN. The order details no longer appear on the settlement invoice.
KSeF 2.0 Manual, Part II: settlement invoiceWhat if the advance and the service fall in the same month?
If the client pays the advance in the same month in which you perform the service, you don't need a separate advance invoice (Art. 106b ust. 1a). You issue a single invoice after the service, marked as a ROZ settlement invoice, and show the date and amount of the advance on it (Art. 106e ust. 1a). According to the description of the ZaliczkaCzesciowa element in the FA(3) schema, the difference between the total amount due and the sum of the advances is the amount still to be paid, so in this case the total amount due covers the whole sale.
This exception does not apply to sales for which the Act sets its own invoicing deadline (Art. 106i ust. 3–8), such as construction and construction-assembly services (Art. 106b ust. 1b). For those you issue the advance invoice even when the advance and the service fall in the same month.
Had Tomasz received 3,690 PLN on 3 November and installed the fit-out on 20 November, he would issue one ROZ invoice for 12,300 PLN showing the 3,690 PLN advance of 3 November. That holds as long as his fitting work is not a construction-assembly service.
The client paid everything up front
If the client paid 100% before the service and you documented it with advance invoices, you don't have to issue a settlement invoice. On the last advance invoice, the one after which the advances cover the full price, you list the KSeF numbers of the earlier advance invoices (Art. 106f ust. 4). That invoice is still of type ZAL.
You may issue a settlement invoice voluntarily. It then has a total amount due of zero, the full line items and the advance invoice numbers.
How do you settle an advance invoiced outside KSeF?
Until 31 December 2026 you may issue invoices outside KSeF if the value of sales including tax documented by invoices issued outside KSeF does not exceed 10,000 PLN a month (Art. 145m). If you documented the advance with such an invoice and issue the settlement invoice in KSeF (for example in January 2027, after the limit ends), there is no KSeF number to enter. On the settlement invoice you mark that the advance invoice was issued outside KSeF and give its number from your own numbering.
FA(3) schema: FakturaZaliczkowa, NrKSeFZN, NrFaZaliczkowejThe same applies to an advance invoice issued before the date KSeF became mandatory for you, if it was issued outside KSeF (on paper or as a PDF). If you issued it in KSeF, even voluntarily, it has a KSeF number and you enter it on the settlement invoice: the schema requires that field for every advance invoice issued in KSeF. A settlement invoice for an advance documented in the old FA(2) structure must already be in FA(3). MF has not said explicitly whether a KSeF 1.0 number goes in the KSeF number field. The schema accepts such a number, and we read the rules for corrections the same way, but that is our interpretation.
Correcting an advance invoice uses KOR_ZAL
You correct a mistake on an advance invoice with a corrective invoice of type KOR_ZAL, and on a settlement invoice with KOR_ROZ, not the ordinary KOR. You reference the original invoice as with any KSeF correction. On a corrected advance invoice you give the advance amount before the correction, and the total amount due is the difference from the original invoice. MF also recommends showing the order details both before and after the correction, even when only the rate or the tax changes.
Which exchange rate applies to a foreign-currency advance?
There is no separate exchange-rate rule for advances. Art. 31a of the VAT Act applies, and the tax point is the day the advance is received (Art. 19a ust. 8), so you use the NBP (National Bank of Poland) mid-rate from the last business day before the day the advance arrived. If you issue the advance invoice before the client pays, Art. 31a ust. 2 applies: the rate from the last business day before the invoice issue date.
The amounts on the invoice stay in the foreign currency; only the tax is shown in PLN. When one invoice documents several payments, each may have its own rate.
VAT Act: Art. 19a ust. 8, Art. 31a ust. 1 and 2For developers: advance fields in FA(3)
RodzajFaktury:ZAL(including the last advance invoice under Art. 106f ust. 4),ROZ,KOR_ZAL,KOR_ROZ.- On
ZAL:FaWierszomitted,ZamowieniewithWartoscZamowieniaandZamowienieWiersz(up to 10,000 rows, in the advance invoice currency),P_15= amount of payment received,P_6= payment receipt date when it differs fromP_1. GTU codes and procedures on aZALgo inZamowienieWierszasGTUZandProceduraZ. - Several payments on one invoice:
ZaliczkaCzesciowa(up to 31 occurrences) withP_6Z(date),P_15Z(amount) and optionalKursWalutyZW. The same element is used on aROZunder Art. 106b ust. 1a. Rate for the whole advance invoice:KursWalutyZ. - On
ROZ:FakturaZaliczkowa(up to 100 occurrences, one per advance invoice) withNrKSeFFaZaliczkowej, or the pairNrKSeFZN=1andNrFaZaliczkowejfor an invoice issued outside KSeF.Zamowienieomitted. - On
KOR_ZAL:P_15ZK(amount before correction),KursWalutyZK(rate before correction, for a foreign-currency invoice), "before" rows inZamowienieWierszflagged withStanPrzedZ.
The Fa fragment of Tomasz's settlement invoice (FakturaZaliczkowa comes after P_15 and Adnotacje, before FaWiersz):
<P_13_1>7000.00</P_13_1>
<P_14_1>1610.00</P_14_1>
<P_15>8610.00</P_15>
<Adnotacje>...</Adnotacje>
<RodzajFaktury>ROZ</RodzajFaktury>
<FakturaZaliczkowa>
<NrKSeFFaZaliczkowej>7811234567-20260915-0A1B2C3D4E5F-1C</NrKSeFFaZaliczkowej>
</FakturaZaliczkowa>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>Zabudowa biura</P_7>
<P_8A>szt.</P_8A>
<P_8B>1</P_8B>
<P_9A>10000.00</P_9A>
<P_11>10000.00</P_11>
<P_12>23</P_12>
</FaWiersz>The KSeF number in the example is made up. You can check your advance invoice file in the validator, and we explain what P_15 means for each invoice type under the missing total amount due error.
Was this article helpful?
Sources
Don’t miss KSeF changes
We’ll send a short email when KSeF rules or deadlines change. We only write then, so you won’t hear from us often.
You can unsubscribe at any time. Powered by Buttondown
Read next
- Invoices8 min read
Correcting a KSeF invoice: 6 steps with XML
You can't edit or delete a KSeF invoice. Issue a KOR correction citing the original's KSeF number, with amounts as the difference: −500 zł, not 4,500 zł.
- Deadlines8 min read
No 10,000 PLN limit from 2027: what to do
From 1 January 2027 business invoices go through KSeF as a rule, at any amount, VAT-exempt sellers too. Cash-register invoices end; consumers stay out.
- Invoices12 min read
KSeF invoice issue date: which date counts
An online invoice is issued on the day you send it to KSeF, if that matches P_1. The buyer receives it when the KSeF number is assigned, not on download.
More on this topic: Issuing and receiving invoices
- Where do you correct a non-KSeF invoice in 2027?
- The KSeF mobile app invoices only in PLN
- Find your KSeF number in KSeF, not in the XML
- WDT at 0%: you need proof the goods left Poland
- CEIDG is free: ignore paid "register" letters
- Paying over PLN 15,000? Check the VAT white list
- Split payment in KSeF: how to fill in P_18A
- Deleting a KSeF invoice: what to do instead