ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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:

DateCategoryANAF criterion
1 Jan 2022Large taxpayersClassified as contribuabili mari by ANAF
1 Jan 2023Medium taxpayersClassified as contribuabili mijlocii by ANAF
1 Jan 2025Small taxpayersAll other VAT taxpayers — quarterly D406T
1 Jan 2025Non-resident permanent establishmentForeign companies with RO sediu permanent
1 Jul 2025PFA / II / IFVAT-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:

  1. Header: issuer metadata (CIF, legal name, period, software version, certificate). Strict, controlled upfront.
  2. MasterFiles: reference data — GeneralLedgerAccounts (chart of accounts), Customers, Suppliers, TaxTable (VAT codes), UOMTable (units), Products, PhysicalStock, Owners.
  3. GeneralLedgerEntries: accounting entries for the month with detail on journals, debit/credit accounts, counterparts.
  4. 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 d406-saf-t-structure.xml
<?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 TaxAccountingBasis code changes.