Lost invoices
Fire-and-forget calls in the request: when KSeF returns an error or timeout, the invoice vanishes and no one knows.
From Feb 1, 2026, KSeF is mandatory in Poland for large taxpayers; from Apr 1, 2026 for all VAT payers. We wire you into the state system so it can withstand outages, rate limits, and overnight runs — not a fire-and-forget script that breaks on the first error.
KSeF is an async, rate-limited state system that goes down and has its own state. Naive integration sends the invoice in an HTTP request and hopes. When it fails, nobody finds the invoice — and with mandatory e-invoicing, that's a straight path to a fine.
Fire-and-forget calls in the request: when KSeF returns an error or timeout, the invoice vanishes and no one knows.
KSeF has outages and rate limits. Without retry and queuing, your entire invoicing stops.
Without verification that "reality matches", you don't know if every invoice actually arrived and has UPO confirmation.
We treat external calls as durable, idempotent, persisted units of work — never fire-and-forget. We wrap foreign SDKs in an anti-corruption layer, so their quirks don't leak into your business logic.
Every call has a deterministic idempotency key — no duplicate invoices even on retry.
Transient errors and timeouts retry with exponential backoff, not hand-written loops.
Shared token-bucket respects KSeF API limits even when running on multiple instances.
Periodic verification that every invoice has confirmation and none are stuck in "pending" state.
We track submission status through to UPO confirmation — you have proof the state accepted it.
Structured event on every state transition + alerts on terminal-failure and stuck states.
For TrafinOil, 40,000+ invoices run through KSeF, 100% delivered. During forensic recovery we also retrieved 15,141 documents a previous pipeline had silently lost. We cut the overnight data loader from 20 hours to 30 minutes — retry, reconciliation and monitoring run in production.
Tell us what you're solving — what system you have and where you invoice. We'll respond within 24 hours with a concrete proposal, not a 90-minute pitch deck.
Tell us what you're solving — what system you have and where you invoice. We'll respond within 24 hours with a concrete proposal, not a 90-minute pitch deck.