KSeF statuses¶
When you issue an invoice, kweno.app sends it to KSeF (Poland's National e-Invoicing System) and KSeF processes it in the background. The result is not instant: the invoice moves through a series of statuses, and kweno.app updates the KSeF badge automatically as each stage completes. This page explains what each status means and what to do next.
How processing works¶
Issuing an invoice with Issue invoice and send to KSeF immediately sets the KSeF status to KSeF: pending and hands the invoice to KSeF. From there, everything is asynchronous — KSeF submits, validates and (if all is well) registers the invoice, and kweno.app keeps checking for the outcome. You do not need to press anything while this happens; the badge refreshes on its own.
- On the Invoice dialog, the status refreshes about every 3 seconds while the invoice is pending or processing, and stops once it reaches a final result.
- On the Invoices list, the badge refreshes about every 2 seconds while any invoice is pending or processing (and while a PDF is being prepared).
Note
Correctives behave exactly the same way. A corrective invoice flows through KSeF with the same five statuses and the same badge. See Corrective invoices.
There are exactly five statuses. The first two (pending, processing) are in-progress states; the last three (accepted, rejected, error) are final outcomes.
The five statuses at a glance¶
| Badge | Stage | What it means | What to do |
|---|---|---|---|
| KSeF: pending | In progress | The invoice is queued and awaiting submission to KSeF. | Wait — the badge updates on its own. |
| KSeF: processing | In progress | The invoice has been submitted; KSeF is processing it and deciding whether to accept it. | Wait — the badge updates on its own. |
| KSeF: accepted | Final — success | KSeF accepted the invoice. It is now an official, registered e-invoice. | Nothing required. You can download the documents and mark the invoice paid. |
| KSeF: rejected | Final — failure | KSeF rejected the invoice. It reverts to Draft status, but the rejected invoice is read-only. | Read the rejection reason, fix the underlying cause, then click Issue invoice to generate a fresh draft and issue it again. |
| KSeF: error | Final — failure | A technical error occurred while sending. The invoice stays Issued. | Use Retry to send it again. |
Note
In the Invoices list, an invoice that has not been sent to KSeF at all shows a dash (-) in the KSeF column instead of a badge.
KSeF: pending¶
KSeF: pending is the first state, set the moment you issue the invoice. The invoice is queued and waiting to be submitted to KSeF. This is normal and usually brief. No action is needed — leave the dialog open (or the Invoices list) and the badge will change on its own.
KSeF: processing¶
KSeF: processing means the invoice has reached KSeF and is being validated and processed. KSeF is deciding whether to accept it. As with pending, no action is needed; wait for the badge to settle on a final status.
KSeF: accepted¶
KSeF: accepted is the successful outcome: KSeF has registered the invoice as an official e-invoice. Once an invoice is accepted, kweno.app records the details KSeF returns and unlocks its documents.
To see the details, open the small info button next to the badge (Show KSeF details). When present, it shows:
- KSeF number — the official reference number KSeF assigned to the invoice.
- KSeF acquisition timestamp — the date and time KSeF acquired (registered) the invoice.
- KSeF QR code — a verification QR code, with an Open QR verification page link that opens the official KSeF verification page in a new tab.
- Download UPO — downloads the UPO (the official confirmation of receipt) as an XML file. This is only available once the invoice is accepted.
Documents available after acceptance¶
| Document | Where | Notes |
|---|---|---|
| Download UPO | KSeF details popover | The official receipt confirmation, saved as an XML file. Available only after acceptance. |
| Download PDF | Invoices list | The invoice PDF. It is prepared in the background after acceptance, so it may not be ready the instant the invoice is accepted. |
Tip
Marking an invoice paid is only possible after it is Issued and KSeF: accepted. Until then, the Paid column shows a dash. See Invoices & KSeF.
When an invoice is accepted, kweno.app also assigns it to the event as the event's registered invoice.
KSeF: rejected¶
KSeF: rejected means KSeF refused to register the invoice — for example, because of a validation problem with its contents. When this happens, kweno.app reverts the invoice to Draft status. The rejected invoice itself stays read-only — you re-issue by generating a fresh draft.
What to do:
- Open the Show KSeF details popover and read the KSeF error message — this explains why KSeF rejected the invoice.
- Fix whatever caused the rejection at its source — for example the client or business data, or the event's costs and working time. The rejected invoice itself is read-only, so you cannot edit it directly.
- On the Invoices list, click Issue invoice (offered specifically after a rejection) to generate a fresh draft, rebuilt from the event's current data.
- Review the new draft (dates, payment, VAT details, annotations) and issue it.
The rejection reason comes from KSeF, not from kweno.app
The text shown under KSeF error for a rejected invoice is returned directly by KSeF and is different from case to case — it is not a fixed kweno.app message. Read it verbatim to understand exactly what KSeF objected to before you re-issue.
KSeF: error¶
KSeF: error means a technical problem occurred while sending the invoice to KSeF — as opposed to KSeF deliberately rejecting its contents. Unlike a rejection, an error does not revert the invoice: it stays Issued.
What to do:
- Open the invoice and look for the Retry button — it appears whenever the KSeF status is KSeF: error.
- Press Retry to send the invoice to KSeF again.
- Watch the badge: it goes back through KSeF: pending / KSeF: processing and then settles on KSeF: accepted, KSeF: rejected, or KSeF: error again.
The details popover shows the underlying KSeF error text.
The error text comes from KSeF, not from kweno.app
Like the rejection reason, the message shown under KSeF error is produced by KSeF itself and varies from case to case — it is not a fixed kweno.app string.
Troubleshooting¶
- The badge is stuck on KSeF: pending or KSeF: processing. These are in-progress states and clear on their own. Keep the Invoice dialog or the Invoices list open so the status can refresh; a final result will follow.
- The invoice went back to Draft. That is a KSeF: rejected outcome. Read the KSeF error in the details popover, fix the invoice, and re-issue with Issue invoice.
- The invoice is still Issued but has KSeF: error. This is a send-time technical problem, not a content rejection. Use Retry to send it again.
- Issuing fails before any KSeF status appears. Sending to KSeF requires a valid KSeF certificate configured for issuing. See KSeF certificates.
- Download PDF is disabled just after acceptance. The PDF is generated in the background after KSeF: accepted; wait for the button to become available.