ValidateFin

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

El fallo de migración a KSeF más habitual: una factura perfectamente bien formada que sigue declarando el espacio de nombres FA(2), retirado el 1 de febrero de 2026. Nada parece incorrecto hasta que KSeF la rechaza. Observe lo que FA(3) añadió y aquí falta: Podmiot2 ahora exige JST y GV.

FA(2) 1-0E — Inválido

El fallo de migración a KSeF más habitual: una factura perfectamente bien formada que sigue declarando el espacio de nombres FA(2), retirado el 1 de febrero de 2026. Nada parece incorrecto hasta que KSeF la rechaza. Observe lo que FA(3) añadió y aquí falta: Podmiot2 ahora exige JST y GV.

Factura KSeF (Polonia, FA(3)) FA(2) 1-0E KSeF — retired schema (until 31 Jan 2026)Resultado esperado: Inválido — 1 errores

Lo que muestra este fichero

El fallo de migración a KSeF más habitual: una factura perfectamente bien formada que sigue declarando el espacio de nombres FA(2), retirado el 1 de febrero de 2026. Nada parece incorrecto hasta que KSeF la rechaza. Observe lo que FA(3) añadió y aquí falta: Podmiot2 ahora exige JST y GV.

Los defectos que contiene

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

Citado literalmente del validador, sin parafrasear.

Última verificación: Licencia: CC-BY-4.0

Todas las partes, IBAN e importes siguientes son ficticios. Los IBAN son estructuralmente válidos —superan el mod-97— pero no corresponden a ninguna cuenta real.

Contenido del fichero

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

Cómo sabemos que estos resultados se sostienen

Cada fichero de esta biblioteca pasa por el propio validador del sitio en cada build. El resultado esperado indicado arriba lo verifica un test automatizado: si un fichero dejara de coincidir con lo que afirma esta página, el build fallaría. Dos fixtures heredadas se repararon así antes de publicarse: tres IBAN no superaban el mod-97 y varios nombres usaban caracteres fuera del juego SEPA básico.

Factura KSeF (Polonia, FA(3))