ValidateFin

KSeF — invoice still using the retired FA(2) schema

Il più comune errore di migrazione a KSeF: una fattura formalmente ineccepibile che dichiara ancora il namespace FA(2), ritirato il 1° febbraio 2026. Nulla sembra sbagliato finché KSeF non la rifiuta. Si noti ciò che FA(3) ha aggiunto e qui manca: Podmiot2 richiede ora JST e GV.

FA(2) 1-0E — Non valido

Il più comune errore di migrazione a KSeF: una fattura formalmente ineccepibile che dichiara ancora il namespace FA(2), ritirato il 1° febbraio 2026. Nulla sembra sbagliato finché KSeF non la rifiuta. Si noti ciò che FA(3) ha aggiunto e qui manca: Podmiot2 richiede ora JST e GV.

Fattura KSeF (Polonia, FA(3)) FA(2) 1-0E KSeF — retired schema (until 31 Jan 2026)Risultato atteso: Non valido — 1 errori

Cosa mostra questo file

Il più comune errore di migrazione a KSeF: una fattura formalmente ineccepibile che dichiara ancora il namespace FA(2), ritirato il 1° febbraio 2026. Nulla sembra sbagliato finché KSeF non la rifiuta. Si noti ciò che FA(3) ha aggiunto e qui manca: Podmiot2 richiede ora JST e GV.

I difetti che contiene

  • FA(2)this file uses the FA(2) schema

Citato alla lettera dal validatore, non parafrasato.

Ultima verifica: Licenza: CC-BY-4.0

Tutte le parti, gli IBAN e gli importi qui sotto sono fittizi. Gli IBAN sono strutturalmente validi — superano il mod-97 — ma non corrispondono ad alcun conto reale.

Contenuto del file

<?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>

Come sappiamo che questi risultati reggono

Ogni file di questa libreria passa nel validatore del sito a ogni build. Il risultato atteso indicato sopra è verificato da un test automatico: se un file smettesse di corrispondere a quanto afferma questa pagina, la build fallirebbe. Due fixture ereditate sono state riparate così prima della pubblicazione: tre IBAN non superavano il mod-97 e diversi nomi usavano caratteri fuori dal set SEPA di base.

Fattura KSeF (Polonia, FA(3))