← Înapoi la dicționar
cvc-complex-type-2-4-a Fatal Erori de schemă XSD

Lipsește un element copil obligatoriu

Referință: XML Schema Part 1, §3.4.5

Ce înseamnă

Validatorul XSD a întâlnit un element care nu are toți copiii pe care îi cere schema. Un mesaj tipic arată cam așa:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'cac:PaymentMeans'.
One of '{...}AccountingSupplierParty' is expected.

Asta înseamnă: la nivelul curent al XML-ului, schema aștepta un anumit element (în exemplu, AccountingSupplierParty), dar a găsit altul (PaymentMeans). Cel mai probabil ai sărit peste un element obligatoriu sau l-ai pus în ordinea greșită.

Cauze frecvente

  • Element obligatoriu sărit — ex: ai uitat <cac:AccountingSupplierParty> sau <cac:AccountingCustomerParty>
  • Ordine greșită — UBL 2.1 are o ordine strictă pentru elementele copil. Vezi secțiunea de mai jos.
  • Element pus în namespace greșitcbc: în loc de cac: sau invers

Ordinea elementelor în UBL Invoice / CreditNote

Pentru o factură (Invoice), ordinea aproximativă a copiilor de prim nivel este:

  1. cbc:UBLVersionID, cbc:CustomizationID, cbc:ProfileID
  2. cbc:ID
  3. cbc:IssueDate, cbc:DueDate
  4. cbc:InvoiceTypeCode (sau cbc:CreditNoteTypeCode pentru CreditNote)
  5. cbc:DocumentCurrencyCode
  6. cac:BillingReference (obligatoriu pentru CreditNote)
  7. cac:AccountingSupplierParty
  8. cac:AccountingCustomerParty
  9. cac:PaymentMeans
  10. cac:TaxTotal
  11. cac:LegalMonetaryTotal
  12. cac:InvoiceLine (sau cac:CreditNoteLine)

Dacă pui PaymentMeans înainte de AccountingSupplierParty, primești această eroare.

Cum se rezolvă

  1. Citește mesajul cu atenție: îți spune ce element era așteptat la acel punct. Verifică dacă acesta lipsește sau dacă următorul element este în afara secvenței.
  2. Verifică ordinea elementelor copil împotriva schemei UBL.
  3. Asigură-te că prefixele de namespace (cbc: vs cac:) corespund — schema le tratează ca elemente diferite.
  4. Folosește validatorul nostru la /validare-xml-efactura ca să vezi toate erorile structurale simultan, nu doar prima.

Verifică dacă XML-ul tău are această eroare

Încărcăm fișierul, rulăm aceleași reguli EN16931 pe care le folosește ANAF și îți arătăm toate codurile găsite.

Validează gratuit