Invoicing in Romania — do's and don'ts 🧾

Invoicing in Romania comes with real rules, and getting them slightly wrong can mean a rejected invoice or an awkward question during a tax inspection. This guide walks you through the things that matter most — in plain language, as a friendly do this / avoid that checklist.

ℹ️ This is a general introduction, not tax advice. For tricky situations (VAT on collection, special exemptions, stocktaking and so on), ask your accountant. TSync automates what it safely can — but the final fiscal calls are yours.

📊 Numbering your invoices

The rules in short:

  • Every invoice needs a series and a number (for example FC2025-00123).
  • Numbers must run in order, with no gaps — you can't jump from 122 to 125.
  • If you cancel an invoice before it's been sent to ANAF, you must explain the gap in your own records and keep the original marked "Cancelled".
  • You can change the series whenever you like — start of year is the natural moment — as long as the new series is clearly different (for example FC2024- becoming FC2025-).

Do this in TSync:

  • Under Setup → Settings → Invoices, set an invoice prefix that means something to you (for example FC for regular customers, FC-EXP for exports).
  • Let TSync number invoices automatically — it won't leave gaps.
  • For the yearly reset, change the prefix by hand on the 1st of January (FC2024-FC2025-).
  • If you have several locations or sell to different markets, use separate series so they're easy to reconcile later:
    • FC — sales within Romania
    • FCE — exports
    • FCI — sales to other EU countries
    • FCS — services

Avoid this:

  • Don't delete an invoice, even one you created by mistake. Mark it "Cancelled" instead — the number stays used up, exactly as the law expects.
  • Don't reuse a number once an invoice has gone to ANAF. That number is spent forever; ANAF will block any attempt to use the same series-and-number again.
  • Don't backdate invoices by more than a few days. ANAF accepts at most about five working days back. Anything older has to be handled by your accountant separately.

💰 When the VAT rate changes mid-year

Romania changed its standard VAT during 2025 (from 19% to 21%), and this kind of change always raises the same question: which rate do I use?

The simple rule: use the VAT rate that applied when the VAT became due — usually the invoice date or the delivery date, whichever comes first.

Common situations:

  • Service finished in the old year, invoiced in the old year → old rate.
  • Service that runs across the change → split it: old rate for the part before the change, new rate for the part after.
  • Invoicing now for something delivered earlier → use the rate from the delivery date, and say so on the invoice.
  • Ongoing services (rent, maintenance, subscriptions) → the rate that applies on each payment's due date. Payments for periods after the change use the new rate.
  • Advances → the rate at the moment you collected the advance; the rest is invoiced later at the rate that then applies.

Do this in TSync:

  • Keep the old rates available. TSync deliberately keeps the previous rates (19%, 9%, 5%) on hand for exactly these carry-over cases — don't delete them.
  • For brand-new invoices, pick the current rate explicitly (21%, or the unified reduced 11%).
  • For advances and ongoing services, write the exact delivery period in the customer-note field so your accountant isn't left guessing.

📅 Payment due dates

The rules in short:

  • Business to business: up to 30 calendar days by default; you can agree in writing to extend to 60.
  • Selling to public institutions: up to 30 days from when they receive the invoice.
  • Late payments can carry penalties — a small daily percentage, or whatever your contract states.

Do this in TSync:

  • Set 30 days as your standard due period under Setup → Settings → Invoices.
  • TSync then works out each invoice's due date for you from the invoice date.
  • Turn on automatic reminders (under Setup → Settings → Email Reminders) so customers are nudged without you chasing them:
    • a friendly note a week before,
    • a neutral note on the day,
    • a firmer notice a week after,
    • a final notice a month after.

🔄 Fixing a wrong invoice: use a credit note, not a "cancel"

This is one of the most important habits to get right.

Why it matters: once an invoice has been sent to ANAF, you cannot simply cancel it. The correct way to undo or correct it is a credit note — an official document, recognised by ANAF, that reverses the original.

Which document for which situation:

