> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chargebee in Romania

> Send RO e-Factura invoices from Chargebee to ANAF

Romania uses **RO e-Factura**, the national e-invoicing system run by ANAF. Every invoice is converted to UBL following CIUS-RO, the Romanian profile of EN 16931, and uploaded to ANAF, which validates it and seals it with the Ministry of Finance signature. The sealed XML is the legal invoice: Invopop attaches it to the invoice once ANAF accepts it.

This guide assumes you have already connected the Chargebee app and completed the general setup — see the [Chargebee overview](https://docs.invopop.com/guides/chargebee.md) first if you haven't.

**Required apps:** [Romania](https://docs.invopop.com/apps/romania.md), [Forex](https://docs.invopop.com/guides/update-exchange-rates.md)

> [!NOTE]
>
> Before processing any invoices, the supplier must be registered and authorized with ANAF through Invopop. See the [RO e-Factura supplier guide](https://docs.invopop.com/guides/ro-efactura-supplier.md) for the registration steps, and the [RO e-Factura guide](https://docs.invopop.com/guides/ro-efactura.md) for how invoices are sent.

## Workflow

The workflow imports the invoice from Chargebee, converts it to CIUS-RO XML, signs it and sends it to ANAF, then renders a PDF and updates Chargebee. The invoice keeps the number Chargebee gave it. Two steps prepare the invoice before it is converted:

* **Modify silo entry** adds the `ro-efactura-v1` addon, which applies the CIUS-RO rules on top of EN 16931.
* **Update exchange rates** sets the ECB rate to RON for the invoice date. ANAF requires the VAT of an invoice in another currency, such as EUR, to be stated in RON (`BR-RO-030`). Invoices in RON are left unchanged.

Keep **Sign envelope** before **Send e-Factura XML to ANAF**: Invopop stamps the invoice with the ANAF upload ID and response date after sending it, and only a signed invoice can be stamped.

> [tab] Workflow

> [tab] Code
>
> Copy and paste into a new [Empty Invoice workflow](https://console.invopop.com/redirect/workflows/new?template=empty-invoice) code view.
>
> ```json Chargebee Romania send invoice workflow theme={"system"}
> {
>     "name": "Chargebee Romania send invoice",
>     "description": "Sync from Chargebee and send to ANAF through RO e-Factura",
>     "schema": "bill/invoice",
>     "steps": [
>         {
>             "id": "52f0f720-d90a-11f1-b5f5-4d19dab14584",
>             "name": "Import document from Chargebee",
>             "provider": "chargebee.import"
>         },
>         {
>             "id": "58bbf790-d90a-11f1-b5f5-4d19dab14584",
>             "name": "Set state",
>             "provider": "silo.state",
>             "summary": "Set state to `processing`{.state .processing}",
>             "config": {
>                 "state": "processing"
>             }
>         },
>         {
>             "id": "dfc7df50-d938-11f1-81c9-116a7352f47d",
>             "name": "Modify silo entry",
>             "provider": "silo.modify",
>             "summary": "Add `ro-efactura-v1` addon",
>             "config": {
>                 "addons": [
>                     "ro-efactura-v1"
>                 ],
>                 "sign": false
>             }
>         },
>         {
>             "id": "87923250-d937-11f1-9095-f17c7179b878",
>             "name": "Update exchange rates",
>             "provider": "forex.update",
>             "summary": "Invopop",
>             "config": {
>                 "provider": "ecb"
>             }
>         },
>         {
>             "id": "065fdf10-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Generate e-Factura XML",
>             "provider": "gov-ro.generate"
>         },
>         {
>             "id": "08920150-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Sign envelope",
>             "provider": "silo.sign"
>         },
>         {
>             "id": "0aafd840-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Send e-Factura XML to ANAF",
>             "provider": "gov-ro.send"
>         },
>         {
>             "id": "0d7dec60-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Generate PDF",
>             "provider": "pdf",
>             "summary": "Romanian · A4",
>             "config": {
>                 "currency_template": "",
>                 "date_format": "%Y-%m-%d",
>                 "decimal_mark": "",
>                 "duplicate": false,
>                 "label": "",
>                 "layout": "A4",
>                 "locale": "ro",
>                 "logo_height": 40,
>                 "negative_template": "",
>                 "scripting": false,
>                 "thousands_separator": "",
>                 "time_format": "%H:%M",
>                 "watermark": ""
>             }
>         },
>         {
>             "id": "0fc82a80-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Set state",
>             "provider": "silo.state",
>             "summary": "Set state to `sent`{.state .sent}",
>             "config": {
>                 "state": "sent"
>             }
>         },
>         {
>             "id": "2c412310-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Update Chargebee",
>             "provider": "chargebee"
>         }
>     ],
>     "rescue": [
>         {
>             "id": "3197b6d0-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Set state",
>             "provider": "silo.state",
>             "summary": "Set state to `error`{.state .error}",
>             "config": {
>                 "state": "error"
>             }
>         },
>         {
>             "id": "363b7550-d90b-11f1-b5f5-4d19dab14584",
>             "name": "Update Chargebee",
>             "provider": "chargebee"
>         }
>     ]
> }
> ```

## Chargebee setup

ANAF validates every invoice against the CIUS-RO rules, so a few details have to be in place in Chargebee before the first invoice is created. Chargebee copies them into each invoice when it is created: changing them later does not update invoices that already exist.

**1. Organization address**

The supplier's name and address on the invoice come from your Chargebee organization address, under **Settings → Configure Chargebee → Business Profile**. Fill in the company name, street, city, post code and country, and the county in the state field.

**2. Taxes**

Enable taxes under **Settings → Configure Chargebee → Taxes** and add Romania as a tax region with its VAT rates. Make sure the customers and charges you invoice are not marked as tax-exempt: a line without VAT is rejected by ANAF (`BR-CO-18`, `BR-CO-04`).

**3. Customer billing address**

Each customer needs a billing address with street, city and country. For customers in Romania, the county goes in the state field. For business customers, set their CIF in the VAT number field; customers without one are sent as consumers.

> [!NOTE]
>
> Write counties by their Romanian name or code: `Cluj`, `CJ` or `RO-CJ`. For Bucharest, use `București` (or `B`) as the state and the sector as the city, for example `Sector 1`. The English name `Bucharest` is not recognized.

## FAQ

> [accordion] What format does a Romanian e-invoice use?
>
> UBL 2.1 in the Romanian profile of EN 16931, called CIUS-RO (version 1.0.1). RO e-Factura also accepts CII (D16B). The platform checks the invoice against the EN 16931 rules and the national BR-RO rules.

> [accordion] Is a PDF invoice still valid?
>
> No. The legal invoice is the XML file that the Ministry of Finance seals after validation. A PDF has no legal value, but you can give one to your customer as a readable copy.

> [accordion] How do I correct an invoice after RO e-Factura accepts it?
>
> You cannot cancel a sealed invoice. Issue a credit note (type 381) or a corrective invoice (type 384) that references the original invoice.

> [accordion] Can the buyer reject an invoice in RO e-Factura?
>
> No. The platform statuses show only whether the invoice passed validation. The buyer settles a dispute directly with the supplier, and the supplier corrects the invoice with a new document.

> [accordion] Which VAT rates apply in Romania?
>
> Since 1 August 2025, the standard rate is 21% and the reduced rate is 11%. If an invoice is in another currency, the VAT amounts must also show in RON.

> [accordion] How long can I download invoices from RO e-Factura?
>
> For 60 days. After that, ANAF archives the files, and a copy is available only on request. Keep your own copy of each sealed invoice.

> [accordion] Is self-billing allowed?
>
> Yes. The buyer issues the invoice in the supplier's name, with type code 389.

> [accordion] Which GOBL documents can I send to RO e-Factura?
>
> Invoices that declare the `ro-efactura-v1` addon: standard invoices (380), invoices for accounting purposes (751, with the `accounting` tag), self-billed invoices (389, with the `self-billed` tag), credit notes (381) and corrective invoices (384).

> [accordion] How long does ANAF take to accept an invoice?
>
> Usually a few minutes. After the upload, the **Send e-Factura XML to ANAF** step waits and checks the upload status until ANAF answers `ok` or `nok`. The job finishes when ANAF has decided.

> [accordion] Where do I find the official invoice?
>
> When ANAF accepts the invoice, Invopop attaches the official XML returned by ANAF to the invoice entry as `anaf-efactura.xml`, next to the generated `efactura.xml`. The archive is also kept in Invopop's database.

> [accordion] What happens when ANAF rejects an invoice?
>
> The job fails with the errors ANAF returned. Correct the invoice and run the workflow again; a rejected invoice can be sent again.

> [accordion] Can I send the same invoice twice?
>
> No. Invopop never uploads an accepted invoice twice. To change an accepted invoice, issue a credit note or a corrective invoice that references it.

> [accordion] How are B2C and self-billed invoices handled?
>
> Invopop picks the ANAF upload options from the invoice itself. An invoice to a customer without a tax ID goes to the B2C endpoint, and a self-billed invoice is uploaded with the customer's CIF and flagged as `autofactura`. No workflow configuration is needed.

More available in our [Romania FAQ](https://docs.invopop.com/faq/romania.md) section

***

> [card] [Participate in our community](https://community.invopop.com)
>
> Ask and answer questions about your Chargebee integration →


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.