Fivanto

How to send an invoice to ANAF's SPV, step by step

There are six steps, and the fourth trips up most people: the upload does not answer "accepted" or "rejected". It gives you an upload index, and the verdict arrives separately, seconds or minutes later.

If you see "in progress", nothing broke. Validation simply has not finished.

The six steps

  1. A digital certificate, registered for the company

    You need a qualified digital certificate registered in the Virtual Private Space for the company's tax ID. Without it nothing can be transmitted.

    The certificate belongs to a person, authorised for the company. If that person leaves or the certificate expires, transmissions stop.

  2. The invoice becomes XML, not PDF

    An electronic invoice is an XML file in UBL format, following the Romanian CIUS-RO specification. A PDF is a picture of an invoice, not the invoice.

  3. The upload — and the number you get back

    The answer is not the verdict but an upload index: the number under which ANAF received the file.

  4. Ask for the status, using the upload index

    There are three possible answers, not two:

    okValidation passed. You also get a download id for the receipt. nokRejected. You also get a download id — the file with the reasons. in progressStill validating. Ask again; do not re-send.
  5. Download what is left: the receipt or the reasons

    At ok it is the receipt — the proof. At nok it is the list of reasons, which you can decode with our rejection guide.

  6. The receipt is the proof, not the email to the client

    The invoice counts as transmitted when validation passed and you have the receipt.

The most expensive mistake: re-sending because no answer came immediately. Every upload is a new transmission with a new index, so two or three copies of the same invoice end up in SPV. Ask for the status with the index you already have.

What can be automated and what cannot

Steps 2–5 can be done by software: conversion to XML, upload, status polling, receipt download. What stays yours is the certificate — you authorise once, with your certificate, on the ANAF site.

What cannot be automated is the correctness of the data.

Before sending: check what you can

Most rejections come from the parties' details, not the amounts. You can check them for free with our tax ID tool.

How we know these steps

From our own implementation: the application really does send invoices to SPV, and the three technical steps are exactly the calls it makes.

Want steps 2–5 to happen on their own?

In Fivanto you authorise SPV once; from then on the invoice goes out on issue, and the status and receipt are fetched for you. The first 5 invoices a month are free, no card.

Try it free