In-house project: software we built and run ourselves.
KSeF Guard
When KSeF (Poland's national e-invoicing system) has an outage, or you issue an invoice in offline24 mode, the law gives you a hard deadline to resubmit it. KSeF Guard keeps a ledger of those deadlines and generates PDF proof, and all the data stays in your browser.

A KSeF outage does not cancel your deadline
KSeF becomes mandatory in 2026. When the system is down, or an invoice is issued in offline24 mode, the document still has to reach KSeF within a statutory deadline, and missing it risks a penalty. Existing tools only monitor system uptime; none of them track the resubmission deadline of a specific invoice. Accounting offices and companies keep this in spreadsheets today. KSeF Guard turns it into a ledger with live status and written proof.
From invoice import to PDF proof
Load an FA(3) XML or CSV file (2 MB limit), or add an invoice by hand. Clients come with NIP (tax ID) validation.
For invoices issued in offline24 mode or during KSeF outages, it computes the resubmission deadline from art. 106nda and 106nf of the Polish VAT act. Statuses: pending, at risk, overdue, submitted.
One click generates a document with the deadline and submission date, computed and assembled entirely in the browser.
The KSeF outage timeline is built from Latarnia API notices plus a local archive, so you can see which outage window a given invoice falls into. KSeF Guard does not replace UPO or the Ministry of Finance's official tools: it organizes the obligations the law leaves on your side.
Local-first: a ledger that never leaves the browser
network requests with invoice data: the ledger lives in your browser's IndexedDB, nothing reaches a server.
tests passing, with full coverage of the deadline engine, because a miscomputed deadline is a real penalty.
KSeF status straight from the Ministry of Finance Latarnia API, with graceful fallback to sample data.
Invoice data never leaves the device: the app's only network traffic is the public KSeF status from the Latarnia API. The beta is free.
Check these numbers yourself in the live demoEvery choice has a reason
Got a nagging problem? Describe it, I'll code the rest.
One sentence is enough to start. Tell me what's bothering you. Within 48 hours I come back with a clear answer: can it be done, and at what fixed price.