DeviDevs, our own invoices

Case study: our invoices reach e-Factura through the API, not the SPV portal

DeviDevs invoices reach ANAF, the Romanian tax authority, through its API, not by manual upload in the SPV portal. The XML is generated as UBL 2.1 under CIUS-RO and checked at issue. It goes out once a person confirms, and ANAF returns an upload index. If ANAF does not respond, the invoice waits in a queue and is not lost.

Updated

The challenge

Invoices have to reach the national system as strict XML within five working days of issue. One that misses it is a compliance problem.

What we built

We wrote a direct connection to the e-Factura API that generates, checks and sends the XML. A filed invoice cannot be changed, so it only goes out after a person confirms. We build the same connection for your company, on the invoicing software you already use.

How it works

  1. Invoice data becomes UBL 2.1 XML, with CIUS-RO field limits checked as it is generated.
  2. The XML is checked before sending; one rejected on validation gets fixed before another attempt.
  3. Once a person confirms, the invoice goes out through the ANAF API with OAuth 2.0.
  4. ANAF returns an upload index, used to check the invoice status.
  5. When ANAF does not respond, the invoice waits in a queue until it is resent.

What changed

  • Invoices are no longer uploaded by hand in the SPV portal.
  • The filing deadline is tracked in working days.

Stack

  • UBL 2.1
  • CIUS-RO
  • OAuth2
  • ANAF e-Factura API
  • Python

Related services

Related projects

Want your company's invoices sent to e-Factura through the API?

We connect your invoicing software to the ANAF API, with the XML checked before sending.

See the e-Factura integration