Skip to content
UITDesk — Generate. Comply. Move Forward.
Guide

How to Get a UIT Code in Romania: Step by Step

How to get a UIT code in Romania: who files the declaration, the 3-day window, the 2.5 t / 500 kg / 10,000 lei thresholds, and why a code is not an acceptance.

7 min readPublished 10 September 2026

You get a UIT code in Romania by filing an e-Transport declaration with ANAF before the vehicle moves, and at most 3 calendar days before the declared start date. ANAF’s RO e-Transport system returns the code — 16 digits with a check digit — when it accepts the upload. No carrier, forwarder or software creates the code. The declaration is filed by whoever the law names as declarant for that particular operation, and the code then travels with the goods.

What is a UIT code, and who issues it?

UIT stands for the unique identifier of the transport. It is issued only by the RO e-Transport system run by ANAF, the Romanian tax authority, under Emergency Ordinance 41/2022 and the joint ANAF/Romanian Customs Authority Order 1.337/1.268/2024. The code is a string of 16 digits ending in a check digit, which is what lets an inspector’s device reject a fabricated number on the spot.

The system covers two families of movements. Goods classified as high fiscal risk goods under Order 802/2022 are reportable on domestic and international routes. Since 1 July 2024, international transport of goods is reportable regardless of whether the goods are on the risk list. If you are new to the system, start with the RO e-Transport overview, which sets out the legal framework and the full scope.

Read that threshold carefully. It is an OR, not an AND. Six hundred kilos of low-value goods qualify. So does a 200 kg pallet worth 12,000 lei. And the 2.5 tonne figure is the vehicle’s technically permissible mass, not the weight of the load, which puts most light commercial vans in scope before anything is loaded into them.

Who files the declaration?

The declarant is set by the type of operation, not by who owns the truck. Getting this wrong is the reason a transport travels with no code at all: each party assumes the other filed.

Operation Who declares
Import The importer
Intra-community acquisition The beneficiary
Intra-community supply The supplier
Export The exporter
Domestic transport of risk goods The supplier
Goods in transit or in storage The depositary

The transport organizer — the party carriers usually call “the transporter” — is a separate role. It is responsible for the vehicle declared against the code and for the transmission of positioning data from the vehicle. It is not, by default, the declarant. The full breakdown, including the cases where a single company holds two roles, is in the guide on who must declare in RO e-Transport.

How to get a UIT code in Romania: the six steps

1. Confirm the movement is in scope. Check the vehicle’s maximum technically permissible mass, the gross weight and the value per consignment, and whether the goods are on the Order 802/2022 list for domestic routes. International movements are in scope whatever the goods are.

2. Get access to ANAF. The declaration is submitted through ANAF’s Virtual Private Space (SPV), which requires a qualified digital certificate registered for the company, or an authorised representative who holds one. Non-resident companies need a Romanian tax identification number first. See the guide on ANAF authorisation and the digital certificate.

3. Collect the data. Sender and recipient with their tax identification, the operation type, the loading and unloading points, the transport document, the vehicle and trailer plates, the transport organizer, and per line of goods: the CN tariff code, the description, the quantity, the unit of measure, the gross weight and the value excluding VAT. Values in foreign currency convert at the National Bank of Romania rate of the declaration day.

4. Submit within the window. At most 3 calendar days before the declared start date, and before the vehicle is set in motion or presented at the border crossing point.

5. Read the response, twice. ANAF returns the UIT code on upload. Then check the status of the message. The two answers are not the same answer.

6. Put the code on the road. The driver and the transport organizer need it before departure.

Why a UIT code is not an accepted declaration

ANAF validates in two stages, and only the first one is instant. The upload check is structural: is the XML well formed, are the mandatory fields present, do the codes exist. Pass it, and the code comes back. The content rules — the ones that compare the operation type against the route, the border crossing point, the customs office and the parties — run afterwards, asynchronously.

The practical consequence is uncomfortable. A declaration can be rejected several minutes after the code was issued, printed and handed to a driver. The transport then travels with a number that looks exactly like a valid code and is attached to nothing. There is also a response state, “XML with errors, not taken over by the system”, which is a rejection rather than a queue: waiting for it to turn into an acceptance means waiting forever.

