Normbeleg

Documentation · App version 0.1.12 · Last updated:

Normbeleg app for Stripe: setup and use

Normbeleg creates RO e-Factura files (UBL 2.1 with the CIUS-RO profile) from your finalized Stripe invoices, checks them against the published validation rules and, with the authorisation you give once, uploads them to ANAF's SPV system. You remain the issuer of your invoices: Normbeleg generates and uploads them on your instruction and reads your Stripe data with read-only access.

Live mode: Romania only. Sellers established in Romania, business-to-business invoices in RON. Germany, Poland and other EU countries are available in Stripe test mode only. Only the Free plan (25 e-invoices per month) is offered; see pricing. A passed rule check is not a decision by ANAF or any authority. This page is not tax or legal advice.

Contents

  1. Install
  2. Settings for a Romanian seller
  3. Connect ANAF SPV
  4. What happens when you finalize an invoice
  5. Statuses and Retry
  6. Limits
  7. Data, archive and uninstall
  8. Support

1. Install

  1. Install Normbeleg into your Stripe account from its Stripe App Marketplace page. The Marketplace listing is not published yet; until it is, write to support@ppftec.com.
  2. Install with the Administrator role. Changing Normbeleg settings needs the Administrator or Developer role.
  3. There is no separate Normbeleg login: the app runs inside the Stripe Dashboard with your Stripe session.
  4. After the install, open the app's Settings. A setup checklist shows what is still missing.

You can try the app first in Stripe test mode or in a sandbox. There, "Fill with sample seller data" fills a synthetic seller (for Romania: "Exemplu Test SRL (SYNTHETIC)"). Sample data is not offered in live mode.

2. Settings for a Romanian seller

2.1 Terms and data processing

Live mode stays off until an Administrator or Developer ticks both boxes:

Press Accept. The app records the version and the text fingerprint of what you accepted.

2.2 Archive

Choose how long Normbeleg keeps each e-invoice, its validation report and the ANAF records. Standard — 12 months is the option of every plan, including Free. Long-term (until the end of the 8th year after the issue year) is for paid plans, which are not offered yet. Copies are write-protected and cannot be deleted early. Your own legal retention duty stays with you (Terms, section 10).

2.3 Seller details

These details appear as the seller on every e-invoice.

Seller fields for Romania
FieldWhat to enter
Country of establishmentRomania
Legal nameThe registered name of the company, for example "Exemplu SRL".
Street and number, Post codeThe registered address.
CityThe locality. For Bucharest enter the sector: "Sector 1" to "Sector 6".
CountyChoose from the list (ISO 3166-2:RO code, for example RO-CJ for Cluj, RO-B for Bucharest). Required for Romania.
Country codeRO
VAT IDRO followed by your CUI if you are VAT-registered, for example RO12345678. Normbeleg takes the CUI from it.
CUI (only if you have no RO VAT ID)Your CUI without the RO prefix. Not VAT-registered? Please write to support before you start: this case has had less testing.
Register numberYour Trade Register (ONRC) number, for example J2026012345008.
Contact name, phone, e-mailWho answers questions about invoices.
IBAN, BIC, account holderShown as the account for bank-transfer payments.
Time zoneEurope/Bucharest, so invoice dates match your calendar day.

Press Save. Fields with a problem are marked in red with the reason.

Your Stripe customers also need Romanian data: a full address with the county in the "state" field, and for companies a tax ID. If something is missing, the invoice shows "Missing data" and tells you where to fix it.

3. Connect ANAF SPV with a qualified certificate

To upload, Normbeleg needs an access token that ANAF issues to the holder of a qualified digital certificate with SPV rights for your company.

  1. In Settings, section "Romania (ANAF SPV)", press Connect ANAF SPV. The app creates a one-time link that expires in 10 minutes.
  2. Open the link. ANAF's page (logincert.anaf.ro) asks for your qualified certificate. Choose it and confirm.
  3. Come back to Stripe and reload the Settings page. The section shows "Connected", the CUI and how long the access is valid.
  4. Before the date shown under "Re-authorise before", connect again; the app reminds you.

