Error codes · KSeF 2.0 · Poland

KSeF UPO (Urzędowe Poświadczenie Odbioru) not found in Poland

This is the rejection, word for word: „[KSEF-21178] You requested the UPO (Urzędowe Poświadczenie Odbioru — the official acceptance confirmation) for a KSeF invoice, but the system could not find a UPO matching the provided criteria. Either the invoice has not yet been assigned a UPO, or the search parameters (referenceNumber, KSeF number, sessionReferenceNumber) do not identify a valid invoice.“

Why this matters in Poland

Poland requires e-invoicing using KSeF XML format. An invoice with this error is rejected; it cannot be processed under Poland's rules.

The UPO is the legal proof of receipt for a KSeF invoice — the Polish equivalent of a Peppol MLR. Downstream systems (accounting, archiving, dispute handling) rely on the UPO to confirm the invoice is officially in circulation. A UPO not-found error blocks that entire downstream chain.

What to have readyThe correct figures from your bookkeeping; we show you which field is affected.
What we doVerify the invoice reached terminal status before requesting UPO. Check the KSeF number format and the requesting user permissions.

How to fix KSEF-21178

01
02
03
04
05

Poland e-invoicing requirements

PhaseStatusScope
KSeF voluntaryLive (Jan 2022)All VAT payers (opt-in)
B2B mandatory — Phase 1Live (Feb 1, 2026)Large taxpayers (>200M PLN turnover)
B2B mandatory — Phase 2Live (Apr 1, 2026)All remaining VAT-registered entities (SMEs, sole proprietors, VAT-exempt businesses)
B2GLive (Feb 1, 2026)Included in general KSeF mandate
Financial penaltiesJan 1, 2027Up to 100% of VAT amount on non-compliant invoices

Known causes

Polling for UPO before the invoice has been fully processed
Wrong KSeF number passed — often confusing invoice reference with KSeF number
Missing permissions on the technical user requesting the UPO
Batch session not yet closed
Invoice was rejected — UPO is never issued for rejected invoices