An SPV e-Transport declaration means filling ANAF’s own form inside the Virtual Private Space and sending it, without any software of your own. It is a legitimate route to a UIT code and costs nothing beyond the digital certificate you already need. It also puts every check on you: SPV takes what you type, returns a code at upload, and validates the content afterwards. This guide walks the manual path end to end, then says honestly where it stops being the sensible choice.
What do you need to get into SPV?
The Virtual Private Space is ANAF’s online area for taxpayers, and RO e-Transport rides on the identity it already holds for you. Two things are required before any of this is possible:
- A qualified digital certificate issued to a named person, on a physical device, with its PIN.
- Enrolment in SPV for the company’s tax number, plus a registered power of attorney where the certificate holder is not the legal representative.
Those steps, and what goes wrong in them, are covered in the guide on ANAF authorisation with a digital certificate. The rest of this guide assumes you are already logged in. What the system as a whole requires — thresholds, deadlines, who declares — is in the RO e-Transport overview.
SPV e-Transport: declaring a transport step by step
1. Check that the transport is in scope. A vehicle of at least 2.5 tonnes maximum technically permissible laden mass, carrying goods above 500 kg gross or above 10,000 lei in value excluding VAT, for at least one consignment. Below both limits there is nothing to declare.
2. Check the deadline. The declaration is allowed at most 3 calendar days before the declared start date, and in any case before the vehicle is set in motion or presented at the border crossing point. Filing a week ahead is not early, it is refused.
3. Gather the data before you open the form. Operation type; the parties with their identification codes; the route, in the form the operation requires — an address, a border crossing point or a customs office; the vehicle and any trailers; the transport organizer; the goods with tariff code, description, quantity, unit of measure, gross weight, net weight and value without VAT at the National Bank of Romania rate of the declaration day; the accompanying documents.
4. Fill the RO e-Transport declaration form. Field by field. Watch the three that break most often: the tariff code must keep its leading zero, the country code for Greece is EL and not GR, and text fields must have no leading, trailing or doubled spaces — a space copied out of a PDF is enough to invalidate the file.
5. Send it, and note the upload index. The system returns an index identifying your message. Keep it: it is how you retrieve the answer.
6. Run the status check. This is a separate step, and it is the one people skip.
7. Download the answer. The signed XML and any error list are available for 60 days under art. 6 of Order ANAF/AVR 1.337/1.268/2024. Save them somewhere you can find in a year.
8. Give the code to the driver. The UIT code, 16 digits with a check digit, travels with the transport documents for that consignment. One consignment, one code — a groupage of four needs four declarations.
How to read ANAF’s answer
Three outcomes, and only one of them means you are finished.
| What the status check shows | What it means | What to do |
|---|---|---|
| Accepted / valid | The declaration stands, the code is live | Nothing. File the answer |
| Errors returned | The declaration was rejected on content | Fix and send a new declaration |
| Still processing | Validation has not finished | Check again shortly |
One more thing about SPV that surprises people who come from other filing systems: an error answer can arrive looking like a normal, successful response. The page loads, nothing is red, and the outcome is in the body of the message. Read the content of the answer, not the fact that an answer arrived.
The rest of the life cycle is also in SPV
Obtaining the code is one message out of four. Corrections, deletions, confirmations and vehicle changes are all sent the same way, and each one needs its own status check.
- Correction: only inside the 3 days before the declared start date and only before the vehicle moves. The UIT code is kept.
- Deletion: before departure, for a transport that will not happen. The declaration is cancelled only when ANAF accepts the deletion.
- Vehicle change: after departure, sent by the transport organizer. The only change the law still allows on the road.
- Confirmation: after arrival. If it is never sent, the transport is treated as confirmed when the code expires.
The timing rules and what each message does are set out in correcting, deleting and confirming a UIT declaration.
What declaring by hand actually costs
Not the licence fee you saved. Four other things.
Retyping. The same partner, the same warehouse address, the same tariff codes, every time. Nothing accumulates between declarations, so the tenth is as slow as the first, and each retype is a fresh chance to mistype a tax number.
No validation before sending. You find out a value was wrong from ANAF’s rejection, after the code was issued and possibly after the driver already has it.
A 60-day memory. ANAF keeps the answers for 60 days. Anything you did not download is gone at day 61, and questions about a shipment tend to arrive later than that.
No visible state. With ten open transports, the only way to know which are accepted, which were rejected and which are still processing is to check each one by hand, repeatedly.
When SPV by hand is the right answer
It genuinely is, in two cases. If you declare two or three transports a month, on stable routes, with partners you know by heart, the manual form is fine — buy nothing. And if you are setting up for the first time, filing one declaration by hand is the fastest way to understand what the system asks for, which makes every later decision better informed.
The point where it stops working is not a number of transports so much as a change in shape: a second declaring company, a colleague who has to do it when you are away, or the first rejection you did not notice for two days.
Where the standard advice fails
“The code came back, so it went through.” The code comes back at upload. The verdict comes from the status check.
“We can look it up in SPV later.” For 60 days. Then not.
“Anyone in the office can do it.” Only the person enrolled in SPV for that company, holding the certificate. Plan a second enrolment before the holidays, not during them.
“We will declare everything on Monday for the week.” At most 3 calendar days before the declared start date. Friday’s transport cannot be declared on Monday.
For the full route to a code, including how ANAF validates in two steps, see how to get a UIT code in Romania.
Sources: OUG 41/2022 on legislatie.just.ro; ANAF’s RO e-Transport guide (2025); technical information on mfinante.gov.ro; Order ANAF/AVR 1.337/1.268/2024, Official Gazette 597 of 27 June 2024.
Frequently asked questions
What is the SPV and why does e-Transport go through it?
The Virtual Private Space (SPV) is ANAF's online area for taxpayers, where filings are made and answers are delivered. RO e-Transport uses the same identity and the same channel, so the right to declare for a company is the right that person already holds in SPV. No SPV enrolment, no declaration — whatever software you plan to use afterwards.
Can I declare a transport in SPV without any software?
Yes. SPV has a form for RO e-Transport declarations, and filling it by hand is a legitimate way to obtain a UIT code. It works well for a handful of shipments a month. What it does not give you is validation of your own data before you send, a searchable history beyond ANAF's 60-day window, or any protection against retyping the same partner incorrectly.
How long does one manual declaration take?
Realistically 5 to 15 minutes for a simple transport with one goods line, longer for groupage or for a route with customs details. Most of that time is retyping data you already hold: partner identification, addresses, tariff codes, weights and values. The time per declaration does not fall with practice, because there is nothing to reuse between them.
Does ANAF check my declaration before giving me the UIT code?
Only the structure. ANAF issues the UIT code when the file is accepted for upload, and validates the content afterwards. A declaration can therefore return a code and be rejected minutes later. Always run the status check on the message and read the result — a code in your hand proves the upload happened, not that the declaration stands.
How long can I retrieve my e-Transport answers from ANAF?
60 days, under art. 6 of Order ANAF/AVR 1.337/1.268/2024. That covers the signed XML and any error list. After 60 days the only copy of the evidence is the one you saved. If you declare by hand in SPV, download and file each answer as you go — nobody will do it for you, and a dispute rarely arrives inside two months.
Can I correct or cancel a declaration from SPV?
Yes. Corrections, deletions, confirmations and vehicle changes are all messages in the same system and can all be sent from SPV. The timing rules are what limit them: corrections only before the vehicle moves, vehicle changes only by the transport organizer after departure, confirmation after arrival. Each message needs its own status check afterwards.
Is a UIT code obtained through software different from one obtained in SPV?
No. There is one RO e-Transport system and one kind of UIT code, issued by ANAF. Software sends the same declaration through ANAF's interface using an OAuth token obtained with the same digital certificate. What differs is what happens around the send: validation before, and a record kept afterwards. The code itself is identical.
