Skip to content
eFacturaSPV

RO e-Factura / SPV connector

One OAuth connection to ANAF e-Factura. No token in the loop.

Authorize SPV once over ANAF's official OAuth 2.0 flow with your USB certificate. From then on the connector runs unattended on auto-rotating tokens and calls ANAF directly — pulling, rendering and archiving every received invoice, for all your Romanian companies.

  • OAuth 2.0 once with your USB certificate, then unattended
  • Access and refresh tokens rotate automatically before they expire
  • Direct to ANAF, no reseller API between you and SPV

Free to start · no card · VAT included

ANAF connection
Certificate authorized once
Access token 90 days
Refresh token 365 days
Endpoint direct to ANAF

Tokens rotate automatically before they expire — the connection keeps running with no human and no certificate in the loop.

Integration without the integration work

A managed connector to ANAF e-Factura, instead of an API project on your roadmap.

ANAF exposes e-Factura / SPV over OAuth 2.0, but building against it means handling the authorization flow, ZIP archives, UBL XML, the official PDF render, token rotation and the 60-day window yourself. eFacturaSPV is that integration, already built and run for you.

How it works

Authorize once. The connection maintains itself.

OAuth 2.0 at the start, then auto-rotating tokens and direct ANAF calls — nothing to renew by hand.

01

Authorize over ANAF OAuth 2.0

Tap your qualified USB certificate a single time. We complete ANAF’s official OAuth 2.0 authorization, with the CSRF state held server-side and consumed once. The token never needs to be plugged in again.

02

Tokens rotate on their own

ANAF issues a 90-day access token and a 365-day refresh token. Both rotate on every refresh and are persisted immediately, so the chain never breaks and the connection keeps running with no human in the loop.

03

Pull, render, archive

We call ANAF directly to list and download each received invoice (the FACTURA PRIMITA stream), render the official PDF, and file the XML and PDF in your own Google Drive by month.

Token rotation

The token expiry that quietly breaks homegrown ANAF setups — handled for you

ANAF's access token lasts 90 days and the refresh token 365. A homegrown integration that misses a rotation silently stops syncing. We rotate both on every refresh and persist the new pair immediately, so the chain never breaks. The qualified certificate is used only once, at authorization — after that there is nothing to re-plug and nothing to renew.

See what gets pulled from SPV
Rotation timeline
Authorize (USB certificate) day 0
Access token refreshed auto
New access + refresh persisted atomic
Connection still live unattended

OAuth CSRF state is held server-side and consumed once — the authorization can't be replayed.

What the connector does

Direct, unattended, and faithful to ANAF

The integration details a developer would otherwise own — OAuth, rotation, reconcile, the official render — handled end to end.

OAuth 2.0, used once

The qualified certificate is needed only at authorization. After that the connector runs on ANAF’s official tokens — no certificate, no token in the loop.

Automatic token rotation

Access (90-day) and refresh (365-day) tokens rotate on every refresh and are written back atomically, so an expiring token never silently breaks your sync.

Direct to ANAF

Every invoice comes straight from ANAF’s e-Factura / SPV endpoints. We connect straight to ANAF, not through a third party that resells the same data.

Official PDF render

XML is converted by ANAF’s own transformare/FACT1 service, so each PDF is exactly what an auditor renders — not a third-party re-render.

One grant, many CUIs

A single authorization covers every CUI your certificate is enrolled for. One grant can power many workspaces and bulk-import them — built for groups with several Romanian entities.

Reconcile with SPV

A reconcile scan walks your Drive folder and adopts even the invoices you pulled by hand from SPV.

Direct to ANAF

No reseller API between you and SPV

Some tools wrap ANAF in their own paid API and re-sell data you can fetch yourself. eFacturaSPV calls ANAF's e-Factura / SPV endpoints with your own authorization, so every invoice, XML and official PDF comes straight from the source — one fewer middleman to pay, to trust, and to inherit outages from. And because the PDF is produced by ANAF's own transformare/FACT1 service, it is exactly what an auditor sees.

Frequently asked

Întrebări frecvente

Do I have to build against the ANAF API myself?
No. eFacturaSPV is the connector. You authorize ANAF once over OAuth 2.0 and we handle the listing, ZIP download, UBL XML, official PDF render and archiving for you.
How does the OAuth 2.0 connection work?
You tap your qualified USB certificate a single time to complete ANAF’s official OAuth 2.0 authorization flow. The CSRF state is held server-side and consumed once. ANAF returns a 90-day access token and a 365-day refresh token, which we use to call SPV directly from then on.
What happens when the token expires?
Nothing you need to watch. Both the access token (90-day) and the refresh token (365-day) rotate on every refresh, and the new pair is persisted immediately so the chain never breaks. The connection keeps running unattended — there is no token to re-plug and no manual renewal.
Is this a reseller API or a direct ANAF connection?
Direct. We call ANAF’s e-Factura / SPV endpoints with your own authorization — every invoice comes from ANAF, not a third party that resells the same data. There is no middleman to add latency, cost, or its own outages.
Can one authorization cover several Romanian companies?
Yes. If your qualified certificate is enrolled in SPV for multiple CUIs, a single OAuth grant covers them all. One grant can power many workspaces and bulk-import every company it is authorized for — purpose-built for foreign groups and accountants managing several entities.
How far back can the API pull invoices?
Sixty days. That is ANAF’s hard retention limit — SPV keeps the XML for roughly 60 days, then it is no longer downloadable by anyone via the API. Because Romanian law requires you to retain invoices for 5 years, we pull and archive yours before the window closes.
What does the connector return for each invoice?
The original UBL XML (the legal source of truth), an official PDF rendered by ANAF’s transformare/FACT1 service, and the ANAF transmission ID. Both files are stored in your account and, if you connect it, archived to your own Google Drive in YYYY.MM folders.

Connect ANAF once. The connector keeps itself alive.

OAuth 2.0 in, auto-rotating tokens, direct to ANAF. The first company is free, forever.

Free to start · VAT included

Start free

No card · your first company stays free

Start

Each option starts exactly what it says. Anything you leave unticked does not start. You can change your mind at any time.

Strictly necessary

They remember the choice you make here, so we stop asking, and keep you signed in to the app. The site does not work without them.

Cannot be turned off