S.AM.2 Structuri comune (Structures)

Regula S.AM.2: CurrencyCode

În documentația oficială SAF-T publicată de ANAF, regula S.AM.2 stabilește ce trebuie să conțină elementul CurrencyCode din structurile comune (Structures) refolosite în mai multe secțiuni ale declarației informative D406. Validatorul DUKIntegrator aplică regula la fiecare depunere; pe această pagină găsești cerința oficială, citată ca atare, și eroarea tipică semnalată la validare.


Cum arată eroarea

Mesajul din raportul de validare are forma:

eroare atribut: : valoarea 'XX' nu se afla in lista

Forma mesajului este capturată dintr-o rulare reală a DUKIntegrator și păstrată ca în raportul original, fără diacritice.

Cum rezolvi

Structura de sume e comună întregului fișier, așa că un cod de valută greșit nu rămâne local: aceeași valoare pică în facturi, în plăți și în jurnal, peste tot unde apare moneda respectivă. Validarea se face contra nomenclatorului ISO4217CurrCodes, „doar codurile alfabetice”, deci „LEI”, „lei” sau „Euro” pur și simplu nu există pentru validator.

  1. Citește valoarea din <CurrencyCode>: trebuie să fie codul alfabetic din trei litere al standardului ISO 4217, ca EUR pentru euro sau USD pentru dolari americani; pentru leul românesc codul este RON.
  2. Scrie codul exact ca în nomenclator, cu trei litere mari; variante ca „eur” sau „Eur” nu se află în listă.
  3. Mergi la tabela de valute a programului: valutele definite istoric cu simboluri sau denumiri locale ajung direct în XML. Aliniază-le acolo la codul ISO, înainte de export.
  4. După corecție regenerează fișierul și caută toate aparițiile vechii valori: aceeași valută greșită se propagă identic în toate secțiunile care folosesc structura de sume.
Greșit
<CurrencyCode>LEI</CurrencyCode>
Corect
<CurrencyCode>RON</CurrencyCode>

Cerința oficială

Three-letter currency code according to ISO 4217 standard. Example: EUR for the Euros or USD for American Dollars.

Text citat din documentația oficială SAF-T (SchemaDefCod), în limba originală, fără parafrazare.

Detalii din documentația oficială

Cod valutar din trei litere conform standardului ISO 4217. Exemplu: EUR pentru euro sau USD pentru dolari americani.
Alphabetical only
Doar codurile alfabetice
Validation accorinding to ISO4217CurrCodes
Validare conform ISO4217CurrCodes
Filled in according to Nomenclature ISO4217CurrCodes
Se completează conform nomenclatorului ISO4217CurrCodes

Valori scurte din coloanele fișei oficiale (tip de dată, sursă, obligativitate, cardinalitate), în ordinea din documentație:

ISOCurrencyCode ERP Mandatory Mandatory 1

Reguli înrudite