e-Transport — declare a goods transport 🚚
When you move certain goods around Romania (or across the border), ANAF wants to know before the truck leaves. You declare the transport, ANAF gives you a code called the UIT, and that code has to travel with the goods. This is the e-Transport system.
TSync handles this through the same ANAF connection you set up for e-Factura — so once you're connected, you're ready for both.
ℹ️ Heads up — this feature is on its way. In your current version, e-Transport is prepared and can be switched on, but the full declaration screen is still being finished. This page explains the rules and how it will work, so you know what to expect.
💡 Key words: ANAF = the Romanian tax authority. SPV = your company's secure mailbox at ANAF. UIT = the unique code ANAF gives each declared transport — think of it as a "permission number" the goods carry. CUI / CIF = a Romanian company's tax code.
🎯 When do I have to declare a transport?
Romanian law requires you to declare, in advance, transports of goods that the tax authority watches closely (so-called high fiscal risk goods). Skipping the declaration, or getting the details wrong, can mean fines from 5,000 to 100,000 RON — plus the value of the undeclared goods being confiscated. It's worth getting right.
Which goods are covered?
ANAF keeps an official list. As a rough guide, it includes:
| Kind of goods | Everyday examples |
|---|---|
| Vegetables & fruit | Potatoes, onions, apples, citrus |
| Alcoholic drinks | Beer, wine, spirits |
| Building materials | Salt, sulphur, cement |
| Clothing & textiles | Finished garments |
| Footwear | Shoes and boots |
| Iron & steel | Bars, sections and similar |
| Meat | Fresh meat and preparations |
| Mineral water | Bottled water (plastic and glass) |
| Fuels | Petrol, diesel and other petroleum products |
💡 ANAF updates this list from time to time. You can always check the latest on the ANAF website under the RO e-Transport section.
Does the value matter?
Yes — generally:
- Goods coming from or going to another EU country — declare them whatever the value.
- Transports within Romania — declare once they pass a set value (ANAF's threshold has historically been a few thousand RON; check their current figure).
- Exports outside the EU — declare above the threshold.
If you're not sure whether a particular load needs declaring, your accountant can confirm it quickly.
📋 What you'll need before you start
To declare a transport you'll need, ready to hand:
- Who's sending — your company (filled in for you).
- Who's receiving — the buyer or final destination (you can look them up by their tax code, just like on an invoice).
- The vehicle — registration plate and country.
- The driver — name and phone number.
- The route — where the goods are loaded and where they're unloaded.
- The goods — a list, with quantity, value and gross weight for each item.
🔄 How you'll declare a transport
1. Start a new declaration
Go to Setup → RO ANAF → e-Transport → Add new. The screen groups everything into tidy sections:
- General — the type of transport (within Romania, arriving from the EU, going to the EU, import, export, transit) and the start and expected end dates.
- Parties — sender (already you), recipient (pick from your customers, or look them up at ANAF), and a separate carrier if someone else is doing the driving.
- Vehicle & driver — plate number, country, driver's name and phone.
- Route — the loading address and the unloading address (which can be in another country).
- Goods — one line per item, with quantity, unit, value in RON and weight. TSync adds up the total for you.
2. TSync checks it for you
Before anything goes to ANAF, TSync makes sure the essentials are there — all the required fields filled in, a sensible plate number, the start date before the end date, and a total value above zero. It tells you in plain words if something's missing.
3. Send it and get your UIT
Click Send. TSync passes the declaration to ANAF, and ANAF replies with your UIT — the unique code for this transport.
Print the UIT on the document that travels with the goods. If an inspector stops the vehicle, that's the number they'll ask for.
4. Check the status
Each declaration shows a simple status:
| What you see | What it means |
|---|---|
| 🟡 Sent | ANAF has it and is processing it. |
| 🟢 Validated | Your UIT is issued — the transport is authorised. |
| 🔴 Rejected | ANAF refused it — the reason is shown. |
| ⚫ Cancelled | The declaration was cancelled (by you or by ANAF). |
⏱ A UIT is valid for up to 5 days from when it's issued. If the transport is delayed beyond that, you'll need to declare it again.
5. Changing or cancelling a declaration
- Change it — only before the transport actually starts. Once it's under way, you create a fresh declaration instead.
- Cancel it — fine any time before the transport starts.
🏷️ A note on goods codes
Each item on a transport is identified by an official goods code (an 8-digit classification used across the EU). When you fill in the goods, TSync helps you find the right one by name, so you don't have to memorise numbers.
If a load contains different kinds of goods, list each kind on its own line.
⚠️ Common problems and how to fix them
"Transport type doesn't match the route"
What it means: you picked, say, "arriving from the EU," but both the loading and unloading addresses are in Romania.
How to fix: check the transport type against your actual route. "Arriving from the EU," for example, means loading in another EU country and unloading in Romania.
"Goods code not recognised"
What it means: the goods code entered isn't valid or is out of date.
How to fix: use the name search to pick the code rather than typing it. If your product still doesn't appear, check the customs authority's website for the latest codes.
"This vehicle already has an active transport"
What it means: the same vehicle is already declared on another transport that hasn't finished.
How to fix: check your active declarations in the SPV. Cancel the earlier one if that transport is done, or wait for it to expire.
"The recipient is inactive at ANAF"
What it means: the customer you're sending to is marked inactive at ANAF — same idea as on an invoice.
How to fix: confirm the situation with them and, if needed, reconsider the deal.
"The declared weight is too much for this vehicle"
What it means: the total weight of the goods is more than the vehicle is allowed to carry.
How to fix: use a bigger vehicle, or split the load into separate transports with different vehicles.
🔗 How it works together with e-Factura
Because e-Transport and e-Factura share the same ANAF connection, you get some nice conveniences:
- One sign-in covers both — declare a transport and send an invoice with the same connection.
- Look up a recipient by tax code the same way you do on an invoice, and TSync fills in their details.
- TSync catches a bad tax code before the declaration goes out.
- The same background sync that checks your invoices also keeps your transport statuses up to date.
In a future version, when you raise an invoice for goods that need a transport declaration, TSync will offer to create the declaration straight from the invoice — with the details already filled in.
📐 e-Transport vs e-Factura — what's different
| e-Factura | e-Transport | |
|---|---|---|
| What it's for | Sending invoices to ANAF | Declaring goods transports |
| You get back | A signed invoice | A UIT code |
| How long it lasts | Permanent once accepted | 5 days from issue |
| When you need it | Business invoices | Only certain goods, above set values |
| To reverse / change | Issue a credit note | Edit before start, or declare anew |
| Can you cancel? | No — use a credit note | Yes, before the transport starts |
🛠️ Turning e-Transport on
When you're ready (and the feature is live in your version), your administrator:
- Makes sure RO ANAF is active under Setup → Modules.
- Switches on e-Transport in Setup → RO ANAF → Settings.
- Decides who's allowed to create and cancel declarations, under Setup → Roles.
- Refreshes the browser — e-Transport then appears in the RO ANAF menu.