Purchase invoices across the year-end in KSeF: one invoice, three dates, two tax years
Three Dates on One Invoice
On 2 January an office with 60 clients runs its first KSeF download of the year. Out come a few hundred purchase invoices dated anywhere from 20 December to 2 January. Most are boring. But a fair number of them carry three dates that don't agree with each other:
- the issue date the supplier wrote on the invoice,
- the date KSeF assigned its number, which for a domestic buyer with an NIP is the date the invoice was received,
- the delivery or service date, if the supplier filled it in.
In February or June that doesn't matter much. A cost lands a month later, VAT moves by one period, and nobody notices. Across 31 December it matters. One of those dates decides the tax year, and the client's books get closed on it in March.
The awkward part? The answer isn't the same for every client. The same invoice can be a 2026 cost for one client and a 2027 cost for another, while the VAT goes to January for both.
VAT: the Period Follows Receipt
The VAT side is the simpler one. The right to deduct arises no earlier than in the period in which the buyer received the invoice (art. 86(10b)(1) of the VAT Act). For an invoice issued through KSeF to a domestic buyer with an NIP, receipt is the day KSeF assigns the number. If the deduction isn't taken in that period, it can be taken in one of the next three.
So far, so mechanical. The year-end catch is the offline invoice. A supplier issues it on 31 December in offline mode and sends it to KSeF on 2 January. On the supplier's side it's a December invoice. On the buyer's side it was received in January, so the earliest VAT period is January. I covered the mechanics, and why one document lives in two periods, in the piece on KSeF offline24 mode.
Two caveats. First, the authorities and at least one administrative court have read the receipt rule for offline invoices differently: the court tied deduction to actual receipt, not to the KSeF number. If a client's position depends on it, check the current line before you rely on either. Second, invoices that never pass through KSeF, such as those from foreign suppliers, still go by the date they actually reached the client. They need their own register, which I described in documents outside KSeF.
Cost Year: Full Books vs KPiR
This is where the two client types split.
Full books (CIT, and PIT on full books). For indirect costs, the cost date is the day on which the cost was booked in the accounts on the basis of the received invoice (art. 15(4e) CIT; art. 22(5d) PIT has the same wording). Reserves and accruals booked without an invoice don't count. In practice, a December service invoiced in January and entered under 31 December while December is still open usually ends up as a cost of the old year. Booked under January, it's a cost of the new one. Authorities and courts have argued for years about what exactly counts as "booked as a cost," so the office needs one consistent policy, not a decision per invoice.
Direct costs follow revenue. A direct cost tied to 2026 revenue, incurred after year-end but before the financial statements are drawn up and no later than the return deadline, still belongs to 2026. After that date it goes to the current year. A cost that covers more than one tax year, such as a three-year licence paid in December, is spread proportionally (art. 15(4d) CIT).
KPiR on the default method. Here the cost date is the issue date of the invoice (art. 22(6b) PIT). Not the KSeF number, not the service date. A December service invoiced on 2 January is a 2027 cost, full stop. Trade goods are an exception in practice: they go into the ledger when they arrive, and the remanent picks them up anyway, which is why the 31 December stock count matters so much for these clients. A client who opted for the accrual method in KPiR follows rules closer to full books.
Put the two together and you get this table for three typical invoices:
| Invoice | KPiR (default) | Full books, booked under 31 Dec | VAT period |
|---|---|---|---|
| Issued 30 Dec, KSeF number 30 Dec | cost 2026 | cost 2026 | December or later |
| Issued 31 Dec offline, KSeF number 2 Jan | cost 2026 | cost 2026 | January or later |
| December service, issued 2 Jan | cost 2027 | cost 2026 | January or later |
The third row is the one that gets mixed up. An accountant handling both client types on the same morning tends to apply one rule to everybody.
The Size of the Pile
An illustrative office: 60 clients, 38 on KPiR and 22 on full books. In the first week of January the KSeF download brings about 1 400 purchase invoices dated between mid-December and mid-January. Maybe 300 of them have dates on different sides of 31 December. Checking one by hand means opening the invoice, finding the service date, checking the KSeF number date and the client's book type. Call it two minutes each. That's ten hours, in the same week as stock counts, payroll and the December VAT returns.
Not all 300 need a human. When all three dates point the same way, the answer is mechanical. In my experience the ones that need a decision are closer to 50–70: services spanning both years, subscriptions, invoices with no service date, direct costs at production clients, and offline invoices numbered after New Year.
What the Agent Prepares
This is the list I'd want ready by 5 January, per client:
- every purchase invoice from KSeF dated 15 December – 15 January, with the issue date, the KSeF number date, the delivery or service date and the offline flag pulled from the structured invoice;
- the client's book type and VAT settings (monthly or quarterly, KPiR method) taken from the office's own records, not guessed;
- a proposed VAT period and a proposed cost year per invoice, with the rule that produced it;
- flags: dates on both sides of 31 December, no service date, a service period in the description that spans both years, amounts above a threshold the office sets, and costs at full-books clients the office has marked as direct;
- a list of recurring December invoices that haven't arrived yet: the monthly lease, the accounting fee, utilities. These are compared with the client's own history in KSeF, so the office can ask the client before closing December rather than after.
For the illustrative office that turns ten hours of sorting into roughly 90 minutes of reviewing flagged invoices. The mechanical 230 or so go through with a spot check.
The agent doesn't decide whether a cost is direct or indirect, doesn't book reserves or accruals, and doesn't choose which of the available VAT periods to use when the client has a choice. Those are judgment calls with a signature under them. The agent's job is to make sure the accountant sees the 60 invoices that need judgment instead of digging for them among 1 400. It fits into the month-end close routine you already run, just with a wider date window in December.
Set the Policy in November
Do two things before Christmas. First, write down the office's rule for full-books clients: until which date in January (or February) December stays open for late invoices, and under which date they get booked. Second, separate suppliers' invoicing habits from your clients' habits. A client who gets their monthly invoices on the 2nd will have a third-row problem every single year, and it's easier to agree on it once.
If you'd like to see the cut-off list on one of your clients' KSeF data, write to me. I'll run it on last year's December and January and show you how many invoices actually needed a decision.
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.



