CRIsoft ERP and SAF-T D406: Compliance Guide and Monthly Export
SAF-T D406 is becoming mandatory for more companies. How do you extract data from CRIsoft ERP into the D406 XML format required by ANAF? Step-by-step guide.
Bogdan Minoiu — Founder Azuvio · 2026-07-15 · 7 min · ERP & Operations
SAF-T D406 — the new reality of tax reporting
SAF-T (Standard Audit File for Tax) in D406 format is mandatory for large and medium-sized taxpayers in Romania. The XML file contains all accounting and inventory transactions in a standardized format for ANAF (the Romanian tax authority).
CRIsoft ERP support for SAF-T
CRIsoft has developed a SAF-T D406 export module in recent versions. The functionality covers:
Master Data: company info, partners, products, chart of accounts
Opening Balances: opening balance per period
Transactions: all documents (invoices, receipts, payments, goods received notes, transfers)
Stock: warehouse movements, receipts, deliveries, inventory
Steps to export SAF-T from CRIsoft
Step 1: Data Preparation
Ensure all documents for the month are recorded and validated
Verify partner VAT IDs (complete, with RO prefix where applicable)
Confirm NC / CPV codes for all products
Step 2: File Generation
Access the SAF-T module in CRIsoft (Reporting → Tax Declarations → SAF-T)
Select the period (reporting month)
Run the internal CRIsoft validation (detects common errors)
Generate the D406 XML file
Step 3: Validation and upload to the tax authority
Check the file with the ANAF validation tool (available on the ANAF website)
Correct any detected errors (see top errors below)
Upload to the SPV (Private Virtual Space) portal using a digital certificate
Top 8 SAF-T errors in CRIsoft and solutions
| # | Error | Cause in CRIsoft | Solution |
|---|--------|------------------|---------|
| 1 | Missing / invalid partner VAT ID | Field not filled in partner data | Mandatory template during partner creation |
| 2 | Incorrect ledger account | Improperly customized chart of accounts | Alignment with the statutory chart of accounts |
| 3 | Missing product code | NC / CPV not filled | Mandatory completion in the nomenclature |
| 4 | Unsupported currency | FX transactions without conversion | Convert to RON at the time of transaction |
| 5 | Duplicate document | Reused number or overlapping series | Enable uniqueness control in CRIsoft |
| 6 | Rounding differences | VAT or value rounding issues | Adjust rounding parameters in CRIsoft |
| 7 | Missing / incomplete journal | Unposted document | Check for pending or suspended documents |
| 8 | Invalid XML structure | Outdated SAF-T module version | Update to the latest CRIsoft version |
How long does the monthly process take?
| Activity | Without Smart Layer | With Azuvio Smart Layer |
|------------|------------------|----------------------|
| Data preparation | 2-3 hours | 0 (automated) |
| XML generation | 1-2 hours | 1 click |
| Error validation | 2-4 hours | 0 (pre-generation validation) |
| Tax authority upload | 30 min | 0 (automated) |
| Monthly Total | 6-10 hours | < 5 minutes |
Conclusion
CRIsoft ERP can generate SAF-T D406 if you have the updated version and follow the validation steps. For companies with high transaction volumes (>1,000/month) or those looking to eliminate manual work hours, the Azuvio Smart Layer automates the entire workflow.