Situation Use
A mistake on the invoice (price, quantity, name) A credit note to reverse it, then a fresh correct invoice
Goods returned A credit note, partial or full
An order you'd already invoiced is cancelled A full credit note
A price reduction after issuing A credit note for just the difference
A periodic commercial discount One combined credit note

Do this in TSync:

  • Go to Sales → Credit Notes → Newnot "cancel invoice".
  • Always fill in the original invoice number it refers to. ANAF needs that link.
  • If you tick apply to invoice, TSync adjusts the amount automatically.
  • Use Send Credit Note to ANAF to file it officially.

⚠️ Remember: ANAF does not let you cancel an invoice once it's been sent. A credit note (plus, if needed, a new correct invoice) is the only proper route.


📝 Proformas and advance invoices

These two look similar but are very different in the eyes of the tax authority.

  • Proforma — a request for payment, not a real invoice. It isn't sent to ANAF and doesn't create any VAT obligation. Think of it as a polite "please pay this".
  • Advance invoice — a real invoice for money received up front. It is sent to ANAF, and VAT becomes due when you collect the advance.

The recommended flow:

  1. Send the customer a proforma and wait for payment.
  2. When the advance arrives, issue a proper advance invoice and send it to ANAF.
  3. On final delivery, issue the final invoice for the full value minus the advance you already taxed.
  4. On that final invoice, note clearly that an advance was already invoiced (with its number and date).

Do this in TSync:

  • Use an Estimate as your proforma, then convert it to an invoice when the money comes in.
  • For the advance, create a separate invoice for the partial amount.
  • On the final invoice, add the advance reference in the description.

💱 Invoicing in other currencies

The rules in short:

  • For Romanian customers, the invoice must be in lei (RON).
  • For customers in other EU countries or outside the EU, you may invoice in any currency (EUR, USD and so on).
  • For your accounting, foreign amounts are converted to RON at the official National Bank (BNR) rate for the invoice date, and VAT is always shown in RON too.

Do this in TSync:

  • Define the currencies you use, and their rates, under Setup → Settings → Currencies.
  • TSync protects you automatically here: when you send an e-invoice to a Romanian customer, it makes sure the official currency is RON, whatever the on-screen setting — so you can't accidentally break the rule.
  • Foreign customers still see their invoice in their own currency; your accountant sees the RON equivalent.

💡 Keeping exchange rates fresh is something a scheduled task can do for you daily — see Set up the cron job.


✍️ Amounts written in words (suma în litere)

Contracts and many official documents spell the total in words next to the figure — for example "134,00 lei (una sută treizeci și patru lei 00 bani)". TSync does this automatically: when your account language is Romanian, every invoice, estimate, proposal and credit-note PDF prints its total in correct Romanian words — with the right forms (una sută, două sute, treizeci și patru), the currency (lei / bani, or euro / cenți for EUR), and the bani shown as two digits. There is nothing to switch on — just set the staff language to Romanian.

In a contract template you place the words yourself with a merge field: {contract_value_in_words} for the contract's Value, or {<custom_field_slug>_in_words} for any amount you keep in a contract custom field (e.g. {total_lucrari_in_words}). {contract_value_in_words} is available in the click-to-insert merge-fields panel of the contract editor.


The rules in short:

  • You must keep invoices you issue and receive for 10 years.
  • They can be kept electronically — for e-Factura invoices you no longer need to print them on paper.
  • You must be able to show the files haven't been tampered with.

Do this in TSync:

  • Never delete invoices from TSync — they're your legal record.
  • TSync stores the official ANAF-signed copies of your e-invoices for you. Keep that storage area as part of your backups.
  • Back up daily, and make sure your backup includes three things:
    1. the full database,
    2. all uploaded files (including those signed ANAF copies),
    3. your encryption key — without it, protected data can never be recovered (see The encryption key, explained simply).
  • Keep backups for at least 10 years, on more than one place — for example a cloud service and an offline copy.

🔍 Being ready for a tax inspection

When ANAF inspects, they typically check a handful of things. Knowing them in advance makes the visit painless.

