cvc-complex-type.4: atribut obligatoriu lipsă (de obicei currencyID)
Mesajul din SPV
cvc-complex-type.4: Attribute 'currencyID' must appear on element 'cbc:PayableAmount'.
Numele elementelor și listele din mesaj diferă de la factură la factură; codul de la început (cvc-complex-type.4) e același.
Ce înseamnă
Elementul din mesaj are un atribut obligatoriu care lipsește. La e-Factura aproape întotdeauna e currencyID: în UBL orice sumă (tipul AmountType) trebuie să spună moneda, chiar dacă moneda facturii e deja în cbc:DocumentCurrencyCode.
Cauze frecvente în e-Factura
- sume fără monedă:
cbc:LineExtensionAmount,cbc:TaxAmount,cbc:TaxableAmount,cbc:PriceAmount,cbc:PayableAmount,cbc:Amountdincac:AllowanceCharge; - atașamente:
cbc:EmbeddedDocumentBinaryObjectfărămimeCodeșifilename; - atributul scris greșit (
currencyId,CurrencyID) – atributele sunt case-sensitive.
Exemplu
Greșit:
<cbc:PayableAmount>1210.00</cbc:PayableAmount>
Corect:
<cbc:PayableAmount currencyID="RON">1210.00</cbc:PayableAmount>
Cum o repari
- Adaugă atributul numit în mesaj pe elementul numit în mesaj.
- Caută în tot fișierul și celelalte sume fără
currencyID– validatorul ANAF se poate opri la prima, iar la retrimitere primești următoarea. - Excepție:
cbc:TaxAmountdin al doileacac:TaxTotal(TVA în lei, la facturile în valută) arecurrencyID="RON", nu moneda facturii.
Verifică XML-ul înainte să-l încarci din nou
Lipește XML-ul facturii: vezi toate erorile odată (schemă UBL, CIUS-RO, EN 16931), cu corectura pentru fiecare. Gratuit, 3 verificări pe zi; fișierul nu e păstrat.
Întrebări frecvente
Ce valoare pun în currencyID?
Codul ISO 4217 al monedei facturii (RON, EUR, USD), același cu cbc:DocumentCurrencyCode, cu excepția totalului TVA în lei la facturile în valută.
Trebuie currencyID și pe cantități?
Nu: cantitățile (cbc:InvoicedQuantity) au unitCode, nu currencyID. currencyID e doar pe sume.
Alte erori din SPV
- cvc-complex-type.2.4.a la e-Factura: „Invalid content was found starting with element”
- cvc-complex-type.2.4.b la e-Factura: „The content of element … is not complete”
- cvc-complex-type.2.4.d la e-Factura: „No child element is expected at this point”
- cvc-complex-type.3.2.2 la e-Factura: „Attribute … is not allowed to appear in element”
- cvc-datatype-valid.1.2.1 la e-Factura: „is not a valid value for 'date'” / „'decimal'”
- cvc-elt.1.a la e-Factura: „Cannot find the declaration of element 'Invoice'”
- „Content is not allowed in prolog” la e-Factura: cauza și soluția
- „Invalid byte 1 of 1-byte UTF-8 sequence” la e-Factura: diacriticele
- „The element type … must be terminated by the matching end-tag” la e-Factura
- Factură respinsă în SPV (nok): cum citești eroarea și ce faci