KSeF Guard: when to resubmit an invoice
Counts the resubmission deadline of invoices issued outside KSeF (Poland's e-invoicing system). Data stays in your browser.
- Type
- Our own project
- Who it is for
- Companies and their accountants, when an invoice is issued outside KSeF
- Built
- 2026
- Similar project
- Application or system: from 15,000 PLN. Studio pricing and contact
At a glance
Every invoice issued outside KSeF gets a verdict: resubmission deadline kept or missed.
A KSeF outage changes your deadline, and sometimes lifts it
Missing a deadline carries a fine of up to 100% of the invoice VAT. It is due to take effect on 1 January 2027. A government bill (print no. 3245) would move that to 1 January 2028; it has not passed.
Four modes outside KSeF
| Mode | Legal basis |
|---|---|
| offline24 | art. 106nda ust. 2 |
| Announced unavailability | art. 106nh ust. 2 |
| Announced failure | art. 106nf ust. 4 |
| Total failure | art. 106ng: no duty to resubmit |
A total failure announced before you manage to resubmit an invoice lifts the duty to resubmit.
From invoice import to PDF proof
Invoice import
An FA(3) XML or CSV file (2 MB limit) or an invoice added by hand.
Deadline engine
The timeline shows 28 days with the number of deadlines on each day.
PDF proof
The invoice's evidence chain and a verdict on whether the deadline was met.
KSeF Guard does not replace UPO or the Ministry of Finance's official tools.
A ledger that never leaves the browser
- 0
- network requests with invoice data sent by the app itself; the exception is the KOD I link that you click
- live
- KSeF status from the MF Latarnia; when it is silent, the status is unknown, never sample data
There is no account, no sign-in and no cloud copy. The tool is free, with no card and no invoice limit.
For engineers: the technology stack
| Layer | Choice | What it does |
|---|---|---|
| Framework | Next.js (App Router) | Deadlines are computed on your side, so the register works on a weak connection too. |
| Data | Dexie (IndexedDB) | Invoices and clients stay on your device, with no account and no cloud. |
| Backup | File System Access API | In Chrome and Edge a backup is written after every change into a folder you pick; in other browsers you download the file. |
| KSeF status | MF Latarnia API via proxy | When the API goes quiet, the app shows the status as unknown and keeps computing deadlines from the local archive of announcements. |
The law, the sources and the full description
Deadlines and fines: the law and sources
KSeF has been mandatory since 1 February 2026 for firms with sales above 200 million PLN, and since 1 April 2026 for the rest (Ministry of Finance, gov.pl (opens in a new tab)). When the system is down, or an invoice is issued in offline24 mode, the document usually has to reach KSeF within a statutory deadline. Missing it carries a fine of up to 100% of the VAT on the invoice (art. 106ni ust. 1 pkt 3 of the VAT act). Under the act as it stands, that provision enters into force on 1 January 2027 (Dz.U. 2025 poz. 1203 (opens in a new tab) art. 2 pkt 5 lit. b). A government bill sent to the Sejm on 20 October 2026 (print no. 3245 (opens in a new tab)) moves that date to 1 January 2028. The Sejm has not passed it yet; the print page shows the current stage.
Four modes and the timeline
Computes the resubmission deadline in all four modes outside KSeF: offline24 (art. 106nda ust. 2), announced unavailability (art. 106nh ust. 2), announced failure (art. 106nf ust. 4) and total failure, where there is no duty to send at all (art. 106ng). The timeline shows 28 days with the number of deadlines on each day and the outage and downtime windows from MF announcements.
Invoice import
Load an FA(3) XML or CSV file (2 MB limit) or add an invoice by hand, in the order the law uses: mode, dates, invoice. You add the invoices to the register yourself, and nothing is sent to KSeF.
PDF proof
An open invoice shows its evidence chain: issue, MF announcement (except in offline24 mode), statutory deadline and submission. One click generates a PDF with the legal basis and a verdict on whether the deadline was met. The document is built entirely in the browser.
The calculator and total failure
You can work out a deadline before you enter an invoice: the calculator on the app's start page uses the same engine as the register, and one link carries its mode and date into the invoice form. A total failure announced before you manage to send an invoice lifts that duty. The ledger then cites the provision that fits the invoice's own mode: art. 106nha pkt 2, art. 106nh ust. 3 pkt 2 or art. 106nf ust. 7. KSeF Guard does not replace UPO or the Ministry of Finance's official tools: it organizes the obligations the law leaves on your side.
Data and network traffic
0 network requests with invoice data are sent by the app itself: the ledger lives in your browser's own storage. KSeF status comes straight from the Ministry of Finance Latarnia. When Latarnia does not answer, the app shows the status as unknown, never as sample data. The only network traffic the app sends by itself is the public KSeF status from Latarnia. The exception is up to you. When you click a KOD I link to the Ministry of Finance's service, your browser sends it the seller's NIP, the issue date and the invoice file hash. There is no account, no sign-in and no cloud copy. The tool is free, with no card and no invoice limit.
