KSeF — invoice still using the retired FA(2) schema
L’échec de migration KSeF le plus fréquent : une facture parfaitement bien formée, mais qui déclare encore l’espace de noms FA(2), retiré le 1er février 2026. Rien ne semble anormal jusqu’au rejet par KSeF. À noter, ce que FA(3) a ajouté et qui manque ici : Podmiot2 exige désormais JST et GV.
FA(2) 1-0E — Invalide
L’échec de migration KSeF le plus fréquent : une facture parfaitement bien formée, mais qui déclare encore l’espace de noms FA(2), retiré le 1er février 2026. Rien ne semble anormal jusqu’au rejet par KSeF. À noter, ce que FA(3) a ajouté et qui manque ici : Podmiot2 exige désormais JST et GV.
Ce que montre ce fichier
L’échec de migration KSeF le plus fréquent : une facture parfaitement bien formée, mais qui déclare encore l’espace de noms FA(2), retiré le 1er février 2026. Rien ne semble anormal jusqu’au rejet par KSeF. À noter, ce que FA(3) a ajouté et qui manque ici : Podmiot2 exige désormais JST et GV.
Les défauts qu’il porte
- FA(2)this file uses the FA(2) schema
Cité mot pour mot depuis le validateur, sans reformulation.
Toutes les parties, IBAN et montants ci-dessous sont fictifs. Les IBAN sont structurellement valides — ils passent le mod-97 — mais ne correspondent à aucun compte réel.
Contenu du fichier
<?xml version="1.0" encoding="UTF-8"?>
<!--
DELIBERATELY OUT OF DATE. This invoice uses the retired FA(2) schema
(namespace http://crd.gov.pl/wzor/2023/06/29/12648/), which KSeF stopped
accepting on 1 February 2026 when FA(3) replaced it.
It is published as a sample because this is the single most common failure when
migrating: the file still looks fine, but the schema is the old one. Note also
what FA(3) added and this file therefore lacks — Podmiot2 now requires JST and GV.
-->
<Faktura xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2022/01/05/eD/DefinicjeTypy/"
xmlns="http://crd.gov.pl/wzor/2023/06/29/12648/">
<Naglowek>
<KodFormularza kodSystemowy="FA (2)" wersjaSchemy="1-0E">FA</KodFormularza>
<WariantFormularza>2</WariantFormularza>
<DataWytworzeniaFa>2026-01-15T09:30:00Z</DataWytworzeniaFa>
<SystemInfo>Legacy ERP 4.2</SystemInfo>
</Naglowek>
<Podmiot1>
<DaneIdentyfikacyjne>
<NIP>9999999999</NIP>
<Nazwa>ABC AGD sp. z o. o.</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>ul. Kwiatowa 1 m. 2</AdresL1>
<AdresL2>00-001 Warszawa</AdresL2>
</Adres>
</Podmiot1>
<Podmiot2>
<DaneIdentyfikacyjne>
<NIP>1111111111</NIP>
<Nazwa>CDE sp. j.</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>ul. Sadowa 1 lok. 3</AdresL1>
<AdresL2>00-002 Kraków</AdresL2>
</Adres>
</Podmiot2>
<Fa>
<KodWaluty>PLN</KodWaluty>
<P_1>2026-01-15</P_1>
<P_2>FV/2026/01/88</P_2>
<P_13_1>1000.00</P_13_1>
<P_14_1>230.00</P_14_1>
<P_15>1230.00</P_15>
<Adnotacje>
<P_16>2</P_16>
<P_17>2</P_17>
<P_18>2</P_18>
<P_18A>2</P_18A>
<Zwolnienie>
<P_19N>1</P_19N>
</Zwolnienie>
<NoweSrodkiTransportu>
<P_22N>1</P_22N>
</NoweSrodkiTransportu>
<P_23>2</P_23>
<PMarzy>
<P_PMarzyN>1</P_PMarzyN>
</PMarzy>
</Adnotacje>
<RodzajFaktury>VAT</RodzajFaktury>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>lodówka Zimnotech mk1</P_7>
<P_8A>szt.</P_8A>
<P_8B>1</P_8B>
<P_9A>1000.00</P_9A>
<P_11>1000.00</P_11>
<P_12>23</P_12>
</FaWiersz>
</Fa>
</Faktura>
Comment nous savons que ces résultats tiennent
Chaque fichier de cette bibliothèque passe dans le validateur du site à chaque build. Le résultat attendu annoncé ci-dessus est vérifié par un test automatisé : si un fichier cessait de correspondre à ce que cette page affirme, le build échouerait. Deux fixtures héritées ont été réparées ainsi avant publication : trois IBAN échouaient au mod-97 et plusieurs libellés utilisaient des caractères hors du jeu SEPA de base.
Facture KSeF (Pologne, FA(3))
- KSeF FA(3) — valid invoice (official MF example)
- KSeF FA(3) — bad NIP check digit and mismatched total (warnings only)
- KSeF FA(3) — correcting invoice (faktura korygująca, KOR)
- KSeF FA(3) — prepayment invoice (faktura zaliczkowa, ZAL)
- KSeF FA(3) — mandatory element missing (rejected by the official XSD)
- KSeF FA(3) — buyer NIP failing its mod-11 check digit (warning only)