KSEF-440:KSeF Duplicate Invoice Rejection (HTTP 440)
Fix: Ensure the invoice number (P_2) is unique per seller NIP and issue date combination. If this is a correction, use the correction invoice type with a reference to the original KSeF invoice number.
The KSeF system rejected your invoice because it detected a duplicate submission. KSeF checks the combination of seller NIP, invoice number, and invoice date against all invoices submitted in the last 10 years. If a match is found, the API returns HTTP status 440 and the invoice is not accepted.
Engine Classification
Financial or legal field · Modification blocked by policy
What is KSEF-440?
KSEF-440 is a fatal validation rule defined in the ksef specification (PL national rules). It validates the Send. element under online > Invoice in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: KSeF performs duplicate detection by hashing three fields: the seller's NIP (Numer Identyfikacji Podatkowej), the invoice number (P_2), and the invoice issue date (P_1). This check uses a 10-year lookback window. The FA(3) schema enforces these as mandatory fields, so the duplicate check always runs. The error is returned as an HTTP 440 status code from the KSeF REST API v2.0 endpoint /online/Invoice/Send.
Why This Error Matters
A duplicate rejection means your invoice was NOT registered in KSeF. The buyer will not receive it, and it will not count toward your VAT obligations. From February 2026 onward, only invoices with a valid KSeF reference number are legally recognized for B2B transactions in Poland.
KSEF-440 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Invoice not legally registered. Buyer cannot deduct VAT. Potential PLN 500 penalty per missing KSeF invoice.
Validator Behavior
- ·Causes invoice rejection
- ·Error returned: KSEF-440
- ·Specification: ksef
How to Fix It
Before / After
<Fa>\n <P_1>2026-03-25</P_1>\n <P_2>FV/2026/03/0041</P_2>\n</Fa>
<Fa>\n <P_1>2026-03-25</P_1>\n <P_2>FV/2026/03/0042</P_2>\n</Fa>
Technical Reference
KSeF performs duplicate detection by hashing three fields: the seller's NIP (Numer Identyfikacji Podatkowej), the invoice number (P_2), and the invoice issue date (P_1). This check uses a 10-year lookback window. The FA(3) schema enforces these as mandatory fields, so the duplicate check always runs. The error is returned as an HTTP 440 status code from the KSeF REST API v2.0 endpoint /online/Invoice/Send.Common Causes
- ·Retry after network timeout — the original submission succeeded but your system did not receive the confirmation.
- ·Invoice number reuse — the ERP system recycled or reset the invoice number sequence.
- ·Test/production environment confusion.
- ·Manual re-submission without checking status first.
Seeing this in production? The API handles KSEF-440 automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
KSeF detected another invoice with the same seller NIP, invoice number, and issue date within a 10-year lookback window.
Probably yes. Query the KSeF status endpoint with your original reference number to confirm.
Issue a correction invoice (faktura korygująca) that references the original KSeF number.
Invoice Navigator detects duplicate invoice numbers before submission and flags them.
Related Errors
Related Content
Last updated: 25 March 2026
Validate your invoice
Drop your XML here to check for KSEF-440
Detect KSEF-440 before submission
This error involves a financial field that can't be auto-modified. We'll flag it with a clear diagnosis so you can fix it at the source.