Blog— Anton Ignashev

KSeF offline24 from the accounting office's side: the invoice dated the 30th that shows up in October

KSeF offline24 from the accounting office's side: the invoice dated the 30th that shows up in October

One Invoice, Two Months

A client of yours runs a small wholesale business. At 19:40 on 30 September the warehouse internet drops, and the month's last invoice goes out in offline24 mode: a PDF with two QR codes, handed to the driver. Next morning someone sends it to KSeF. It gets its number on 1 October.

Nobody did anything wrong. That's exactly what offline24 is for. But look at what that one invoice does inside your office.

For the seller it's a September invoice: the tax point follows the usual rules, and the document is dated the 30th. For the buyer it was received on 1 October, because an offline invoice counts as received on the day KSeF gives it a number. Keep the books for both companies and you're now holding one document that lives in two periods.

Now suppose your September purchase download ran on the morning of 1 October, filtering on issue date. The invoice wasn't in KSeF yet. And if October's run filters on issue date too, it won't pick it up either, because the date on it is still the 30th. It has fallen between two queries.

Nothing flags it. Nothing breaks.

This post is about that gap. Last week I wrote about KSeF permissions, the access nobody wrote down. Offline invoices are the other half of the same theme: things that go quiet instead of going wrong.

Four Modes, Three Deadlines

KSeF 2.0 gives you more than one way to issue outside the system, and each runs on its own clock.

Offline24. The taxpayer's own call, for any reason, whether KSeF is up or not. The invoice goes to KSeF no later than the next business day after issue. This is the mode your clients will actually use: a patchy connection, a salesperson at a trade fair, a laptop that refuses to authenticate.

KSeF unavailability. The Ministry announces the system is down, planned or not. Anything issued during that window goes in by the next business day after it ends.

Failure (awaria). Announced in the Ministry's BIP and passed through to invoicing software. The deadline here is seven business days after the failure ends. That's the longest clock of the lot, and it's the one that makes month-end messy: seven business days can easily run into the next VAT period.

Total failure (awaria całkowita). Announced in the media. Invoices are issued outside KSeF and never have to be sent afterwards. It's rare in practice, but it does mean "no KSeF number" isn't automatically an error.

Offline invoices carry two QR codes. The first lets anyone verify the invoice once it's in KSeF. The second confirms who issued it, and it's signed with an offline-type KSeF certificate. So if your client issues offline, someone on their side has to hold that certificate. One more expiry date for the register from last week.

One more fact matters for timing. Financial penalties for KSeF breaches don't start until 2027, so in 2026 an offline invoice sent three days late, or never sent at all, costs the client nothing in fines. That's the trap. Habits form in the year without penalties; the fines arrive the year after.

Where This Hurts an Office

Your clients decide when to issue offline. The consequences land with you, in three places.

Month-end cut-off. Most offices pull purchase invoices for a closed month a day or two into the next one. For offline24 that's usually enough. For a failure, with its seven-business-day window, it isn't. An invoice issued on the 29th during a failure can legally reach KSeF around the 9th of the following month. If you close on the 5th, it simply isn't there yet.

Two dates, one filter. KSeF metadata carries both the issue date and the date KSeF accepted the invoice. Your integration filters on one of them. Which one? I've asked that in several offices, and the honest answer was usually "whatever the default was". Filter on issue date and you miss late arrivals. Filter on KSeF date and offline invoices slide into the next month, which is right for the buyer and wrong for the seller. Neither setting is wrong everywhere. The mistake is not knowing which one you're running.

The invoice that never arrived. Offline24 depends on someone remembering to send the invoice the next day. When nobody does, KSeF shows nothing at all. The buyer hasn't got it, your office can't see it, and the seller's books contain a sale that exists only as a PDF. This is the same absence-not-error problem I described with missing UPO: nothing fails, so nobody looks.

What to Check, and How Often

None of this needs judgement. It needs a list that someone actually reads. Here's the check I build for offices, and it's read-only:

  • Every night, per client: pull invoice metadata for the last 10 business days and flag any invoice whose KSeF date is later than its issue date. That's your set of offline and failure invoices. Most will be a single business day apart and harmless.
  • Every night, per sales series: look for gaps in the numbering. FV/09/112 and FV/09/114 are in KSeF, but 113 isn't? Then it was either cancelled or it's sitting somewhere as a PDF. Clients with several series (shop, wholesale, corrections) need this run for each one, which is exactly why nobody does it by hand.
  • If you also have the client's invoicing tool: list sales that still have no KSeF number two business days after issue. It catches a forgotten send more reliably than numbering gaps do.
  • Business days 3 and 8 of each month: re-pull the previous month by issue date and compare it with what's already booked. Anything new is a late arrival, and on the seller's side it belongs in last month's VAT.

The agent sends nothing, corrects nothing and never touches the client's certificate. It hands a named person a short list, client X, invoice 113 missing; client Y, three invoices crossed into October, and the rest is a phone call.

For the wider picture, meaning how the three big ERPs handle KSeF status and where you can read these facts from outside, see the KSeF comparison for enova365, Optima and Subiekt. The download side has its own post: automatic KSeF invoice downloads.

Two Numbers for This Week

  1. How many of last month's invoices, across all clients, have a KSeF date later than their issue date? If you can't answer in five minutes, you don't know which date your integration filters on.
  2. How many of those crossed the month boundary? For each one, check that it sits in the right period on both sides.

If you'd like help setting up the nightly version, write to me. It's usually the second check I build for an office, straight after access.

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.

Book a Free 30-Minute Call

Select a date

November 2026
Mon
Tue
Wed
Thu
Fri
Sat
Sun
← Back to Blog

Related Posts

What Subiekt nexo and Subiekt GT cost in 2026: licence prices, the Abonament, and the 30 days that raise the renewal by half
Blog

What Subiekt nexo and Subiekt GT cost in 2026: licence prices, the Abonament, and the 30 days that raise the renewal by half

Subiekt nexo for 3 workstations is 1 275 zł net, Subiekt GT 1 045 zł, nexo PRO 2 575 zł. Those are perpetual licences, and then there's the yearly Abonament: 349 zł for nexo if you renew within 30 days of expiry, 539 zł if later. Plus Sfera (the API), the accounting-office client licences, and a comparison with Optima and enova365.

Read more→
What Comarch ERP Optima costs in 2026: the subscription list, Basic vs Pro, and three costs it leaves out
Blog

What Comarch ERP Optima costs in 2026: the subscription list, Basic vs Pro, and three costs it leaves out

Optima's price list is public: Podstawowy 59 zł a month, Logistyka Basic 75 zł, Księga Handlowa 175 zł. The catch is the word Pro: it's a top-up on Basic, not a separate tier, so full accounting in Finanse costs 250 zł, not 200. Plus the Podstawowy limits, how HR counts employees for accounting offices, and two worked examples.

Read more→
December pay paid in January 2027: a 2026 or a 2027 cost? The 8 January payday and ZUS by 15 or 22 February
Blog

December pay paid in January 2027: a 2026 or a 2027 cost? The 8 January payday and ZUS by 15 or 22 February

December payroll paid in January is a 2026 cost, but only if the pay leaves on the date in the client's pay rules and the ZUS contributions reach ZUS on time. 10 January 2027 is a Sunday, so the statutory deadline ends on Friday 8 January. The same pay lands in the employee's 2027 PIT-11. Here's what an office checks in December and in February.

Read more→