ANAF e-Factura for transport invoices
Druma builds the CIUS-RO invoice, validates it before it reaches ANAF, uploads it from your own account and shows ANAF's answer, rejection reasons included.
We set up your 30-day trial after a short call. No card.

A Romanian haulier invoicing a Romanian company files the invoice through ANAF's RO e-Factura. The PDF by email is no longer the invoice. Druma builds the UBL file to the CIUS-RO rules and checks it before ANAF does.
Built for invoices in euro
Most of a haulier's Romanian invoices are in EUR. Druma keeps them in euro and adds the VAT total in RON at the BNR rate of the issue date, as CIUS-RO requires. Counties go in as ISO codes (RO-CJ), Bucharest as SECTOR1 to SECTOR6. Zero-rated, exempt and reverse-charge invoices each get their own VAT category, so nothing goes out as the standard rate at 0%. An exempt invoice to a buyer based in another EU state but registered for VAT in Romania carries the delivery address ANAF asks for.
A credit note goes as a credit note document pointing at the invoice it corrects. Druma will not send one without that link. A consolidated invoice covering several orders is filed the same way as a single one, with every order referenced in the file.
Before any upload, the file is validated in Druma against CIUS-RO 1.0.9. If it fails, the invoice stays in Druma, marked with the CIUS-RO rule it broke, and a notice appears in the app. Fix the data and send it again.
After the upload
ANAF's first answer is an upload index. It only confirms receipt.
The verdict comes later, and Druma polls for it. When ANAF says "nok" it attaches an error file; Druma reads the reasons out of it and writes them on the invoice in ANAF's own words, so whoever issued it sees what is wrong without unpacking a ZIP.
A failed attempt is retried up to three times, with growing pauses. If a retry already holds an upload index, it asks for the status again and does not upload a second copy. When ANAF accepts, Druma downloads the signed XML and stores it with the invoice.
The invoice has to be in the system within five working days of issue (OUG 120/2021 as amended by OUG 89/2025, in force since 1 January 2026). Druma stamps that date on every invoice to a Romanian customer, skipping weekends and public holidays, and raises an alert 48 hours before it runs out.
The count starts the day after the issue date. A rejection does not clear the alert; it stays on the invoice until ANAF accepts a corrected file. Once ANAF has accepted an invoice it is a filed document, and a mistake found after that is corrected with a credit note against it.
Questions we get asked
What does a late filing cost?
1,000 to 10,000 lei depending on the size of the taxpayer. An invoice that should have gone through the system and did not costs 15% of its value.
Does an invoice to a client in another EU state go through e-Factura?
Only when that client holds a Romanian VAT or fiscal code; Druma then files it like any other. A client with no Romanian registration falls outside e-Factura in Druma. Your accountant makes the final call on your VAT position.
Why does ANAF reject an invoice to a buyer without a CIF?
ANAF cannot identify a Romanian buyer with no fiscal code in the XML. Druma catches the missing code in its own check, before anything is uploaded.
Under whose name are the invoices filed?
Your own. You connect your company's ANAF account once in Settings and Druma files under it. The UIT lookups for e-Transport use the same connection.