Skip to main content

KSeF 2.0 and Odoo: practical guides

15 guides on KSeF 2.0 and Odoo (Odoo 17, 18, 19 and 20): error guides, comparisons and versions. Every figure is checked in the source code or the linked source.

Error guides

Dates in FA(3): P_1, P_6 and DataWytworzeniaFaDate rules in the FA(3) 1-0E schema and in KSeF: P_1 in Polish time, P_6, DataWytworzeniaFa from 2025-09-01. When they give 450 and how Odoo 18-20 fill them.The buyer in FA(3): identifier, JST and GV in Podmiot2The buyer in the FA(3) 1-0E schema: NIP, EU VAT number, other tax ID or BrakID, plus JST and GV. The NIP checksum in KSeF and what Odoo 18-20 write.KSeF codes 410 and 415: seller permissions and attachmentsKSeF 410 “Nieprawidłowy zakres uprawnień” and 415 for invoices with attachments: what triggers them in the Ministry's tests and what to check in Odoo 18-20.KSeF code 440: “Duplikat faktury”KSeF code 440: an invoice with the same seller NIP, type and number is already in the system. How KSeF counts it, what Odoo 18, 19 and 20 show and how to solve it.KSeF code 450: “Błąd weryfikacji semantyki dokumentu faktury”KSeF code 450 means the FA(3) invoice was rejected after its content was checked. Where the real reason is, what Odoo 18, 19 and 20 do not show and how to send it again.KSeF authentication statuses: 415, 425, 450, 470 and 480KSeF 2.0 sign-in statuses besides certificates: no permissions, revoked, bad token, blocked. Codes 21301 and 21304 and how they look in Odoo 18-20.Signing in to KSeF with a certificate: code 460 and XAdES signature errorsKSeF code 460 and exceptions 9101-9105, 21111, 21115, 21117, 21217, 21401 and 21406 at certificate sign-in. What Odoo 18-20 do not show and what to check.KSeF HTTP 429, 403 and 401: request limits and access deniedKSeF 2.0 answers 429 Too Many Requests over the limit, 403 with a reasonCode when access is missing and 401 on an expired token. Limits and what Odoo does.Technical invoice statuses in KSeF: 550, 500, 405, 430 and 435KSeF invoice statuses unrelated to its content: 550 “Operacja została anulowana przez system”, 500, 405, 430 and 435. What Odoo does and why 550 stays in Sent.KSeF exceptions when sending an invoice: 21405, 21180, 21184 and the restKSeF exceptions when sending an invoice: 21405, 21001, 21155, 21166, 21167, 21173, 21180, 21184, 21402 and 21403. What they mean and how Odoo 18-20 show them.

Comparisons

KSeF 2.0: token, KSeF certificate or Trusted Profile? How to chooseHow to choose the access method for KSeF 2.0 for your company and for Odoo: Trusted Profile, qualified signature, national node, token or KSeF certificate.Poland KSeF 2.0 Validator: what it covers, what it doesn't and whether it fits your OdooWhat Poland KSeF 2.0 Validator covers and what it does not, what you need before installing it and which Odoo version it fits.How Poland KSeF 2.0 Validator works in Odoo: menus, scheduled action and a record's pathThe menus Poland KSeF 2.0 Validator adds to Odoo, its scheduled action, what it validates in FlexigoTech Cloud and what it leaves to l10n_pl_edi to send.

Versions

KSeF 2.0: the 2026 and 2027 timeline, and what to prepare in Odoo for each dateOfficial KSeF 2.0 dates in Poland (February and April 2026, January 2027), the postponed penalties and what to have ready in Odoo for each one.KSeF in Odoo 17, 18, 19 and 20: what changes with your versionKSeF differences between Odoo 17 and Odoo 18, 19 and 20: native sending with l10n_pl_edi, where the validated FA(3) comes from and what the module does in each version.