Factură e-Factura respinsă în SPV: ce faci, pas cu pas
După încărcare, SPV îți dă un index de încărcare, iar starea facturii devine ok (validată, trimisă cumpărătorului) sau nok (respinsă). La nok descarci din SPV arhiva ZIP cu mesajul de eroare: în ea e un fișier XML cu una sau mai multe erori.
Două feluri de erori
- Reguli de business, cu codul între paranteze drepte –
[BR-RO-110],[BR-CO-15],[BR-S-08]. Fiecare are o pagină: lista codurilor de eroare e-Factura (CIUS-RO, EN 16931, Peppol), cu ce înseamnă și cum o repari. - Erori de schemă sau de XML, în engleză, cu nume ca
cvc-complex-type.2.4.asau „Content is not allowed in prolog”. Vin de la parserul Java al ANAF; fișierul a fost oprit înainte de regulile de business. Le explicăm mai jos.
Erorile de schemă și XML
| Mesaj | Ce înseamnă |
|---|---|
cvc-complex-type.2.4.a | element neașteptat (ordine greșită sau element lipsă) |
cvc-complex-type.2.4.b | elementul nu e complet (lipsește un sub-element obligatoriu) |
cvc-complex-type.2.4.d | element în plus sau la final |
cvc-complex-type.4 | atribut obligatoriu lipsă (de obicei currencyID) |
cvc-complex-type.3.2.2 | atribut nepermis pe element |
cvc-datatype-valid.1.2.1 | valoare în format greșit (dată, sumă, cod) |
cvc-elt.1.a | „Cannot find the declaration of element 'Invoice'” – namespace greșit |
Content is not allowed in prolog | ceva înainte de <?xml |
Invalid byte 1 of 1-byte UTF-8 sequence | fișierul nu e salvat în UTF-8 |
The element type "cbc:IssueDate" must be terminated by the matching end-tag "</cbc:IssueDate>" | XML nevalid (tag neînchis) |
Ce faci, pas cu pas
- Descarcă mesajul de eroare din SPV și citește toate erorile, nu doar prima.
- Pentru erorile de schemă: repară-le întâi – cât timp există, ANAF nu ajunge la regulile de business, deci după corectare pot apărea erori noi de tip BR-….
- Pentru codurile BR-…: caută codul în lista de erori; pentru sume, pagina spune și cum se calculează valoarea corectă.
- Corectează în programul de facturare (sau în datele de bază: client, produs, cotă TVA), nu doar în XML.
- Validează din nou înainte de încărcare – verificatorul de mai jos găsește toate erorile odată.
- Încarcă din nou factura corectată în SPV, în termenul de transmitere.
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
O factură respinsă în SPV e considerată transmisă?
Nu: factura cu erori nu e înregistrată în RO e-Factura și nu ajunge la cumpărător. Trebuie corectată și încărcată din nou, în termenul de transmitere.
Retrimit factura corectată cu același număr?
De regulă da: factura respinsă nu a fost primită de cumpărător. Dacă ai emis-o deja și altfel (PDF trimis clientului), discută cu contabilul cum o tratezi.
Pot afla erorile înainte de încărcare?
Da: un validator cu aceleași reguli (CIUS-RO + EN 16931 + schema UBL) găsește erorile înainte, inclusiv pe cele de schemă pe care SPV le raportează doar una câte una.
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.4 la e-Factura: „Attribute 'currencyID' must appear on element”
- 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