- Home
- Apps
- Specialized Solutions
- ERPNext Romania E-Invoicing (RO e-Factura / SAF-T)
Illustrative previewA build-to-order ERPNext app that turns your Sales Invoices into compliant RO e-Factura UBL,
clears them through the ANAF SPV, and produces D406 SAF-T exports — installed and supported by ECOSIRE.
What is ERPNext Romania E-Invoicing (RO e-Factura / SAF-T)?
A build-to-order ERPNext app that turns your Sales Invoices into compliant RO e-Factura UBL, clears them through the ANAF SPV, and produces D406 SAF-T exports — installed and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Romanian mandatory e-invoicing (RO e-Factura) requires every B2B and B2G Sales Invoice to be issued as a CIUS-RO compliant UBL 2.1 XML, uploaded to the ANAF SPV (Spațiul Privat Virtual), and cleared with a Ministry of Finance ID and seal within the legal deadline — with late or missing submissions carrying real penalties. Stock ERPNext gives you a clean Sales Invoice DocType and a general-purpose print/PDF pipeline, but it has no native concept of ANAF UBL generation, OAuth token exchange with the SPV, upload/status polling, or the D406 SAF-T structure that ANAF expects. Finance teams end up rekeying invoices into a government portal or a third-party bridge, which breaks the audit trail and does not scale.
ECOSIRE builds a dedicated Frappe app (for example ecosire_ro_efactura) that lives inside your ERPNext bench and wires directly into your existing sales flow. We add the fiscal fields Romania needs — CUI/CIF, RO VAT registration status, county and SPV identifiers, CIUS-RO document type codes — as custom fields and child DocTypes rather than parallel spreadsheets. hooks.py doc events on Sales Invoice on_submit generate the UBL XML from your real invoice data (parties, tax breakdown per VAT rate, unit codes, currency), validate it against the CIUS-RO business rules, and hand off to a background job. A queued scheduler task and whitelisted server methods handle the ANAF OAuth2 flow, upload the document to the SPV, and then poll for the clearance ID and download the signed response, writing every step back to a dedicated E-Factura Submission DocType so status is visible and re-tryable from the ERPNext UI.
On the reporting side we build the D406 SAF-T (Standard Audit File for Tax) export as a Frappe report/DocType that assembles the required master data and General Ledger movements into ANAF's XML schema for the reporting period, with validation and a downloadable file for submission. Where your operation moves goods, we scope the app to be e-Transport ready — the UIT declaration data model and the same SPV integration pattern — so that capability can be switched on without a second integration effort. Everything is exposed through role-profile-gated permissions (e.g. an "E-Factura Manager" role), client scripts for one-click resubmission on the Sales Invoice form, and the Frappe REST API / whitelisted methods so upstream systems can trigger issuance programmatically.
Because this is build-to-order, we start from your actual chart of accounts, VAT setup, invoice volume and edge cases rather than a fixed template. After a short scoping call we confirm the exact document types, tax scenarios and SPV credentials in play, then build against Frappe/ERPNext v15 and v16. Typical delivery is one working week from confirmed scope. You receive the installable source, a UAT pass on your staging bench, and a post-go-live support window — no rekeying into the ANAF portal, and a compliance path that stays inside ERPNext.
What you get
- Installable source code for your version of the app, delivered as a versioned Frappe app compatible with your ERPNext v15/v16 bench
- Installation and configuration on your environment, including ANAF SPV credentials wiring, custom-field fixtures and role-profile setup
- Technical documentation: DocType and field reference, hooks and scheduler map, whitelisted-method/API reference, and SPV/OAuth configuration notes
- User guide plus a live training session for your finance/accounting team covering issuance, status handling and D406 export
- Post-go-live support window for defect fixes and configuration adjustments after cutover
- UAT on a staging bench against your real invoice scenarios, with a documented rollback plan before production go-live
- Git repository handover with full commit history, tagged release and README
- Sample test data and validated UBL/SAF-T output files demonstrating a clean ANAF submission cycle
Who this is for
Romanian company running ERPNext
A B2B or B2G business already on ERPNext that must issue every Sales Invoice as RO e-Factura through the ANAF SPV and file D406 SAF-T, and wants that to happen inside ERPNext instead of a separate government portal.
Finance & compliance manager
Owns VAT and statutory reporting and needs auditable, deadline-safe clearance with a full status log on each invoice, plus a D406 export that reconciles to the General Ledger without manual assembly.
Group with a Romanian subsidiary
A multi-entity operation on ERPNext with one company registered in Romania that needs e-Factura compliance for that entity only, cleanly isolated by company and role without disrupting the rest of the group.
ERPNext partner or in-house Frappe team
A technical team that wants a well-structured Frappe app — proper DocTypes, hooks, whitelisted methods and tests — they can read, extend and maintain, delivered with source and documentation rather than a black box.
How ERPNext Romania E-Invoicing (RO e-Factura / SAF-T) Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| RO e-Factura UBL generation | CIUS-RO UBL built from your real Sales Invoice data via hooks | Possible but you design the mapping and rules yourself | Generic template, often needs rework for your tax cases | Not available — ERPNext has no ANAF UBL concept |
| ANAF SPV submission | OAuth2 upload + status polling + clearance ID logged in ERPNext | Build the OAuth and polling flow from scratch | May rely on a third-party bridge or manual portal step | None — manual upload to the government portal |
| D406 SAF-T reporting | GL-driven D406 XML export with schema validation | Significant standalone effort to model the schema | Often a separate paid add-on or not covered | Not supported |
| Fit to your setup | Scoped to your chart of accounts, VAT rates and edge cases | Fully tailored but on your time and risk | One-size template; you adapt your process to it | Generic invoicing only |
| e-Transport readiness | UIT data model structured so it can be switched on later | Separate project unless planned up front | Rarely included | Not available |
| Source & maintainability | Full source, git repo, docs and tests handed over | You own it but also own all the unknowns | Often closed-source or license-locked | N/A |
| Support & updates | Post-go-live window plus optional ongoing engagements | Depends entirely on internal capacity | Vendor SLA, variable responsiveness | Community only |
| Version support | Built and tested on Frappe/ERPNext v15 and v16 | Whatever you target and maintain | May lag current ERPNext releases | Ships with core, no compliance logic |
Frequently Asked Questions about ERPNext Romania E-Invoicing
Is this a ready-made app I can download and install today?
No. It is build-to-order: ECOSIRE scopes, builds, installs and supports it for your ERPNext environment. There is no instant download — we start with a scoping call, confirm your exact tax scenarios and SPV setup, then build and deliver the app for your bench.
How long does delivery take?
Typical delivery is one working week from confirmed scope. The timeline depends on your document types, VAT edge cases, whether inbound reconciliation and e-Transport are in scope, and how quickly ANAF SPV test credentials and staging access are available.
How does it connect to ANAF, and are my credentials safe?
The app performs the ANAF SPV OAuth2 flow and uploads CIUS-RO UBL documents directly from your ERPNext server. Credentials and the environment toggle (test vs production SPV) are stored in a settings DocType on your own instance — nothing routes through ECOSIRE infrastructure. We validate the full cycle on the ANAF test environment during UAT before go-live.
Which ERPNext versions are supported?
We build and test against Frappe/ERPNext v15 and v16. We confirm your exact version and any customizations during scoping so the app installs cleanly against your bench and existing Sales Invoice customizations.
What about support and updates after go-live?
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full source and git repository, your team can maintain and extend it; ECOSIRE also offers ongoing support and update engagements to track ANAF schema and CIUS-RO rule changes over time.
Does it handle D406 SAF-T as well as e-Factura?
Yes. Alongside e-Factura clearance, the app builds a D406 SAF-T export that assembles the required master data and General Ledger movements into ANAF's XML schema for a chosen period, with validation and a downloadable file. The exact scope of accounts and mappings is confirmed against your chart of accounts during scoping.
Will this conflict with our existing invoice customizations?
No. It is delivered as a separate Frappe app that extends Sales Invoice via custom fields, hooks and client scripts rather than patching core. During UAT on a staging bench we verify it coexists with your existing customizations, and we ship a documented rollback plan before production.
Related Modules