So the last step of getting a UIT code is asking ANAF what happened to it. The status call is a separate request, and it is the only thing that turns a code into evidence.

Two routes into the system: form or file

For a handful of transports a day, a form is faster: pick the partner, the location and the vehicle from a library, and most of the declaration fills itself. For a distributor sending forty consignments before noon, a file is the only workable route — a spreadsheet with one row per consignment, imported in one pass, validated in one pass.

Both routes end at the same place: an XML document, signed and submitted to the same ANAF endpoint, returning the same 16-digit code. The choice is about how you assemble the data, not about what the tax authority receives. Bulk filers should read the guide on Excel bulk import for e-Transport.

Where the standard advice fails

“Declare three days ahead and you are safe.” The three days are a ceiling on how early you may file, not a deadline. The real deadline is the vehicle starting to move. Declare on Tuesday for a Friday departure and you are fine; declare on Friday twenty minutes after the truck left and you are late, whatever the three days suggest.

“The forwarder handles it.” Forwarders arrange transport. The declaration obligation sits with the importer, exporter, supplier, beneficiary or depositary, depending on the operation. A forwarder can file on your behalf with an SPV mandate, but the liability does not move with the keyboard.

“One truck, one code.” One consignment, one code. A groupage load carrying goods for six recipients needs six declarations and six codes, each one meeting the thresholds on its own.

“The code lasts until delivery.” A UIT code is valid for 5 calendar days from the declared start date, or 15 days for intra-community acquisitions and the operations named in art. 2 pt. 9 letters g) and j) of OUG 41/2022. A transport that has not finished by then is invalidated and needs a new code. The timing rules are set out in the guide on UIT code validity and deadlines.

“Keep the confirmation email.” ANAF keeps the responses to your messages, signed XML and error lists included, for 60 days under art. 6 of Order 1.337/1.268/2024. After that, the only proof of what you declared is the copy you saved yourself.

Foreign shippers filing for the first time should also read the guide for foreign carriers and non-resident companies, which covers the tax identification and mandate steps that come before any of this.

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

Who issues the UIT code?

ANAF's RO e-Transport system issues it. Nobody else can. A UIT code is a 16-digit string with a check digit, returned by ANAF when it accepts the upload of your declaration. Software cannot create one, a carrier cannot create one, and a code that did not come from ANAF is not a UIT code, however convincing it looks on paper.

How long before the transport can I request a UIT code?

At most 3 calendar days before the declared start date, under art. 11 of OUG 41/2022. The lower bound matters more: the declaration must be filed before the vehicle is set in motion, or before the vehicle is presented at the border crossing point for international transport. Three days is a ceiling, not a target.

Can a foreign company get a UIT code in Romania?

Yes. The obligation follows the role in the operation, not the country of registration. A non-resident company that is the importer, the exporter or the supplier for a movement covered by RO e-Transport files the declaration itself. It needs a Romanian tax identification number and access to ANAF's Virtual Private Space (SPV), either directly or through an authorised representative.

Do I need a UIT code for every truck?

No. You need one for every consignment that meets the thresholds. A vehicle with a maximum technically permissible mass of at least 2.5 tonnes, carrying goods with a total gross mass above 500 kg or a value above 10,000 lei excluding VAT for at least one consignment, is in scope. In groupage, each consignment gets its own UIT code.

Does receiving a UIT code mean my declaration was accepted?

No, and this is the most expensive misunderstanding in the system. ANAF returns the code when the upload passes the structural check. The content rules run afterwards. A declaration can be rejected minutes later while the code is already printed on the transport document. Always read the status response before treating the code as final.

What do I do with the UIT code once I have it?

The code travels with the goods. It is written on the transport document and shown at a roadside check or at the border. Give it to the driver and to the transport organizer before departure, in a form they can read on the road: a printed sheet, a PDF, a message. A code that stays in an office system does not protect the truck.

What if I made a mistake in the declaration?

Correct it before the vehicle moves. Under art. 4 of Order 1.337/1.268/2024, the declared data can be modified inside the 3-day window while keeping the same UIT code. After departure, the only field still open is the vehicle, changed by the transport organizer. A transport that never starts within the code's validity needs a fresh declaration.

Read next

Your first UIT code in 5 minutes

Account, company, ANAF authorisation with your digital certificate, first declaration. 14 days free, no card.