What an inspector usually looks at:

  • Your invoice numbers run in order, with any gaps explained.
  • The totals match across your invoices, your VAT records and your tax returns.
  • Invoices above the e-Factura threshold were actually filed.
  • Every cancellation is justified — why, when, and by whom.
  • Recent activity in the tax portal (SPV) lines up.

Do this in TSync to prepare:

  • Export an invoice list to Excel for the period under review (Setup → Reports → Sales reports).
  • Pull up your e-Factura messages for that period as proof of filing (Setup → RO ANAF → e-Factura → Messages).
  • Use the Activity Log (Setup → Utilities) to show the history of any change — who edited what, and when.
  • Keep the folder of ANAF-signed copies safe — it's your strongest evidence.

🏢 Special situations worth knowing

Private individual customers (no company code): there's a dedicated walkthrough — see the RO ANAF guide.

Customers in other EU countries:

  • They have an EU VAT number (like DE123456789), not a Romanian one.
  • The VAT is 0% (an exempt intra-EU supply, with your right to deduct intact).
  • Always check their EU VAT number is valid before you invoice, on the official VIES site (ec.europa.eu/taxation_customs/vies/). This is a manual check for now — do it before issuing.

Exports outside the EU:

  • VAT is 0%, backed by the customs export paperwork.
  • Note on the invoice that the operation isn't taxable in Romania.
  • Goods on the move may need an e-Transport document — see the e-Transport guide.

VAT on collection (cash accounting):

  • An optional system for smaller companies — VAT becomes due when the invoice is actually paid, not when it's issued.
  • The invoice must say "VAT on collection".

Recurring services (subscriptions, maintenance):

  • For automatic monthly or quarterly billing, TSync can generate recurring invoices for you on a schedule.

⚙️ A simple routine to stay on top of things

Good invoicing is mostly about small, regular habits. Here's a rhythm that works.

Every day (whoever handles sales):

  1. Check invoices that are awaiting payment or overdue, and follow up.
  2. Glance at the RO ANAF dashboard — connection healthy, no errors overnight.
  3. Send new invoices to ANAF the same day, ideally.

Every week (accounting):

  1. Match bank payments against invoices.
  2. Check received invoices from your suppliers in the e-Factura messages.
  3. Export to Excel for your external accountant if you have one.

Every month:

  1. Prepare your VAT return (D300).
  2. Prepare the partner listing (D394).
  3. Sanity-check that your invoice numbers are still consecutive.
  4. Take a full backup.

Every year:

  1. On 31 December, finish on the current series; start a fresh series on 1 January.
  2. Around mid-January, handle the SAF-T (D406) filing if it applies to you.
  3. Move an archive copy of your backups somewhere off-site.
  4. Update VAT rates if anything has changed.

🚨 The ten costliest mistakes to avoid

  1. Reusing an invoice number after a cancellation — ANAF blocks it for good.
  2. Charging VAT on an export — exports are 0%; getting this wrong throws off your VAT return.
  3. Leaving out the customer's county on an e-invoice — it gets rejected, over and over.
  4. Putting a discount on the whole invoice instead of on the lines — ANAF refuses it.
  5. Backdating an invoice too far — it gets rejected.
  6. A messy customer tax code (stray spaces, wrong prefix) — the lookup fails and the invoice won't validate.
  7. Ignoring an expired ANAF connection — invoices quietly pile up unsent.
  8. Cancelling an invoice without a credit note — your records and ANAF's no longer agree.
  9. Forgetting advance invoices when the VAT rate changes — year-end surprises.
  10. Backing up only on the same server — one disk failure and a decade of records is gone.

  • ANAF tax portal (SPV): https://www.anaf.ro/
  • Check a Romanian tax code: https://www.anaf.ro/anaf/internet/ANAF/asistenta_contribuabili/info_inreg_fiscala/
  • List of inactive taxpayers: https://www.anaf.ro/inactivi/
  • Check an EU VAT number (VIES): https://ec.europa.eu/taxation_customs/vies/
  • National Bank exchange rates: https://www.bnr.ro/Cursul-de-schimb-1224.aspx
  • Official e-Factura information: https://mfinante.gov.ro/ro/web/efactura/

See also