A Romanian haulier invoicing a Romanian company has to send the invoice through ANAF's RO e-Factura system, and a PDF by email is no longer the invoice. The deadline is five working days, and the rejections that catch hauliers billing in euro come from a handful of CIUS-RO rules.
Since 1 January 2024, B2B invoices between businesses established in Romania must go out as structured electronic invoices through RO e-Factura. The issuer carries the obligation (OUG 120/2021, art. 10(1)). Since 1 January 2026 the deadline is 5 working days from the invoice issue date, and no later than 5 working days after the issuing deadline in art. 319(16) of the Fiscal Code (art. 10(7), as amended by OUG 89/2025). Cross-border invoices to customers in other EU states are generally outside the mandate.
Romanian buyers, and buyers abroad
A Romanian supplier invoicing a Romanian customer is in scope. The rule covers invoices between persons established in Romania, with exceptions listed in the text: fiscal receipts and certain intra-EU goods invoices are excluded. Since 1 January 2026 a Romanian supplier must also send invoices to a non-established person who is VAT-registered in Romania (art. 10(1^1)).
For a customer in another EU state, with the place of supply abroad, the picture is different. For a B2B transport service the place of supply is normally where the customer is established, so such an invoice falls outside art. 10(1). ANAF's upload API has an extern flag for buyers abroad, which makes upload optional, and your accountant makes the final call for your own VAT situation. Consumers (B2C) fall under a separate rule, art. 10^1, applied from 2025, which a haulier rarely meets.
The deadline and the fines
Five working days count from the issue date, on the working-day calendar, so weekends and public holidays do not count. Issue an invoice on a Thursday and the fifth working day is the following Thursday, unless a public holiday in between pushes it again. Druma stamps that date on every invoice to a Romanian customer, with weekends and Romanian public holidays counted out, Orthodox Easter among them, and warns before it passes.
Article 13^2 sets the sanctions. Not using the system at all for an invoice covered by art. 10(1) costs 15% of the total invoice value. Missing the 5-day deadline costs 5,000 to 10,000 lei for large taxpayers, 2,500 to 5,000 lei for medium ones and 1,000 to 2,500 lei for the rest.
How the filing works
Software acts for your company after an OAuth connection to ANAF's Virtual Private Space (SPV), through an application registered with ANAF. The access is tied to your company's digital certificate and has to be renewed when the token expires. The invoice itself is a UBL 2.1 XML in the Romanian CIUS-RO profile (schematron 1.0.9, in force since 5 June 2024), and invoices and credit notes are different document types.
On upload, ANAF returns an upload index straight away, which only confirms receipt. The message then moves from "in prelucrare" (processing) to "ok" or "nok", and for a "nok" the reasons are inside a ZIP you download with the message.

The rejections hauliers hit most
These come from the official CIUS-RO schematron. An invoice in EUR to a Romanian customer still needs the VAT amount in RON (rule BR-RO-030), which makes this one common for hauliers who bill in euro. For a Romanian address the county cannot be written as a name: the subdivision must be an ISO 3166-2:RO code such as RO-CJ, and Bucharest is written as a sector, SECTOR1 to SECTOR6. A credit note is its own document (type 381, a CreditNote root) that refers to the original invoice, so a negative invoice is rejected.
The standard VAT category at 0% is invalid. Zero-rated, exempt, reverse-charge and intra-EU cases each have their own category, and the intra-EU exempt case needs delivery data with street, city and region (rules BR-RO-180, 201 and 211). Blank elements are errors too: an empty street, an empty IBAN or a blank reference. A Romanian buyer with no Romanian fiscal code (CUI/CIF) in the XML cannot be identified, and the invoice is rejected.
Druma runs these rules before ANAF does. It builds the XML to CIUS-RO 1.0.9 and validates it locally, and an invoice that would fail is marked rejected with the rule it broke, is never uploaded, and triggers an in-app notification to planners. After upload Druma polls ANAF for the verdict and reads the reasons out of the error ZIP onto the invoice; a retry re-checks the stored upload index, so a failed poll never produces a second filing. Multi-order consolidated invoices do not go through e-Factura in Druma at present, so for Romanian customers those are issued per order (finance and invoicing, compliance).
Sources
Facts last checked October 25, 2026
