D406 — Romanian SAF-T
D406 (Declarația informativă privind livrările/prestările și achizițiile de bunuri și servicii) is the Romanian equivalent of the OECD SAF-T standard. Monthly for large and medium taxpayers, it coexists with e-Factura and is subject to automatic ANAF cross-validation.
Origin — from OECD SAF-T to Romanian D406
The Standard Audit File for Tax concept was published by the OECD in 2005 (v1.0), v2.0 in 2010. The goal: a standardised format enabling tax administrations to retrieve in one file the complete image of a taxpayer's accounting — general ledger, issued and received invoices, payments, stocks, fixed assets.
Romania published its first D406 version in July 2021, on a decision by ANAF president Mihaela Triculescu. The specification evolved:
- V1.0 (July 2021): strict alignment with OECD SAF-T 2.0, pilot launch.
- V2.0 (January 2022): MovementOfGoods and AssetTransactions extension, alignment with Romanian accounting (PCG).
- V2.4.4 (December 2024): current version — e-Factura cross-references integration, PaymentMethods extensions, Suppliers/Customers VIES refinement.
Rollout calendar 2022-2025
D406 deployment was progressive, by taxpayer category:
| Date | Category | ANAF criterion |
|---|---|---|
| 1 Jan 2022 | Large taxpayers | Classified as contribuabili mari by ANAF |
| 1 Jan 2023 | Medium taxpayers | Classified as contribuabili mijlocii by ANAF |
| 1 Jan 2025 | Small taxpayers | All other VAT taxpayers — quarterly D406T |
| 1 Jan 2025 | Non-resident permanent establishment | Foreign companies with RO sediu permanent |
| 1 Jul 2025 | PFA / II / IF | VAT-registered self-employed |
The large/medium taxpayer classification criterion is published annually by ANAF order, based on N-2 turnover and other indicators (declared VAT, headcount, sector).
D406 file structure
D406 reuses the OECD SAF-T 2.0 structure with Romanian adaptations. Three main blocks:
- Header: issuer metadata (CIF, legal name, period, software version, certificate). Strict, controlled upfront.
- MasterFiles: reference data — GeneralLedgerAccounts (chart of accounts), Customers, Suppliers, TaxTable (VAT codes), UOMTable (units), Products, PhysicalStock, Owners.
- GeneralLedgerEntries: accounting entries for the month with detail on journals, debit/credit accounts, counterparts.
- SourceDocuments: source documents — SalesInvoices (issued invoices, must match e-Factura), PurchaseInvoices (received invoices, must match inverse e-Factura), Payments, MovementOfGoods (stock movements, must match e-Transport), AssetTransactions.
<?xml version="1.0" encoding="UTF-8"?>
<AuditFile xmlns="mfp:anaf:dgti:d406:declaratie:v2">
<Header>
<AuditFileVersion>2.4.4</AuditFileVersion>
<CompanyID>RO12345678</CompanyID>
<TaxAccountingBasis>F</TaxAccountingBasis>
<CompanyName>SC Furnizor SRL</CompanyName>
<BusinessName>Furnizor Tehnologii IT</BusinessName>
<FiscalYear>2026</FiscalYear>
<StartDate>2026-04-01</StartDate>
<EndDate>2026-04-30</EndDate>
<CurrencyCode>RON</CurrencyCode>
<DateCreated>2026-05-19T08:00:00</DateCreated>
<TaxEntity>Global</TaxEntity>
<ProductCompanyTaxID>RO12345678</ProductCompanyTaxID>
<SoftwareCertificateNumber>SAF-T-2026-CERT-001</SoftwareCertificateNumber>
<SoftwareID>ERPProvider</SoftwareID>
<SoftwareVersion>11.2.0</SoftwareVersion>
<SelectionCriteria>
<SelectionStartDate>2026-04-01</SelectionStartDate>
<SelectionEndDate>2026-04-30</SelectionEndDate>
</SelectionCriteria>
</Header>
<MasterFiles>
<GeneralLedgerAccounts>...</GeneralLedgerAccounts>
<Customers>...</Customers>
<Suppliers>...</Suppliers>
<TaxTable>...</TaxTable>
<UOMTable>...</UOMTable>
<AnalysisTypeTable>...</AnalysisTypeTable>
<Products>...</Products>
<PhysicalStock>...</PhysicalStock>
<Owners>...</Owners>
</MasterFiles>
<GeneralLedgerEntries>...</GeneralLedgerEntries>
<SourceDocuments>
<SalesInvoices>...</SalesInvoices>
<PurchaseInvoices>...</PurchaseInvoices>
<Payments>...</Payments>
<MovementOfGoods>...</MovementOfGoods>
<AssetTransactions>...</AssetTransactions>
</SourceDocuments>
</AuditFile> Cross-validation with e-Factura
The major specificity of D406 in 2025-2026 is its automatic cross-validation with e-Factura. On each D406 submission, ANAF:
- Compares D406 SalesInvoices ↔ outgoing e-Factura. Every invoice declared in D406 SalesInvoices must correspond to a signed e-Factura invoice. Discrepancy > 0.01 RON → automatic warning.
- Compares D406 PurchaseInvoices ↔ incoming e-Factura. Symmetrical: every invoice booked as expense must have been received via e-Factura.
- Compares MovementOfGoods ↔ e-Transport. Each goods movement crossing the e-Transport threshold (€250K since 2025) must have a corresponding UIT code.
- Generates a divergence report. Available in SPV J+5 after D406 submission. The taxpayer can submit a corrective D406 to fix.
Submission modes
Three accepted channels:
- SPV web portal. Manual upload of a ZIP containing the D406 XML and its attachments (mandatory attachments: exported Suppliers/Customers tables). 200 MB submission limit.
- D406 REST API. Endpoint
https://api.anaf.ro/prod/D406/rest/upload, OAuth 2.0 client_credentials authentication (same mechanism as e-Factura). Recommended for multi-client ERPs. - D406 SFTP. For very large volumes (turnover > €500M), dedicated SFTP channel with daily drop. Specific naming conventions.
SPV produces an acknowledgment confirming receipt. Substantive validation takes J+3 to J+5.
Common pitfalls
- Confusing D406 and D300/D390. D300 is the monthly VAT declaration (summarised by rate/regime). D390 is the recapitulative declaration of IC operations. D406 is the detailed informative declaration — not a substitute, but a complement.
- Chart of accounts: Romanian PCG vs group PCG. D406 GeneralLedgerAccounts must follow the Romanian accounting chart of accounts OMFP 1802/2014 — not the direct IFRS group chart. Bad ERP mapping causes MasterFiles rejections.
- UTF-8 encoding and Romanian characters. Like RO_CIUS, strict UTF-8 encoding without BOM. Many ERPs export Latin-2 or with BOM by default → rejection.
- Wrong reference period. The D406 month is the calendar month, not the accounting or fiscal month. If the taxpayer operates on a shifted fiscal year, they must regenerate a calendar view.
- D406T for small taxpayers — since 2025. Small
taxpayers submit a quarterly D406T (T = quarterly), formally
different from monthly D406. The XML schema is the same but the
TaxAccountingBasiscode changes.