Verifică fișierul SAF-T (D406) înainte să-l depui la ANAF

Check your SAF-T file (D406) before you file it with ANAF

Validatorul ANAF (DUKIntegrator) verifică doar structura și nomenclatoarele. Un fișier cu balanța dezechilibrată, solduri greșite sau TVA calculat greșit primește „Validare fără erori” – problemele apar abia după depunere, la verificările încrucișate. Noi rulăm validatorul oficial și verificările de coerență, cu explicație pe înțeles și valoarea corectă pentru fiecare eroare.

ANAF's validator (DUKIntegrator) only checks structure and code lists. A file with an unbalanced trial balance, wrong closing balances or wrong VAT gets "no errors" – the problems show up after filing, in ANAF's cross-checks. We run the official validator and the consistency checks, with a plain-language fix and the correct value for every error.

Verifică acum

Check now

Gratuit: o verificare pe zi, cu primele 10 probleme (vezi câte sunt în total). Raportul complet costă $0.50, plătit în USDC pe Base dintr-un wallet din browser (MetaMask, Coinbase Wallet), fără cont și fără taxă de rețea.

Free: one check per day, first 10 findings (you see the total). The full report costs $0.50, paid in USDC on Base from a browser wallet (MetaMask, Coinbase Wallet) – no account, no gas.

Ce verificăm

What we check

Validatorul oficial ANAF

The official ANAF validator

DUKIntegrator pentru D406, rulat cu regulile perioadei raportate (coduri TVA 21%/11% din august 2025). Mesajele lui, explicate.

DUKIntegrator for D406, run with the rules of the reporting period (VAT codes 21%/11% from August 2025). Its messages, explained.

Balanță și solduri

Trial balance and balances

Sold inițial + rulaj debitor − rulaj creditor = sold final, pentru fiecare cont; balanța echilibrată; soldurile clienților și furnizorilor = conturile colective.

Opening + debits − credits = closing for every account; balanced trial balance; customer and supplier balances = control accounts.

Registrul jurnal

General ledger

Fiecare notă contabilă echilibrată, NumberOfEntries / TotalDebit / TotalCredit corecte, conturi declarate și existente în planul de conturi ANAF, note în perioada raportată.

Every entry balanced, correct NumberOfEntries / TotalDebit / TotalCredit, accounts declared and in the ANAF chart, entries inside the period.

Facturi și TVA

Invoices and VAT

Liniile dau NetTotal, NetTotal + TVA = GrossTotal, TVA = bază × cotă, codul de taxă corespunde cotei și e valabil în perioadă, e declarat în TaxTable.

Lines add up to NetTotal, NetTotal + VAT = GrossTotal, VAT = base × rate, tax code matches the rate, is valid for the period and declared in TaxTable.

Coduri de identificare

IDs

Cifra de control a CUI-ului firmei și al partenerilor (ID-uri 00 + CUI), IBAN-uri valide, parteneri declarați în MasterFiles.

Check digits of the company and partner CUIs (00 + CUI IDs), valid IBANs, partners declared in MasterFiles.

De ce „Validare fără erori” nu e de ajuns

Why "no errors" is not enough

Am testat validatorul ANAF cu un D406 stricat intenționat: CUI cu cifra de control greșită, TotalDebit greșit în registrul jurnal, soldul final al contului 4427 greșit, totalul unei facturi greșit și un IBAN invalid. Răspunsul a fost „Validare fără erori”. Asemenea neconcordanțe le descoperă ANAF ulterior, la încrucișarea cu decontul de TVA (D300) și D394 – de unde vin notificările și scrisorile de conformare. Butonul „Încearcă un exemplu cu erori” rulează exact fișierul acela.

We tested ANAF's validator with a deliberately broken D406: a CUI with a wrong check digit, a wrong ledger TotalDebit, a wrong closing balance on account 4427, a wrong invoice total and an invalid IBAN. The answer was "no errors". ANAF finds such mismatches later, when it cross-checks with the VAT return (D300) and D394 – that is where compliance letters come from. "Try a sample with errors" runs exactly that file.

Ai primit deja o eroare de la DUKIntegrator? Mesajele validatorului ANAF pentru D406, explicate.

Already got an error from DUKIntegrator? ANAF's D406 validator messages, explained.

Pentru dezvoltatori și agenți AI

For developers and AI agents

API HTTP (trimite XML-ul ca atare în corpul cererii) și server MCP cu tool-urile validate_saft_free și validate_saft. Plata prin x402, fără cont și fără cheie API.

HTTP API (send the XML as the request body) and an MCP server with the tools validate_saft_free and validate_saft. Payment via x402, no account, no API key.

curl -X POST https://einvoice.alexhub.uk/v1/saft/validate/free \
  -H 'Content-Type: application/xml' --data-binary @D406.xml

# MCP (streamable HTTP): https://einvoice.alexhub.uk/mcp

Întrebări frecvente

FAQ

Păstrați fișierul?Do you keep my file?

Nu. Fișierul e scris într-un fișier temporar, verificat și șters în aceeași cerere. Nu îl salvăm, nu îl trimitem altundeva și nu îl folosim la nimic altceva. Validatorul ANAF rulează la noi, izolat, nu pe serverele ANAF.

No. It goes to a temporary file, is checked and deleted within the same request. We do not store it, send it anywhere or use it for anything else. The ANAF validator runs on our side, isolated – not on ANAF's servers.

Înlocuiește depunerea prin DUKIntegrator?Does it replace filing with DUKIntegrator?

Nu. Depunerea o faci în continuare ca de obicei (PDF semnat prin SPV). Noi îți spunem înainte ce va respinge ANAF și ce va găsi mai târziu.

No. You still file as usual (signed PDF through SPV). We tell you beforehand what ANAF will reject and what it will find later.

Ce tipuri de D406 acceptați?Which D406 types?

D406 lunar și trimestrial (HeaderComment L / T, inclusiv nerezidenți). D406 anual (active) și la cerere (stocuri) urmează.

Monthly and quarterly D406 (HeaderComment L / T, incl. non-residents). Annual (assets) and on-request (stock) files are coming.

Fișierul meu are peste 100 MBMy file is over 100 MB

Limita vine de la infrastructura web. Scrie-ne și găsim o soluție; verificările noastre merg și pe fișiere de peste 500 MB.

The limit comes from the web infrastructure. Write to us; our checks also run on files over 500 MB.