> ## 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.

# Romania

> Register parties, send CIUS-RO invoices and import received invoices through Romania's RO e-Factura system.

> [tab] Description
>
> > [card] [Register suppliers](https://docs.invopop.com/guides/ro-efactura-supplier.md)
> >
> > Supplier registration guide ›
>
> > [card] [Issue invoices](https://docs.invopop.com/guides/ro-efactura.md)
> >
> > Issuing guide ›
>
> > [card] [Receive invoices](https://docs.invopop.com/guides/ro-efactura-receiving.md)
> >
> > Receiving guide ›
>
> | | |
> | - | - |
> | Developer | [Invopop](https://invopop.com) |
> | Category | Government |
> | Scope | B2B, B2C, B2G |
> | Country | [Romania](https://docs.invopop.com/compliance/romania.md) |
> | System | RO e-Factura (ANAF) |
>
> [RO e-Factura](https://mfinante.gov.ro/ro/web/efactura) is Romania's mandatory national e-invoicing system, run by the Ministry of Finance and the tax authority, [ANAF](https://www.anaf.ro) (*Agenția Națională de Administrare Fiscală*). Businesses reach it through the API or through SPV (*Spațiul Privat Virtual*), ANAF's online portal.
>
> Electronic invoicing in Romania operates on a clearance model: every B2B invoice [in scope](https://docs.invopop.com/compliance/romania.md#what-is-out-of-scope) must be uploaded to RO e-Factura within 5 working days of issue, and B2C invoices are reported the same way. The platform validates each invoice, seals it with the Ministry of Finance signature and makes it available to the buyer in SPV. The sealed XML is the legal invoice.
>
> Invoices are encoded in UBL 2.1 following CIUS-RO, the Romanian profile of EN 16931. Invopop authorizes on behalf of each party through ANAF's OAuth flow, so the party's digital certificate never leaves its owner.
>
> **Key features**
>
> * **Workflow automation:** Automated workflows for registering parties, sending invoices, and importing received invoices through RO e-Factura.
>
> * **Party registration:** Register a party with its Romanian tax ID (CIF). The certificate holder accepts the terms and authorizes Invopop once on ANAF's site, from a link stored in the party's meta. Partners can show and accept the terms in their own interface through the API.
>
> * **Authorization renewal:** ANAF authorizations last one year. Invopop renews access in the background during that year. Notifications before the party has to register again are in development.
>
> * **CIUS-RO XML generation:** Compliant UBL 2.1 generation for invoices, credit notes, corrective, self-billed and accounting invoices, checked against the official ANAF schematron before upload.
>
> * **Clearance tracking:** Invopop waits for ANAF's decision on each upload and attaches the official XML returned by ANAF to the invoice.
>
> * **Automatic routing:** B2B, B2C, self-billed and enforcement uploads are picked from the invoice itself, with no configuration.
>
> * **Invoice import & sync:** Periodically fetch invoices received in SPV and import them into Invopop in GOBL format.
>
> > [!NOTE]
> >
> > **Sandbox and live environments**
> >
> > Invopop sandbox workspaces send every invoice to ANAF's test environment, where documents have no fiscal value. Live workspaces send to ANAF's production environment.
>
> Check out the guides below to get started:
>
> * [Supplier registration](https://docs.invopop.com/guides/ro-efactura-supplier.md) · [Issuing invoices](https://docs.invopop.com/guides/ro-efactura.md) · [Receiving invoices](https://docs.invopop.com/guides/ro-efactura-receiving.md)
>
> ## FAQ
>
> Invoicing questions
>
> > [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.
>
> Registering supplier questions
>
> > [accordion] What does a party need to register with RO e-Factura?
> >
> > A Romanian tax ID (CIF) and a qualified digital certificate of a person with access to the company's SPV (*Spațiul Privat Virtual*) as legal representative or authorized person. The certificate holder opens the registration link, accepts the terms and authorizes Invopop on ANAF's site. Invopop never sees or stores the certificate.
>
> > [accordion] Can one person register several companies?
> >
> > Yes. An accountant or representative with SPV rights for several companies can use the same certificate for all of them, but each company is a separate party in Invopop. Run the registration workflow and complete the authorization once per party.
>
> > [accordion] Where do I find the registration link?
> >
> > After the **Register with ANAF** step runs, the link is stored in the **Meta** section of the party entry under the `link` key. It opens the terms first and then continues to ANAF. The workflow waits on the **Wait ANAF link registration** step until the certificate holder completes the authorization, and the link is removed once the party is registered.
>
> > [accordion] Can I show the terms in my own interface?
> >
> > Yes. If you register parties for your own customers, fetch the terms with `GET /apps/gov-ro/v1/entry/{silo_entry_id}/terms`, show them in your own interface and record your customer's acceptance with `POST` on the same path. The response carries the ANAF link to send to the certificate holder. See the [white label registration](https://docs.invopop.com/guides/ro-efactura-supplier.md#white-label-registration) flow.
>
> > [accordion] Where is the acceptance of the terms stored?
> >
> > Invopop records the acceptance together with the exact terms accepted and when, whether they were accepted on the registration page or through the API. Nothing is stored on the party entry. The terms are accepted on every registration, including a renewal.
>
> > [accordion] Why did my party registration fail?
> >
> > Common reasons:
> >
> > * **Wrong certificate**: the certificate chosen in the browser does not belong to a person with SPV rights for the company's CIF.
> > * **SPV rights missing**: the certificate holder is not registered in SPV as legal representative or authorized person of the company.
> > * **Party not Romanian**: the party's `tax_id` country must be `RO`.
> > * **Terms not accepted**: the ANAF authorization only goes through once the terms have been accepted.
> > * **Registration expired**: the terms of a registration can only be accepted while it is open. One left unaccepted for 32 days shows `registration expired, register the party again`: run the registration workflow again and use the new link.
> >
> > After fixing the cause, open the same registration link again.
> >
> > > [!NOTE]
> > >
> > > The page shown at the end of the authorization tells whether it succeeded, and shows the error otherwise. The workflow error logs in the Invopop Console have more detail.
>
> > [accordion] How long does an ANAF authorization last?
> >
> > One year. Invopop renews access automatically during that year, after which the party has to complete the registration again. Notifications before the deadline are in development and will soon be supported through the app configuration.
>
> > [accordion] Can I test with the sandbox?
> >
> > Yes. In an Invopop sandbox workspace, every call goes to ANAF's test environment, so invoices sent there have no fiscal value. The registration still uses a real digital certificate, since ANAF authenticates the same way in both environments.
>
> > [accordion] How do I stop sending and receiving for a party?
> >
> > Run the **RO unregister party** workflow on the party. It removes the ANAF authorization from Invopop and unsubscribes the party from periodic sync. To receive again, run the registration workflow again.
>
> Receiving questions
>
> > [accordion] Which invoices are imported?
> >
> > Invoices other companies issued to the registered party and that ANAF made available in its SPV, from the moment the party completed registration. Invoices received before registration are not imported.
>
> > [accordion] Do I need to run the import workflow myself?
> >
> > No. The **RO sync received invoices** workflow creates one import job per received invoice, using the workflow set as **Import Workflow** in its **Receive all new invoices from RO e-Factura** step. Don't run the import workflow directly.
>
> > [accordion] What happens if the sync stops for a while?
> >
> > Each sync picks up from where the last successful one finished, so no invoice is missed. ANAF keeps messages for 60 days, so a party that stops syncing for longer loses the older ones.
>
> > [accordion] What is stored for an imported invoice?
> >
> > The ANAF archive is kept in Invopop's database, and a new invoice entry is created in the silo with the invoice converted to GOBL. The workflow then sets the folder and state, typically **Invoices · Expenses** and Registered.
>
> More answers in our [Romania FAQ](https://docs.invopop.com/faq/romania.md) section

> [tab] Limitations
>
> | Capability | Status | Notes |
> | - | - | - |
> | Party registration | Available | |
> | Sending invoices | Available | |
> | Receiving invoices | Available | |
> | Authorization expiry notifications | In development | Soon configured through the app configuration |

> [tab] Actions
>
> The following workflow actions will be available once you install and enable this app:
>
> Registration
>
> > [card] Register with ANAF
> >
> > &#x20;100/mo
> > Start the registration of a party with RO e-Factura. Generates the registration link and stores it in the `meta` section of the party. The link shows the terms, then continues to ANAF.
>
> > [card] Wait ANAF link registration
> >
> > Pause the workflow, without a time limit, until the holder of the party's SPV digital certificate opens the link stored in meta, accepts the terms and authorizes Invopop on ANAF's site.
>
> > [card] Unregister from ANAF
> >
> > Completely unregister a party and clear the ANAF credentials stored in Invopop's database.
>
> Sending
>
> > [card] Generate e-Factura XML
> >
> > &#x20;1
> > Generate the CIUS-RO XML from a GOBL invoice that declares the `ro-efactura-v1` addon, and attach it to the invoice.
>
> > [card] Send e-Factura XML to ANAF
> >
> > &#x20;2
> > Upload the attached XML to RO e-Factura and wait until ANAF accepts or rejects it. The official XML returned by ANAF is archived and attached to the invoice, and the signed invoice is stamped with the ANAF upload ID and response date.
>
> Receiving
>
> > [card] Receive all new invoices from RO e-Factura
> >
> > Fetch the invoices the party received in RO e-Factura since the last sync and create an import job for each one. Fired periodically by the [Cron app](https://docs.invopop.com/apps/cron.md).
>
> > [card] Import a single invoice from RO e-Factura
> >
> > &#x20;3
> > Download one received invoice, archive it, convert it to GOBL and store it as a new invoice in the silo. Managed by the sync workflow, not run directly.

> [tab] Workflows
>
> Party workflows
>
> > [accordion] RO register party
> >
> > This workflow registers a party with RO e-Factura and subscribes it to the periodic sync of received invoices.
> >
> > ```json RO register party workflow theme={"system"}
> > {
> >     "name": "RO register party",
> >     "description": "Register a party with RO e-Factura (ANAF)",
> >     "schema": "org/party",
> >     "steps": [
> >         {
> >             "id": "94ab9ba5-d12c-11f1-9d7a-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `processing`{.state .processing}",
> >             "config": {
> >                 "state": "processing"
> >             }
> >         },
> >         {
> >             "id": "94b535f3-d12c-11f1-a18c-92000739e901",
> >             "name": "Register with ANAF",
> >             "provider": "gov-ro.register"
> >         },
> >         {
> >             "id": "94b536fa-d12c-11f1-8d76-92000739e901",
> >             "name": "Wait ANAF link registration",
> >             "provider": "gov-ro.wait.register"
> >         },
> >         {
> >             "id": "94b53785-d12c-11f1-b646-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `registered`{.state .registered}",
> >             "config": {
> >                 "state": "registered"
> >             }
> >         },
> >         {
> >             "id": "94b537f3-d12c-11f1-b146-92000739e901",
> >             "name": "Subscribe to periodic execution",
> >             "provider": "cron.subscribe",
> >             "summary": "Periodic RO e-Factura sync"
> >         }
> >     ],
> >     "rescue": [
> >         {
> >             "id": "94b53867-d12c-11f1-a89c-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `error`{.state .error}",
> >             "config": {
> >                 "state": "error"
> >             }
> >         }
> >     ]
> > }
> > ```
>
> > [accordion] RO unregister party
> >
> > This workflow unregisters a party from RO e-Factura and stops the periodic sync.
> >
> > ```json RO unregister party workflow theme={"system"}
> > {
> >     "name": "RO unregister party",
> >     "description": "Unregister a party from RO e-Factura (ANAF)",
> >     "schema": "org/party",
> >     "steps": [
> >         {
> >             "id": "94b538d5-d12c-11f1-ae64-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `processing`{.state .processing}",
> >             "config": {
> >                 "state": "processing"
> >             }
> >         },
> >         {
> >             "id": "94b53935-d12c-11f1-b8eb-92000739e901",
> >             "name": "Unregister from ANAF",
> >             "provider": "gov-ro.unregister"
> >         },
> >         {
> >             "id": "94b539c4-d12c-11f1-b2c5-92000739e901",
> >             "name": "Unsubscribe from periodic execution",
> >             "provider": "cron.unsubscribe"
> >         },
> >         {
> >             "id": "94b5397c-d12c-11f1-a944-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `void`{.state .void}",
> >             "config": {
> >                 "state": "void"
> >             }
> >         }
> >     ],
> >     "rescue": [
> >         {
> >             "id": "94b53a0d-d12c-11f1-8ff1-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `error`{.state .error}",
> >             "config": {
> >                 "state": "error"
> >             }
> >         }
> >     ]
> > }
> > ```
>
> > [accordion] RO sync received invoices
> >
> > This workflow fetches the invoices received by a party and creates an import job for each one. It is run by the Cron app.
> >
> > ```json RO sync received invoices workflow theme={"system"}
> > {
> >     "name": "RO sync received invoices",
> >     "description": "Sync received invoices from RO e-Factura and dispatch import jobs",
> >     "schema": "org/party",
> >     "steps": [
> >         {
> >             "id": "94b53e37-d12c-11f1-b896-92000739e901",
> >             "name": "Receive all new invoices from RO e-Factura",
> >             "provider": "gov-ro.sync"
> >         }
> >     ],
> >     "rescue": []
> > }
> > ```
>
> Invoice workflows
>
> > [accordion] RO generate & send
> >
> > This workflow generates the CIUS-RO XML, signs the invoice, sends it to RO e-Factura and renders a PDF. The invoice must be signed before sending, so it can be stamped with the ANAF upload ID.
> >
> > ```json RO generate & send workflow theme={"system"}
> > {
> >     "name": "RO generate & send",
> >     "description": "Generate the RO e-Factura XML of an invoice and send it to ANAF",
> >     "schema": "bill/invoice",
> >     "steps": [
> >         {
> >             "id": "ee1c73d0-bcc4-11f1-bf89-fb0eed7855a8",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `processing`{.state .processing}",
> >             "config": {
> >                 "state": "processing"
> >             }
> >         },
> >         {
> >             "id": "f3508b70-bcc4-11f1-bf89-fb0eed7855a8",
> >             "name": "Add sequential code",
> >             "provider": "sequence.enumerate",
> >             "summary": "Dynamic · E-Factura · 000001",
> >             "config": {
> >                 "name": "E-Factura",
> >                 "padding": 6,
> >                 "start": 1
> >             }
> >         },
> >         {
> >             "id": "2cd5d320-d875-11f1-b91e-5f8b984fb663",
> >             "name": "Generate e-Factura XML",
> >             "provider": "gov-ro.generate"
> >         },
> >         {
> >             "id": "13ae7af0-d893-11f1-a9c3-b52662ba5583",
> >             "name": "Sign envelope",
> >             "provider": "silo.sign"
> >         },
> >         {
> >             "id": "03dfe4e0-bcc5-11f1-bf89-fb0eed7855a8",
> >             "name": "Send e-Factura XML to ANAF",
> >             "provider": "gov-ro.send"
> >         },
> >         {
> >             "id": "9380fe70-d86f-11f1-bad9-0977cf1b74dd",
> >             "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": "0779d480-bcc5-11f1-bf89-fb0eed7855a8",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `sent`{.state .sent}",
> >             "config": {
> >                 "state": "sent"
> >             }
> >         }
> >     ],
> >     "rescue": [
> >         {
> >             "id": "0b90bc50-bcc5-11f1-bf89-fb0eed7855a8",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `error`{.state .error}",
> >             "config": {
> >                 "state": "error"
> >             }
> >         }
> >     ]
> > }
> > ```
>
> > [accordion] RO import invoice
> >
> > This workflow imports a single received invoice. It is run by the sync workflow.
> >
> > ```json RO import invoice workflow theme={"system"}
> > {
> >     "name": "RO import invoice",
> >     "description": "Import an invoice received through RO e-Factura",
> >     "schema": "bill/invoice",
> >     "steps": [
> >         {
> >             "id": "94b53e82-d12c-11f1-9a38-92000739e901",
> >             "name": "Import a single invoice from RO e-Factura",
> >             "provider": "gov-ro.import"
> >         },
> >         {
> >             "id": "94b53ecb-d12c-11f1-b104-92000739e901",
> >             "name": "Set folder",
> >             "provider": "silo.folder",
> >             "summary": "Set folder to `Invoices · Expenses`{.font-medium}",
> >             "config": {
> >                 "folder": "expenses"
> >             }
> >         },
> >         {
> >             "id": "94b53f0d-d12c-11f1-acc4-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `registered`{.state .registered}",
> >             "config": {
> >                 "state": "registered"
> >             }
> >         }
> >     ],
> >     "rescue": [
> >         {
> >             "id": "94b53f54-d12c-11f1-93f4-92000739e901",
> >             "name": "Set state",
> >             "provider": "silo.state",
> >             "summary": "Set state to `error`{.state .error}",
> >             "config": {
> >                 "state": "error"
> >             }
> >         }
> >     ]
> > }
> > ```

> [tab] Documents
>
> The following examples show partial [GOBL](https://docs.gobl.org) documents you can copy and paste directly into the [Invopop Console](https://console.invopop.com) or store via the API as silo entries.
>
> > [accordion] RO e-Factura supplier
> >
> > A supplier with a Romanian CIF, used both for party registration and as the invoice issuer. The county goes in `state` and, in Bucharest, the sector in `locality`.
> >
> > ```json Romania supplier example theme={"system"}
> > {
> >     "$schema": "https://gobl.org/draft-0/org/party",
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >         "country": "RO",
> >         "code": "12345674"
> >     },
> >     "addresses": [
> >         {
> >             "num": "10",
> >             "street": "Strada Exemplu",
> >             "locality": "Sector 1",
> >             "state": "B",
> >             "code": "010101",
> >             "country": "RO"
> >         }
> >     ],
> >     "emails": [
> >         {
> >             "addr": "facturare@exemplu.ro"
> >         }
> >     ]
> > }
> > ```
>
> > [accordion] RO e-Factura customer
> >
> > A business customer identified by its Romanian CIF.
> >
> > ```json Romania customer example theme={"system"}
> > {
> >     "$schema": "https://gobl.org/draft-0/org/party",
> >     "name": "Client Test SRL",
> >     "tax_id": {
> >         "country": "RO",
> >         "code": "34567892"
> >     },
> >     "addresses": [
> >         {
> >             "num": "25",
> >             "street": "Strada Memorandumului",
> >             "locality": "Cluj-Napoca",
> >             "state": "CJ",
> >             "code": "400114",
> >             "country": "RO"
> >         }
> >     ]
> > }
> > ```
>
> > [accordion] B2B standard invoice
> >
> > In this example, we're issuing a standard B2B invoice from a Romanian supplier to another Romanian business customer.
> >
> > Notice:
> >
> > * the minimal version in the first tab contains only the essential fields required to create the invoice,
> > * the [`ro-efactura-v1`](https://github.com/invopop/gobl.ro.anaf/tree/main/addon) addon ensures the document is validated using the national CIUS-RO rules (BR-RO) on top of EN 16931,
> > * addresses in Romania carry the county as `state` (ISO 3166-2:RO code, `B` for Bucharest), and Bucharest addresses use the sector as `locality`,
> > * payment terms are required whenever an amount is due,
> > * the built version in the second tab shows the calculated totals and the `untdid-document-type` extension set to `380`, and,
> > * make sure to process it with the "RO generate & send" workflow created during setup.
> >
> > ```json B2B standard invoice theme={"system"}
> > {
> >   "$schema": "https://gobl.org/draft-0/bill/invoice",
> >   "$addons": [
> >     "ro-efactura-v1"
> >   ],
> >   "series": "FCT",
> >   "code": "0001",
> >   "issue_date": "2026-10-26",
> >   "currency": "RON",
> >   "supplier": {
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "12345674"
> >     },
> >     "addresses": [
> >       {
> >         "num": "10",
> >         "street": "Strada Exemplu",
> >         "locality": "Sector 1",
> >         "state": "B",
> >         "code": "010101",
> >         "country": "RO"
> >       }
> >     ],
> >     "emails": [
> >       {
> >         "addr": "facturare@exemplu.ro"
> >       }
> >     ]
> >   },
> >   "customer": {
> >     "name": "Client Test SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "34567892"
> >     },
> >     "addresses": [
> >       {
> >         "num": "25",
> >         "street": "Strada Memorandumului",
> >         "locality": "Cluj-Napoca",
> >         "state": "CJ",
> >         "code": "400114",
> >         "country": "RO"
> >       }
> >     ]
> >   },
> >   "lines": [
> >     {
> >       "quantity": "10",
> >       "item": {
> >         "name": "Servicii de dezvoltare software",
> >         "price": "150.00",
> >         "unit": "h"
> >       },
> >       "taxes": [
> >         {
> >           "cat": "VAT",
> >           "rate": "standard"
> >         }
> >       ]
> >     }
> >   ],
> >   "payment": {
> >     "terms": {
> >       "notes": "Plata in 30 de zile"
> >     }
> >   }
> > }
> > ```
> >
> > ```json Built version theme={"system"}
> > {
> > 	"$schema": "https://gobl.org/draft-0/bill/invoice",
> > 	"$regime": "RO",
> > 	"$addons": [
> > 		"eu-en16931-v2017",
> > 		"ro-efactura-v1"
> > 	],
> > 	"type": "standard",
> > 	"series": "FCT",
> > 	"code": "0001",
> > 	"issue_date": "2026-10-26",
> > 	"currency": "RON",
> > 	"tax": {
> > 		"rounding": "currency",
> > 		"ext": {
> > 			"untdid-document-type": "380"
> > 		}
> > 	},
> > 	"supplier": {
> > 		"name": "Exemplu Digital SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "12345674"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "10",
> > 				"street": "Strada Exemplu",
> > 				"locality": "SECTOR1",
> > 				"region": "RO-B",
> > 				"state": "B",
> > 				"code": "010101",
> > 				"country": "RO"
> > 			}
> > 		],
> > 		"emails": [
> > 			{
> > 				"addr": "facturare@exemplu.ro"
> > 			}
> > 		]
> > 	},
> > 	"customer": {
> > 		"name": "Client Test SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "34567892"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "25",
> > 				"street": "Strada Memorandumului",
> > 				"locality": "Cluj-Napoca",
> > 				"region": "RO-CJ",
> > 				"state": "CJ",
> > 				"code": "400114",
> > 				"country": "RO"
> > 			}
> > 		]
> > 	},
> > 	"lines": [
> > 		{
> > 			"i": 1,
> > 			"quantity": "10",
> > 			"item": {
> > 				"name": "Servicii de dezvoltare software",
> > 				"price": "150.00",
> > 				"unit": "h"
> > 			},
> > 			"sum": "1500.00",
> > 			"taxes": [
> > 				{
> > 					"cat": "VAT",
> > 					"key": "standard",
> > 					"rate": "general",
> > 					"percent": "21.0%",
> > 					"ext": {
> > 						"untdid-tax-category": "S"
> > 					}
> > 				}
> > 			],
> > 			"total": "1500.00"
> > 		}
> > 	],
> > 	"payment": {
> > 		"terms": {
> > 			"notes": "Plata in 30 de zile"
> > 		}
> > 	},
> > 	"totals": {
> > 		"sum": "1500.00",
> > 		"total": "1500.00",
> > 		"taxes": {
> > 			"categories": [
> > 				{
> > 					"code": "VAT",
> > 					"rates": [
> > 						{
> > 							"key": "standard",
> > 							"ext": {
> > 								"untdid-tax-category": "S"
> > 							},
> > 							"base": "1500.00",
> > 							"percent": "21.0%",
> > 							"amount": "315.00"
> > 						}
> > 					],
> > 					"amount": "315.00"
> > 				}
> > 			],
> > 			"sum": "315.00"
> > 		},
> > 		"tax": "315.00",
> > 		"total_with_tax": "1815.00",
> > 		"payable": "1815.00"
> > 	}
> > }
> > ```
>
> > [accordion] B2C standard invoice
> >
> > In this example, the supplier issues an invoice to a consumer without a tax ID.
> >
> > Notice:
> >
> > * the customer has no `tax_id`, so Invopop uploads the invoice to ANAF's B2C endpoint,
> > * the built version adds the thirteen zeros CNP (`0000000000000`) that Romanian law requires for a consumer without an identifier, and,
> > * if the consumer gives you their CNP, add it as a `CNP` identity on the customer instead.
> >
> > ```json B2C standard invoice theme={"system"}
> > {
> >   "$schema": "https://gobl.org/draft-0/bill/invoice",
> >   "$addons": [
> >     "ro-efactura-v1"
> >   ],
> >   "series": "FCT",
> >   "code": "0002",
> >   "issue_date": "2026-10-26",
> >   "currency": "RON",
> >   "supplier": {
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "12345674"
> >     },
> >     "addresses": [
> >       {
> >         "num": "10",
> >         "street": "Strada Exemplu",
> >         "locality": "Sector 1",
> >         "state": "B",
> >         "code": "010101",
> >         "country": "RO"
> >       }
> >     ],
> >     "emails": [
> >       {
> >         "addr": "facturare@exemplu.ro"
> >       }
> >     ]
> >   },
> >   "customer": {
> >     "name": "Ion Popescu",
> >     "addresses": [
> >       {
> >         "num": "5",
> >         "street": "Strada Florilor",
> >         "locality": "Brasov",
> >         "state": "BV",
> >         "code": "500001",
> >         "country": "RO"
> >       }
> >     ]
> >   },
> >   "lines": [
> >     {
> >       "quantity": "10",
> >       "item": {
> >         "name": "Servicii de dezvoltare software",
> >         "price": "150.00",
> >         "unit": "h"
> >       },
> >       "taxes": [
> >         {
> >           "cat": "VAT",
> >           "rate": "standard"
> >         }
> >       ]
> >     }
> >   ],
> >   "payment": {
> >     "terms": {
> >       "notes": "Plata in 30 de zile"
> >     }
> >   }
> > }
> > ```
> >
> > ```json Built version theme={"system"}
> > {
> > 	"$schema": "https://gobl.org/draft-0/bill/invoice",
> > 	"$regime": "RO",
> > 	"$addons": [
> > 		"eu-en16931-v2017",
> > 		"ro-efactura-v1"
> > 	],
> > 	"type": "standard",
> > 	"series": "FCT",
> > 	"code": "0002",
> > 	"issue_date": "2026-10-26",
> > 	"currency": "RON",
> > 	"tax": {
> > 		"rounding": "currency",
> > 		"ext": {
> > 			"untdid-document-type": "380"
> > 		}
> > 	},
> > 	"supplier": {
> > 		"name": "Exemplu Digital SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "12345674"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "10",
> > 				"street": "Strada Exemplu",
> > 				"locality": "SECTOR1",
> > 				"region": "RO-B",
> > 				"state": "B",
> > 				"code": "010101",
> > 				"country": "RO"
> > 			}
> > 		],
> > 		"emails": [
> > 			{
> > 				"addr": "facturare@exemplu.ro"
> > 			}
> > 		]
> > 	},
> > 	"customer": {
> > 		"name": "Ion Popescu",
> > 		"identities": [
> > 			{
> > 				"scope": "legal",
> > 				"type": "CNP",
> > 				"code": "0000000000000"
> > 			}
> > 		],
> > 		"addresses": [
> > 			{
> > 				"num": "5",
> > 				"street": "Strada Florilor",
> > 				"locality": "Brasov",
> > 				"region": "RO-BV",
> > 				"state": "BV",
> > 				"code": "500001",
> > 				"country": "RO"
> > 			}
> > 		]
> > 	},
> > 	"lines": [
> > 		{
> > 			"i": 1,
> > 			"quantity": "10",
> > 			"item": {
> > 				"name": "Servicii de dezvoltare software",
> > 				"price": "150.00",
> > 				"unit": "h"
> > 			},
> > 			"sum": "1500.00",
> > 			"taxes": [
> > 				{
> > 					"cat": "VAT",
> > 					"key": "standard",
> > 					"rate": "general",
> > 					"percent": "21.0%",
> > 					"ext": {
> > 						"untdid-tax-category": "S"
> > 					}
> > 				}
> > 			],
> > 			"total": "1500.00"
> > 		}
> > 	],
> > 	"payment": {
> > 		"terms": {
> > 			"notes": "Plata in 30 de zile"
> > 		}
> > 	},
> > 	"totals": {
> > 		"sum": "1500.00",
> > 		"total": "1500.00",
> > 		"taxes": {
> > 			"categories": [
> > 				{
> > 					"code": "VAT",
> > 					"rates": [
> > 						{
> > 							"key": "standard",
> > 							"ext": {
> > 								"untdid-tax-category": "S"
> > 							},
> > 							"base": "1500.00",
> > 							"percent": "21.0%",
> > 							"amount": "315.00"
> > 						}
> > 					],
> > 					"amount": "315.00"
> > 				}
> > 			],
> > 			"sum": "315.00"
> > 		},
> > 		"tax": "315.00",
> > 		"total_with_tax": "1815.00",
> > 		"payable": "1815.00"
> > 	}
> > }
> > ```
>
> > [accordion] B2B credit note
> >
> > In this example, we're issuing a credit note (type code `381`) to refund part of a previous invoice.
> >
> > Notice:
> >
> > * the `type` field is set to `credit-note`,
> > * the `preceding` field references the original invoice by `series`, `code` and `issue_date`,
> > * quantities and amounts are expressed as positive values, as in every GOBL credit note, and,
> > * the built version shows the `untdid-document-type` extension set to `381`.
> >
> > ```json B2B credit note theme={"system"}
> > {
> >   "$schema": "https://gobl.org/draft-0/bill/invoice",
> >   "$addons": [
> >     "ro-efactura-v1"
> >   ],
> >   "series": "CN",
> >   "code": "0001",
> >   "issue_date": "2026-10-26",
> >   "currency": "RON",
> >   "supplier": {
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "12345674"
> >     },
> >     "addresses": [
> >       {
> >         "num": "10",
> >         "street": "Strada Exemplu",
> >         "locality": "Sector 1",
> >         "state": "B",
> >         "code": "010101",
> >         "country": "RO"
> >       }
> >     ],
> >     "emails": [
> >       {
> >         "addr": "facturare@exemplu.ro"
> >       }
> >     ]
> >   },
> >   "customer": {
> >     "name": "Client Test SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "34567892"
> >     },
> >     "addresses": [
> >       {
> >         "num": "25",
> >         "street": "Strada Memorandumului",
> >         "locality": "Cluj-Napoca",
> >         "state": "CJ",
> >         "code": "400114",
> >         "country": "RO"
> >       }
> >     ]
> >   },
> >   "lines": [
> >     {
> >       "quantity": "2",
> >       "item": {
> >         "name": "Servicii de dezvoltare software",
> >         "price": "150.00",
> >         "unit": "h"
> >       },
> >       "taxes": [
> >         {
> >           "cat": "VAT",
> >           "rate": "standard"
> >         }
> >       ]
> >     }
> >   ],
> >   "type": "credit-note",
> >   "preceding": [
> >     {
> >       "series": "FCT",
> >       "code": "0001",
> >       "issue_date": "2026-10-26"
> >     }
> >   ]
> > }
> > ```
> >
> > ```json Built version theme={"system"}
> > {
> > 	"$schema": "https://gobl.org/draft-0/bill/invoice",
> > 	"$regime": "RO",
> > 	"$addons": [
> > 		"eu-en16931-v2017",
> > 		"ro-efactura-v1"
> > 	],
> > 	"type": "credit-note",
> > 	"series": "CN",
> > 	"code": "0001",
> > 	"issue_date": "2026-10-26",
> > 	"currency": "RON",
> > 	"preceding": [
> > 		{
> > 			"issue_date": "2026-10-26",
> > 			"series": "FCT",
> > 			"code": "0001"
> > 		}
> > 	],
> > 	"tax": {
> > 		"rounding": "currency",
> > 		"ext": {
> > 			"untdid-document-type": "381"
> > 		}
> > 	},
> > 	"supplier": {
> > 		"name": "Exemplu Digital SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "12345674"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "10",
> > 				"street": "Strada Exemplu",
> > 				"locality": "SECTOR1",
> > 				"region": "RO-B",
> > 				"state": "B",
> > 				"code": "010101",
> > 				"country": "RO"
> > 			}
> > 		],
> > 		"emails": [
> > 			{
> > 				"addr": "facturare@exemplu.ro"
> > 			}
> > 		]
> > 	},
> > 	"customer": {
> > 		"name": "Client Test SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "34567892"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "25",
> > 				"street": "Strada Memorandumului",
> > 				"locality": "Cluj-Napoca",
> > 				"region": "RO-CJ",
> > 				"state": "CJ",
> > 				"code": "400114",
> > 				"country": "RO"
> > 			}
> > 		]
> > 	},
> > 	"lines": [
> > 		{
> > 			"i": 1,
> > 			"quantity": "2",
> > 			"item": {
> > 				"name": "Servicii de dezvoltare software",
> > 				"price": "150.00",
> > 				"unit": "h"
> > 			},
> > 			"sum": "300.00",
> > 			"taxes": [
> > 				{
> > 					"cat": "VAT",
> > 					"key": "standard",
> > 					"rate": "general",
> > 					"percent": "21.0%",
> > 					"ext": {
> > 						"untdid-tax-category": "S"
> > 					}
> > 				}
> > 			],
> > 			"total": "300.00"
> > 		}
> > 	],
> > 	"totals": {
> > 		"sum": "300.00",
> > 		"total": "300.00",
> > 		"taxes": {
> > 			"categories": [
> > 				{
> > 					"code": "VAT",
> > 					"rates": [
> > 						{
> > 							"key": "standard",
> > 							"ext": {
> > 								"untdid-tax-category": "S"
> > 							},
> > 							"base": "300.00",
> > 							"percent": "21.0%",
> > 							"amount": "63.00"
> > 						}
> > 					],
> > 					"amount": "63.00"
> > 				}
> > 			],
> > 			"sum": "63.00"
> > 		},
> > 		"tax": "63.00",
> > 		"total_with_tax": "363.00",
> > 		"payable": "363.00"
> > 	}
> > }
> > ```
>
> > [accordion] B2B corrective invoice
> >
> > In this example, we're issuing a corrective invoice (type code `384`) that replaces a previous invoice.
> >
> > Notice:
> >
> > * the `type` field is set to `corrective`,
> > * the `preceding` field references the original invoice by `series`, `code` and `issue_date`, and,
> > * the built version shows the `untdid-document-type` extension set to `384`.
> >
> > ```json B2B corrective invoice theme={"system"}
> > {
> >   "$schema": "https://gobl.org/draft-0/bill/invoice",
> >   "$addons": [
> >     "ro-efactura-v1"
> >   ],
> >   "series": "COR",
> >   "code": "0001",
> >   "issue_date": "2026-10-26",
> >   "currency": "RON",
> >   "supplier": {
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "12345674"
> >     },
> >     "addresses": [
> >       {
> >         "num": "10",
> >         "street": "Strada Exemplu",
> >         "locality": "Sector 1",
> >         "state": "B",
> >         "code": "010101",
> >         "country": "RO"
> >       }
> >     ],
> >     "emails": [
> >       {
> >         "addr": "facturare@exemplu.ro"
> >       }
> >     ]
> >   },
> >   "customer": {
> >     "name": "Client Test SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "34567892"
> >     },
> >     "addresses": [
> >       {
> >         "num": "25",
> >         "street": "Strada Memorandumului",
> >         "locality": "Cluj-Napoca",
> >         "state": "CJ",
> >         "code": "400114",
> >         "country": "RO"
> >       }
> >     ]
> >   },
> >   "lines": [
> >     {
> >       "quantity": "10",
> >       "item": {
> >         "name": "Servicii de dezvoltare software",
> >         "price": "150.00",
> >         "unit": "h"
> >       },
> >       "taxes": [
> >         {
> >           "cat": "VAT",
> >           "rate": "standard"
> >         }
> >       ]
> >     }
> >   ],
> >   "payment": {
> >     "terms": {
> >       "notes": "Plata in 30 de zile"
> >     }
> >   },
> >   "type": "corrective",
> >   "preceding": [
> >     {
> >       "series": "FCT",
> >       "code": "0001",
> >       "issue_date": "2026-10-26"
> >     }
> >   ]
> > }
> > ```
> >
> > ```json Built version theme={"system"}
> > {
> > 	"$schema": "https://gobl.org/draft-0/bill/invoice",
> > 	"$regime": "RO",
> > 	"$addons": [
> > 		"eu-en16931-v2017",
> > 		"ro-efactura-v1"
> > 	],
> > 	"type": "corrective",
> > 	"series": "COR",
> > 	"code": "0001",
> > 	"issue_date": "2026-10-26",
> > 	"currency": "RON",
> > 	"preceding": [
> > 		{
> > 			"issue_date": "2026-10-26",
> > 			"series": "FCT",
> > 			"code": "0001"
> > 		}
> > 	],
> > 	"tax": {
> > 		"rounding": "currency",
> > 		"ext": {
> > 			"untdid-document-type": "384"
> > 		}
> > 	},
> > 	"supplier": {
> > 		"name": "Exemplu Digital SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "12345674"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "10",
> > 				"street": "Strada Exemplu",
> > 				"locality": "SECTOR1",
> > 				"region": "RO-B",
> > 				"state": "B",
> > 				"code": "010101",
> > 				"country": "RO"
> > 			}
> > 		],
> > 		"emails": [
> > 			{
> > 				"addr": "facturare@exemplu.ro"
> > 			}
> > 		]
> > 	},
> > 	"customer": {
> > 		"name": "Client Test SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "34567892"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "25",
> > 				"street": "Strada Memorandumului",
> > 				"locality": "Cluj-Napoca",
> > 				"region": "RO-CJ",
> > 				"state": "CJ",
> > 				"code": "400114",
> > 				"country": "RO"
> > 			}
> > 		]
> > 	},
> > 	"lines": [
> > 		{
> > 			"i": 1,
> > 			"quantity": "10",
> > 			"item": {
> > 				"name": "Servicii de dezvoltare software",
> > 				"price": "150.00",
> > 				"unit": "h"
> > 			},
> > 			"sum": "1500.00",
> > 			"taxes": [
> > 				{
> > 					"cat": "VAT",
> > 					"key": "standard",
> > 					"rate": "general",
> > 					"percent": "21.0%",
> > 					"ext": {
> > 						"untdid-tax-category": "S"
> > 					}
> > 				}
> > 			],
> > 			"total": "1500.00"
> > 		}
> > 	],
> > 	"payment": {
> > 		"terms": {
> > 			"notes": "Plata in 30 de zile"
> > 		}
> > 	},
> > 	"totals": {
> > 		"sum": "1500.00",
> > 		"total": "1500.00",
> > 		"taxes": {
> > 			"categories": [
> > 				{
> > 					"code": "VAT",
> > 					"rates": [
> > 						{
> > 							"key": "standard",
> > 							"ext": {
> > 								"untdid-tax-category": "S"
> > 							},
> > 							"base": "1500.00",
> > 							"percent": "21.0%",
> > 							"amount": "315.00"
> > 						}
> > 					],
> > 					"amount": "315.00"
> > 				}
> > 			],
> > 			"sum": "315.00"
> > 		},
> > 		"tax": "315.00",
> > 		"total_with_tax": "1815.00",
> > 		"payable": "1815.00"
> > 	}
> > }
> > ```
>
> > [accordion] Self-billed invoice
> >
> > In this example, the customer issues the invoice in the supplier's name (*autofactură*, type code `389`).
> >
> > Notice:
> >
> > * the `$tags` field includes `self-billed`,
> > * the registered party issuing the invoice is the **customer**, so the customer's CIF is the one used to upload it to ANAF,
> > * the built version adds the mandatory `Autofactură` note and sets the `untdid-document-type` extension to `389`, and,
> > * Invopop flags the upload as self-billed (`autofactura=DA`) automatically.
> >
> > ```json Self-billed invoice theme={"system"}
> > {
> >   "$schema": "https://gobl.org/draft-0/bill/invoice",
> >   "$addons": [
> >     "ro-efactura-v1"
> >   ],
> >   "series": "AUT",
> >   "code": "0001",
> >   "issue_date": "2026-10-26",
> >   "currency": "RON",
> >   "supplier": {
> >     "name": "Exemplu Digital SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "12345674"
> >     },
> >     "addresses": [
> >       {
> >         "num": "10",
> >         "street": "Strada Exemplu",
> >         "locality": "Sector 1",
> >         "state": "B",
> >         "code": "010101",
> >         "country": "RO"
> >       }
> >     ],
> >     "emails": [
> >       {
> >         "addr": "facturare@exemplu.ro"
> >       }
> >     ]
> >   },
> >   "customer": {
> >     "name": "Client Test SRL",
> >     "tax_id": {
> >       "country": "RO",
> >       "code": "34567892"
> >     },
> >     "addresses": [
> >       {
> >         "num": "25",
> >         "street": "Strada Memorandumului",
> >         "locality": "Cluj-Napoca",
> >         "state": "CJ",
> >         "code": "400114",
> >         "country": "RO"
> >       }
> >     ]
> >   },
> >   "lines": [
> >     {
> >       "quantity": "10",
> >       "item": {
> >         "name": "Servicii de dezvoltare software",
> >         "price": "150.00",
> >         "unit": "h"
> >       },
> >       "taxes": [
> >         {
> >           "cat": "VAT",
> >           "rate": "standard"
> >         }
> >       ]
> >     }
> >   ],
> >   "payment": {
> >     "terms": {
> >       "notes": "Plata in 30 de zile"
> >     }
> >   },
> >   "$tags": [
> >     "self-billed"
> >   ]
> > }
> > ```
> >
> > ```json Built version theme={"system"}
> > {
> > 	"$schema": "https://gobl.org/draft-0/bill/invoice",
> > 	"$regime": "RO",
> > 	"$addons": [
> > 		"eu-en16931-v2017",
> > 		"ro-efactura-v1"
> > 	],
> > 	"$tags": [
> > 		"self-billed"
> > 	],
> > 	"type": "standard",
> > 	"series": "AUT",
> > 	"code": "0001",
> > 	"issue_date": "2026-10-26",
> > 	"currency": "RON",
> > 	"tax": {
> > 		"rounding": "currency",
> > 		"ext": {
> > 			"untdid-document-type": "389"
> > 		},
> > 		"notes": [
> > 			{
> > 				"key": "self-billed",
> > 				"text": "Autofactură"
> > 			}
> > 		]
> > 	},
> > 	"supplier": {
> > 		"name": "Exemplu Digital SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "12345674"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "10",
> > 				"street": "Strada Exemplu",
> > 				"locality": "SECTOR1",
> > 				"region": "RO-B",
> > 				"state": "B",
> > 				"code": "010101",
> > 				"country": "RO"
> > 			}
> > 		],
> > 		"emails": [
> > 			{
> > 				"addr": "facturare@exemplu.ro"
> > 			}
> > 		]
> > 	},
> > 	"customer": {
> > 		"name": "Client Test SRL",
> > 		"tax_id": {
> > 			"country": "RO",
> > 			"code": "34567892"
> > 		},
> > 		"addresses": [
> > 			{
> > 				"num": "25",
> > 				"street": "Strada Memorandumului",
> > 				"locality": "Cluj-Napoca",
> > 				"region": "RO-CJ",
> > 				"state": "CJ",
> > 				"code": "400114",
> > 				"country": "RO"
> > 			}
> > 		]
> > 	},
> > 	"lines": [
> > 		{
> > 			"i": 1,
> > 			"quantity": "10",
> > 			"item": {
> > 				"name": "Servicii de dezvoltare software",
> > 				"price": "150.00",
> > 				"unit": "h"
> > 			},
> > 			"sum": "1500.00",
> > 			"taxes": [
> > 				{
> > 					"cat": "VAT",
> > 					"key": "standard",
> > 					"rate": "general",
> > 					"percent": "21.0%",
> > 					"ext": {
> > 						"untdid-tax-category": "S"
> > 					}
> > 				}
> > 			],
> > 			"total": "1500.00"
> > 		}
> > 	],
> > 	"payment": {
> > 		"terms": {
> > 			"notes": "Plata in 30 de zile"
> > 		}
> > 	},
> > 	"totals": {
> > 		"sum": "1500.00",
> > 		"total": "1500.00",
> > 		"taxes": {
> > 			"categories": [
> > 				{
> > 					"code": "VAT",
> > 					"rates": [
> > 						{
> > 							"key": "standard",
> > 							"ext": {
> > 								"untdid-tax-category": "S"
> > 							},
> > 							"base": "1500.00",
> > 							"percent": "21.0%",
> > 							"amount": "315.00"
> > 						}
> > 					],
> > 					"amount": "315.00"
> > 				}
> > 			],
> > 			"sum": "315.00"
> > 		},
> > 		"tax": "315.00",
> > 		"total_with_tax": "1815.00",
> > 		"payable": "1815.00"
> > 	}
> > }
> > ```
>
> For more examples and detailed documentation, visit the [Supplier registration](https://docs.invopop.com/guides/ro-efactura-supplier.md), [Issuing invoices](https://docs.invopop.com/guides/ro-efactura.md), and [Receiving invoices](https://docs.invopop.com/guides/ro-efactura-receiving.md) guides.

***

> [accordion] 🇷🇴 Invopop resources for Romania
>
> | | |
> | - | - |
> | Compliance | [Invoicing compliance in Romania](https://docs.invopop.com/compliance/romania.md)   [Compliance timeline](https://docs.invopop.com/timelines/romania.md) |
> | Apps | [Romania](https://docs.invopop.com/apps/romania.md) |
> | Guides | [Supplier registration](https://docs.invopop.com/guides/ro-efactura-supplier.md)   [Issuing invoices](https://docs.invopop.com/guides/ro-efactura.md)   [Receiving invoices](https://docs.invopop.com/guides/ro-efactura-receiving.md) |
> | FAQ | [Romania FAQ](https://docs.invopop.com/faq/romania.md) |
> | GOBL | [Romanian RO e-Factura addon](https://github.com/invopop/gobl.ro.anaf/tree/main/addon) |

> [card] [Participate in our community](https://community.invopop.com)
>
> Ask and answer questions about the Romania app →


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