Advance in December, delivery in January: advance and settlement invoices in KSeF across the 2026/2027 boundary
Why December Advances Are Their Own Problem This Year
Every year some clients take money in December for something they deliver in January: a machine ordered before the price list changes, a kitchen fitted after the holidays, a training block booked for February. Normally it's routine. One invoice for the advance, one for the rest, VAT on the advance in December, revenue in January.
This year the boundary runs through KSeF. On 1 January 2027 the 10,000 zł exemption ends and invoices can no longer be issued from cash registers. I covered that in the post on KSeF penalties and 1 January 2027. So for the smallest clients, a single transaction can produce an advance invoice outside KSeF in December and a settlement invoice inside KSeF in January. The two documents have to point at each other. The structured invoice has a set way of doing that.
Take a simple example. A client sells equipment for 61,500 zł gross (50,000 net, 11,500 VAT at 23%). The buyer pays a 12,300 zł advance on 12 December 2026. Delivery is on 14 January 2027.
The VAT Side: December, Whatever the Invoice Date
Under art. 19a(8) of the VAT Act, when payment is received before the supply, the tax point for that amount is the day it's received. The 12,300 zł contains 2,300 zł of VAT (12,300 × 23/123), and that goes into the December JPK_V7.
The advance invoice must be issued by the 15th day of the month after the month the money arrived, so by 15 January 2027 (art. 106i(2)). That's where the boundary matters:
| Advance invoice issued | Client used the 10,000 zł exemption in 2026 | Where the invoice goes |
|---|---|---|
| 18 December 2026 | yes | may still be a PDF/paper invoice outside KSeF |
| 18 December 2026 | no | KSeF, like all its invoices since 2026 |
| 8 January 2027 | either | KSeF, because the transitional rules cover invoices issued until 31 December |
Whichever row applies, the 2,300 zł of VAT belongs to December. A late invoice doesn't move it. I see the opposite mistake every January: the advance invoice is dated January, so someone books its VAT in January. The bank statement shows 12 December, and the bank statement wins.
On the buyer's side it works the other way. The buyer deducts input VAT in the period in which it received the invoice, and in KSeF an invoice counts as received on the day it gets its KSeF number. An advance invoice issued in KSeF on 8 January gives the buyer the deduction in January, not December. If your office also keeps the buyer's books, expect that question.
The Invoice Types in FA(3)
The structured invoice marks the type explicitly in RodzajFaktury. Four values matter here:
- ZAL: the advance invoice, documenting money received before the supply. It also carries the order or contract value.
- ROZ: the settlement invoice issued after the supply under art. 106f(3). It covers the full value, deducts the advances and lists the advance invoices.
- KOR_ZAL: a correction of an advance invoice, for example when the order is cancelled and the advance refunded.
- KOR_ROZ: a correction of a settlement invoice.
FA(3) also lets one advance invoice cover several payments through the ZaliczkaCzesciowa element, each with its own date and amount. The official brochure's example has three advances received on 10, 15 and 20 September 2026. If a client takes advances in instalments over December, that's one invoice, not three.
And if the advances add up to the whole price before delivery, there's no settlement invoice at all. Under art. 106f(4) the last advance invoice lists the numbers of the earlier ones and closes the transaction.
Linking a KSeF Settlement Invoice to an Advance Outside KSeF
This is the bit that's new at this year end. The settlement invoice in January has to list the advance invoice. FA(3) has the FakturaZaliczkowa element for that, and the official brochure describes two cases:
- Advance invoice issued in KSeF: its KSeF number goes into NrKSeFFaZaliczkowej, and that's all.
- Advance invoice issued outside KSeF: NrKSeFZN is set to 1, which flags it as issued outside KSeF, and NrFaZaliczkowej carries its ordinary number, for example FZ/12/12/2026. The brochure's own example uses two such advance invoices from 2025.
So the schema copes with this. The trouble usually starts outside it. The client's new KSeF tool doesn't know about the December PDF, so the settlement invoice goes out as a plain VAT invoice for 61,500 zł with no advance deducted. The VAT on 12,300 zł is then charged twice, once in December and again in January. Or the settlement invoice is correct but the December advance invoice exists only in the old invoicing program on someone's laptop. Six months later nobody can show what NrFaZaliczkowej points to.
For the example, the January ROZ invoice shows the full 61,500 zł, deducts the 12,300 zł advance, and leaves 49,200 zł to pay, including 9,200 zł VAT. That's the amount in the January JPK_V7.
The Income Tax Side: Not Revenue in 2026
An advance for a delivery in a later period isn't revenue. For CIT that's art. 12(4)(1) of the CIT Act, and for PIT art. 14(3)(1). Revenue from our example arises in January 2027, at delivery.
At year end that matters more than it looks:
- In full books the 12,300 zł sits on the liabilities side at 31 December, not in 2026 sales. I'd list every open advance next to the year-end accruals and provisions, because the same people look at both in January.
- A KPiR client who records the advance invoice as revenue in December pays income tax a year too early, and possibly against the wrong year's limits.
- Small taxpayer status and the ryczałt limits are counted on revenue. An advance booked as revenue can push a client over a threshold it didn't actually cross.
The December–January Check for an Office
I'd run this list twice: around 20 December, and again between 5 and 15 January, before the advance-invoice deadline.
- December receipts with no invoice. Customer receipts in the bank statement that don't match any sales invoice. Some are payments for old invoices with a bad title, others are advances. The bank-statement matching rules already separate the two. What's left is the advance list.
- Advances without an advance invoice by 15 January. For each one: has a ZAL invoice been issued, and if it's dated January, is it in KSeF?
- Open advance invoices at 31 December. ZAL with no ROZ yet. For each: amount, customer, expected delivery date. This goes to the CIT/PIT check and the balance sheet.
- January settlement invoices. Every ROZ has to name an advance invoice that actually exists in the register: the KSeF number for a KSeF advance, flag plus number for one issued outside KSeF. Every January sales invoice to a customer with an open advance and no reference is a candidate for VAT charged twice.
- Cancelled orders. An advance refunded in January needs a KOR_ZAL, and in KSeF from 2027. The mechanics are the same as any other correction, described in the post on KSeF corrective invoices.
Where an Agent Fits
Every check above is a join between three sources the office already has: the bank statement, the sales register, and the KSeF metadata of issued invoices. An agent runs those joins every night in December and January.
It lists customer receipts with no invoice, advances still without a ZAL a week before the 15th, open ZAL invoices at 31 December with amounts, and January invoices to customers who have an open advance but no FakturaZaliczkowa reference. Each item comes with the client, the document and the reason. It doesn't issue or correct invoices and doesn't book anything. The ERP and the accountant stay in charge.
So nobody gets surprised in March by a December advance that was taxed twice or booked as 2026 revenue.
One Question for This Week
Which of your clients regularly take advances in December? Usually it's the same five or six every year: equipment, furniture, construction, training, events. Check which of them used the 10,000 zł exemption in 2026. Those are the ones whose December PDF has to be referenced from a January KSeF invoice.
Want to see the list for one client before December? Send me an anonymised December statement and sales register from last year and I'll show you what the pairing turns up.
Check a Polish VAT counterparty in seconds, free
KsięgoAI checks a NIP against the VAT white list and VIES, scores the risk and saves proof of due diligence. Works in Telegram and Claude.
Try KsięgoAI→Let’s talk about your project
Free 30-minute consultation. We’ll figure out if and how I can help.



