What is SAF-T and why did Romania introduce it
SAF-T is an OECD-standard XML file format for tax reporting, adopted by Romania under the name Declaration D406. Instead of paper audits or manual data requests, the Romanian tax authority (ANAF) can now request a structured export of your accounting data — and verify it automatically.
The file includes your chart of accounts, general ledger entries, sales and purchase invoices, payments, and optionally stock movements. It does not replace your accounting records — it supplements them with a machine-readable export.
Why this matters: Companies with clean, complete SAF-T data face shorter and less disruptive tax inspections. Errors in D406 can trigger penalties and additional scrutiny.
Who must submit SAF-T in Romania and when
Romania rolled out SAF-T obligations in phases by taxpayer category. As of 2026, all active companies registered in Romania must submit D406.
| Taxpayer category | Mandatory from |
|---|---|
| Large taxpayers | 1 January 2022 |
| Medium taxpayers | 1 January 2023 |
| Small taxpayers | 1 January 2025 |
| Micro-enterprises | 1 January 2025 |
What data is included in the SAF-T file
Header
- Company tax ID (CUI) and name
- Reporting period
- Currency
MasterFiles
- Complete chart of accounts
- Full client and supplier list (with CUI)
- Product and service catalogue
GeneralLedgerEntries
- All accounting entries for the period
- Debit, credit, date, source document reference
SourceDocuments
- Issued and received invoices
- Payments and collections
- Goods receipt notes
StockMovements (optional — submitted only on ANAF request)
- Stock inflows and outflows
- Inter-warehouse transfers
How to submit SAF-T in Romania: step-by-step
- 1
Verify your tax obligations in SPV
Log in to anaf.ro → SPV (Spațiul Privat Virtual) and confirm that D406 is active in your tax obligations vector. If you are registered as an active taxpayer in Romania, it should be there.
- 2
Make sure your ERP or accounting software exports SAF-T
Any serious Romanian accounting or ERP system must generate a SAF-T XML compliant with schema version 2.0. Verify that your software is up to date and that your chart of accounts is fully mapped.
- 3
Validate the file before submitting
ANAF provides an official validator for D406 files. Generate the XML from your ERP, upload it to the validator, fix any critical errors, and repeat until the file is clean. Never submit an unvalidated file.
- 4
Submit D406 through SPV
Log in to SPV on anaf.ro, navigate to Declarations → D406, upload the validated XML file, and save your submission confirmation number.
- 5
Archive the submission record
Keep the submitted file and ANAF confirmation for a minimum of 5 years, in line with Romanian fiscal prescription periods.
Manual preparation vs. ERP-integrated SAF-T: the real difference
Manual / Excel-based
ERP-integrated (e:corg)
Common SAF-T errors and how to avoid them
Missing or incorrect CUI for partners — Before export, run an automatic check of all clients and suppliers against the ANAF database. e:corg does this validation in real time during data entry.
Incomplete chart of accounts — Every account used in your bookkeeping must have a correct mapping in the SAF-T structure required by ANAF. Gaps cause validation errors.
e-Invoice data that doesn't match ERP records — Use an ERP that synchronises invoices from the ANAF SPV portal directly into your accounting ledger, eliminating manual reconciliation.
Late submission — Set an automatic reminder 10 days before the monthly or quarterly deadline. Fines for late D406 submissions range from 1,000 to 5,000 RON.