ERPNext Poultry Farm Management
A build-to-order ERPNext application that turns flock batches, feed conversion, mortality, vaccination, and egg/meat yield into native DocTypes wired to your existing Item, Stock Entry, and Warehouse records. ECOSIRE scopes, builds, installs, and supports it — this is not an instant Marketplace download.

ERPNext Spain Verifactu & B2B E-Invoicing
A build-to-order ERPNext app that turns your Sales Invoices into Verifactu-compliant certified records and Facturae B2B e-invoices, with TicketBAI (Basque) support and direct AEAT submission. ECOSIRE scopes, builds, installs and supports it on your v15/v16 site.

ERPNext Stripe Tax & Invoicing Suite
A build-to-order Frappe app that wires Stripe Tax rate calculation and Stripe hosted invoices directly into ERPNext, with tax registration tracking and automated payment reconciliation. ECOSIRE builds, installs, and supports it on your bench.
ERPNext Romania E-Invoicing
A build-to-order ERPNext app that turns your Sales Invoices into compliant RO e-Factura UBL, clears them through the ANAF SPV, and produces D406 SAF-T exports — installed and supported by ECOSIRE.
- `ecosire_ro_efactura` Frappe app installed into your bench with an `E-Factura Manager` role profile and permission rules on all new DocTypes
- CIUS-RO compliant UBL 2.1 XML generation from Sales Invoice data, with per-VAT-rate tax subtotals, unit codes and currency handling
- `hooks.py` doc events on Sales Invoice `on_submit`/`on_cancel` that trigger XML build, validation and SPV upload without manual steps
- ANAF SPV integration: OAuth2 token acquisition and refresh, document upload, and status polling for the Ministry of Finance clearance ID and seal
