How to implement SAF-T in Romania: a practical ERP guide

How to implement SAF-T in Romania: a practical ERP guide
Fiscal Compliance

ERP article

What this article is about

Practical guide to SAF-T (D406) compliance in Romania: what the file contains, who must submit it, submission deadlines, and how to generate it without errors using an integrated ERP system.

Published: June 30, 2026Reading time: 8 min readAll articles

If you run or manage a company registered in Romania, SAF-T (Standard Audit File for Tax) is no longer optional — it's a live tax obligation enforced by ANAF. Whether you're an international business operating locally or a Romanian company still relying on spreadsheets, this guide gives you a clear, actionable path to compliance in 2026.

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 categoryMandatory from
Large taxpayers1 January 2022
Medium taxpayers1 January 2023
Small taxpayers1 January 2025
Micro-enterprises1 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. 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. 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. 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. 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. 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

Time spent per submission | 8–15 hours/month
Risk of data inconsistencies | High (multiple systems)
e-Invoice sync with D406 | Manual reconciliation
Validation before export | Manual or skipped
Audit readiness | Reactive

ERP-integrated (e:corg)

Time spent per submission | 30–60 minutes/month
Risk of data inconsistencies | Low (single data source)
e-Invoice sync with D406 | Automatic
Validation before export | Built-in, automatic
Audit readiness | Always ready

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.

Generate your D406 in under a minute with e:corg ERP

e:corg has native SAF-T export built in — automatic validation, no manual reconciliation, no Excel. Request a free demo and we'll show you the full flow live.

Corgi with headphones

Frequently asked questions about SAF-T in Romania
Corgi illustration