Integrating with RO e-Factura: a technical guide

PLIXIO teamPublished Updated
In short
  • Invoices between businesses established in Romania must go through RO e-Factura since 1 July 2024, as XML (UBL 2.1, per the national specification).
  • For invoices issued from 2026, the submission deadline is 5 working days from issue.
  • A robust integration does not stop at upload: it tracks each invoice's status, retrieves ANAF's response and alerts whoever can fix a rejection.

Most Romanian invoicing software already submits invoices to RO e-Factura, Romania's national e-invoicing system. Problems start when invoices originate elsewhere: an international ERP, an e-commerce platform, an in-house application or several systems at once. This is common for foreign groups with a Romanian subsidiary. The guide explains what an integration must do to be reliable.

This guide covers the technical side. For the tax treatment of a specific situation, check with your accountant or tax adviser.

The obligations behind it

  • B2B: invoices between taxable persons established in Romania go through RO e-Factura since 1 July 2024.
  • B2G: invoices to public institutions use the same system.
  • Deadline: for invoices issued from 1 January 2026, submission must happen within 5 working days of issue.
  • Foreign companies with a Romanian VAT number: brought into scope by the changes applicable from 2026.
  • B2C: the rules for invoices to individuals have changed several times. Check the version in force on ANAF's website before designing the flow.

What the integration architecture looks like

  1. Invoice source. The ERP or application that issues the invoice stays the source of truth.
  2. XML generation. Invoice data is transformed into UBL 2.1 XML following the national specification. Most errors occur here: VAT codes, units of measure, partner identification.
  3. Validation before submission. ANAF provides validation services; validating locally prevents avoidable rejections.
  4. Submission via API. The application authenticates through ANAF's OAuth mechanism after registering in the portal, using the representative's qualified digital certificate.
  5. Status tracking. After upload, status is polled until accepted or rejected.
  6. Response retrieval. ANAF's message (validated invoice or errors) is downloaded and archived next to the invoice.
  7. Alerting. A rejection reaches the person who can fix it, with the error explained.
  8. Monitoring. A dashboard shows invoices not yet sent, pending or rejected against the legal deadline.

Common integration mistakes

MistakeEffectPrevention
The flow stops at uploadNobody sees rejections.Status tracking and alerts for every invoice.
Incomplete partner data in the ERPRepeated validation rejections.Validate partner data when it is created, not at invoicing.
Several systems issue invoicesForgotten invoices, inconsistent numbering.One shared submission layer and a single register.
Expired digital certificateSubmission stops abruptly.Alerts before expiry and a named owner.
Uncontrolled retriesInvoices sent twice.Unique identifiers and a status check before resubmitting.

Checklist for a reliable integration

  • Every system that issues invoices is identified
  • XML generation is tested on every invoice type (including credit notes and advances)
  • Validation runs before submission
  • Each invoice's status is tracked to the end
  • ANAF responses are archived with the invoice
  • Rejections reach a named owner automatically
  • Digital certificate expiry is monitored
  • The 5-working-day deadline is visible on a dashboard

RO e-Factura integration is part of our systems integration service. If the data then feeds reporting, see data analytics.

Sources

  1. ANAF — Web services (RO e-Factura service documentation, Romanian)
  2. ANAF — OAuth application registration procedure (PDF, Romanian)
  3. Secondary summary of the timeline and 2026 changes (Romanian, checked 27 Oct 2026)

Related services

Useful guides

Do invoices leave from more than one system?

We audit your invoicing flow and show where invoices or rejections can get lost.