KSEF-XSD-VAT: P_12: stawka podatku w pozycji
P_12 opisuje stawkę lub szczególne oznaczenie podatku w pozycji FaWiersz. To słownik tekstowy z konkretnymi pozycjami, a nie dowolna liczba z symbolem procentu. Dlatego 23 jest dozwolone, natomiast 23% w testowej mutacji nie pasuje do wyliczenia. Lista zawiera także oznaczenia z odstępami, takie jak 0 KR i 0 WDT; ich dokładna postać ma znaczenie. Sprawdź pełny typ zamiast usuwać wszystkie znaki nienumeryczne ze stawki. W przykładzie pozycja opisuje usługę testową, a jej netto wynosi 100.00. Zmiana P_12 pozostawia ilość i cenę bez zmian. Schemat kontroluje dopuszczalną reprezentację, lecz nie ustala stawki właściwej dla konkretnego towaru lub usługi. Dobór stawki i obliczenie podatku wymagają odrębnych ustaleń. Popraw mapowanie kodów w systemie wystawcy tak, aby format ekranowy z procentem nie trafiał wprost do XML.
Deklaracja XSD i ograniczenia
Deklaracja P_12: typ tns:TStawkaPodatku, wystąpienia 0..1. Ograniczenia: base=tns:TZnakowy, base=xsd:token, minLength=1, maxLength=240. Liczba wartości w pokazanych wyliczeniach: 14.
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="P_12" type="tns:TStawkaPodatku" minOccurs="0">
</xsd:element><xsd:simpleType xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TStawkaPodatku">
<xsd:restriction base="tns:TZnakowy">
<xsd:enumeration value="23" />
<xsd:enumeration value="22" />
<xsd:enumeration value="8" />
<xsd:enumeration value="7" />
<xsd:enumeration value="5" />
<xsd:enumeration value="4" />
<xsd:enumeration value="3" />
<xsd:enumeration value="0 KR">
</xsd:enumeration>
<xsd:enumeration value="0 WDT">
</xsd:enumeration>
<xsd:enumeration value="0 EX">
</xsd:enumeration>
<xsd:enumeration value="zw">
</xsd:enumeration>
<xsd:enumeration value="oo">
</xsd:enumeration>
<xsd:enumeration value="np I">
</xsd:enumeration>
<xsd:enumeration value="np II">
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType><xsd:simpleType xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TZnakowy">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1" />
<xsd:maxLength value="240" />
</xsd:restriction>
</xsd:simpleType>Kontrolowana para przykładów
Własna para syntetyczna KSEF-XSD-VAT: błędny pełny XML nie przechodzi kontroli, a poprawiony dokument przechodzi ten sam schemat FA(3) 1-0E. Zmienione pole: Fa/FaWiersz/P_12.
Błędny fragment
<ns0:P_12 xmlns:ns0="http://crd.gov.pl/wzor/2025/06/25/13775/">23%</ns0:P_12>Poprawny fragment
<ns0:P_12 xmlns:ns0="http://crd.gov.pl/wzor/2025/06/25/13775/">23</ns0:P_12>Powiązane pola i objaśnienia
Komunikat i miejsce w raporcie
Element '{http://crd.gov.pl/wzor/2025/06/25/13775/}P_12': [facet 'enumeration'] The value '23%' is not an element of the set {'23', '22', '8', '7', '5', '4', '3', '0 KR', '0 WDT', '0 EX', 'zw', 'oo', 'np I', 'np II'}.Raport JSON: errors[].code wskazuje KSEF-XSD-VAT, errors[].message zachowuje angielski tekst, a errors[].line podaje wiersz, jeżeli silnik go udostępnia. Interfejs pokazuje komunikat w sekcji wyników kontroli XSD.