D394 (Romanian VAT Informative Declaration)
Quick answer
Monthly Romanian tax filing listing all domestic B2B sales and purchases - the main source of ANAF cross-checks.
Key takeaways
- Partner tax ID (validated against the ANAF registry)
- VAT rate applied (5%, 9%, 19%, exempt, reverse charge)
- Taxable base and VAT per line
- Transaction type (goods, services, etc.)
- Special transaction code when applicable (reverse charge, special regime)
What D394 is
D394 is the Romanian informative declaration of supplies and acquisitions made domestically by VAT-registered entities. Filed monthly (or quarterly for micro) via the ANAF SPV portal, in XML format, by the 30th of the following month.
Why it's risky for SMBs
ANAF runs cross-checks: if you declare an invoice to a customer and the customer doesn't declare it (or vice versa), a mismatch triggers an audit. Typical fines: RON 1,000-5,000 per faulty declaration, plus tax audit risk.
Mandatory fields
- Partner tax ID (validated against the ANAF registry)
- VAT rate applied (5%, 9%, 19%, exempt, reverse charge)
- Taxable base and VAT per line
- Transaction type (goods, services, etc.)
- Special transaction code when applicable (reverse charge, special regime)
How it's generated in Saga and other accounting tools
Romanian accounting tools (Saga, WinMentor, SmartBill, ContaSoft) have a native "Generate D394" function that reads invoices entered during the month and produces the ANAF XML. The XML quality depends 100% on upstream data quality.
Common mistakes
1. Tax ID typo at entry - operator types one extra character.
2. VAT rate picked manually - at 1,000 invoices/month, at least 5-10 will get the wrong rate.
3. Storno invoices duplicated - appear twice in D394 if not linked to the original.
4. EU partners in D394 - D394 is only for domestic transactions; EU goes into D390.
Real-world example
A distributor with 800 invoices/month reduced D394 errors from ~50/month to under 3 after wiring CRMconnect OMS over Saga, with automatic tax-ID validation and VAT pulled from the PIM.
Last updated:
Frequently asked
D394 vs SAF-T D406 - what's the difference?+
D394 is an aggregated declaration with the summary of domestic B2B transactions (monthly). SAF-T D406 is granular reporting of all accounting movements, stock and chart of accounts - much more detailed, mandatory from 2025.
What does CRMconnect do for D394?+
It validates tax IDs at source, applies the VAT rate from the PIM, links storno invoices to originals and produces an XML/CSV export to Saga with every fiscal field correctly pre-filled.
Who files D394 - me or the accountant?+
Usually the accountant (external firm) files D394 via SPV. You just need to feed them clean data they can report without "manual cleanup".
Where CRMconnect fits
Related terms
SAF-T D406 (Standard Audit File for Tax)
Monthly granular Romanian tax filing: every invoice, stock movement and ledger entry - mandatory for VAT payers.
Financee-Factura (RO_CIUS)
Romanian electronic invoice in XML UBL 2.1, mandatory B2B and B2G via the ANAF SPV portal.
TechnologyEDI (Electronic Data Interchange)
Structured exchange of commercial documents between B2B partners, without emails or manual data entry.