Disconnect deletes our copy of the token immediately. Revoking the authorisation at ANAF is done by the certificate holder or ANAF. Without a connection, e-invoices are still created, checked and archived; their upload waits until you connect.

4. What happens when you finalize an invoice

  1. Stripe sends Normbeleg the invoice.finalized event. Normbeleg reads the invoice (read-only) and stores the input it used, so every e-invoice can be reproduced.
  2. It builds the e-invoice (UBL 2.1, CIUS-RO) and checks it against the published CIUS-RO validation rules and the UBL schema. The validation report is stored with the e-invoice.
  3. If data is missing or a rule fails, it stops and shows what to fix. Nothing is uploaded.
  4. If the check passes, the e-invoice is archived in the EU, then uploaded to ANAF SPV when ANAF is connected.
  5. Normbeleg follows the processing status at ANAF for up to 3 days and stores ANAF's response next to the e-invoice. You can see it and download the files in the invoice panel in the Stripe Dashboard.

Each Stripe invoice is processed once per version: Normbeleg never uploads the same invoice twice on its own. Uploading within the legal deadline remains your responsibility, so check the status in the panel.

5. Statuses and Retry

Statuses in the invoice panel
Status shownMeaning
Received, Preparing, ValidatingNormbeleg has the invoice and is building and checking the e-invoice.
Valid — archivedThe e-invoice passed the rule check and is stored in the archive. For Romania it waits here until ANAF SPV is connected, then it is uploaded.
SendingThe upload to ANAF is in progress or Normbeleg is waiting for ANAF's processing result.
Sent to buyerFor Romania: the upload finished and ANAF's response file is stored next to the e-invoice.
Missing dataSomething the e-invoice needs is missing, for example the buyer's county or tax ID. The panel says what and where to fix it.
Validation failedThe e-invoice broke a rule of the published validation rules. The panel lists the rule IDs.
Delivery failedANAF did not accept the upload. ANAF's message is shown as received.
Delivery unknown — checkThe result of an upload is not known yet. Normbeleg checks it with ANAF and never uploads the same invoice twice on its own.
Validation delayed, Delivery delayed, Delayed — we are checkingA temporary problem on our side or at ANAF. Normbeleg retries the safe steps itself.
Monthly limit reachedYour plan's monthly limit is used up (Free: 25). New e-invoices resume next month.
Not supported yet, Country not supported yetThis kind of invoice is not handled yet (see Limits). Nothing is uploaded.

Retry appears on "Missing data", "Validation failed" and on a Romanian upload that ANAF did not accept. Fix the data first (in Stripe or in Normbeleg Settings, as the panel says), then press Retry. If you changed the invoice in Stripe, Retry checks and uploads the new version; otherwise it uploads the same file again. Retries do not count again against your monthly limit.

6. Limits

  • Live: sellers established in Romania, business-to-business invoices in RON.
  • Not supported yet: invoices to consumers (B2C), invoices in other currencies, credit notes. They show "Not supported yet" and are not uploaded.
  • Free plan: 25 e-invoices per month. Paid plans are coming soon and cannot be bought yet (pricing).
  • Normbeleg does not calculate VAT and does not change your Stripe invoices or settings.
  • Normbeleg is not a decision of ANAF: ANAF's response is shown as received.

7. Data, archive and uninstall

  • What the app reads, why, who receives it and for how long: app privacy notice.
  • How we process personal data for you (Art. 28 GDPR), security measures and sub-processors: Data Processing Agreement.
  • Archive periods, export and what happens after uninstall: Terms, sections 10 and 11. Data is stored in the EU.
  • If you uninstall the app, your data stays retrievable for 60 days; write-protected archive copies stay until their period ends. Ask for an export at support@ppftec.com.

8. Support

E-mail support@ppftec.com (English or Romanian; we reply within 2 business days) or use the contact form. Security reports: security@ppftec.com. Privacy requests: privacy@ppftec.com.

Normbeleg is operated by PPFTEC S.R.L., Romania. It is an independent product and is not affiliated with, endorsed by or sponsored by Stripe, Inc. or ANAF.