LoadHub | Soluția specializată 100% e-Transport

How many UIT codes does a solar park need? And who can generate them for you

A solar park of a few hundred MWp means more than 750,000 photovoltaic modules. Loaded onto trucks, that translates into over a thousand transports, spread across months and coordinated with the construction schedule.

Every truck needs a UIT code.

It is a figure that catches most companies off guard the first time they face it, because the project turns into a logistics operation of a thousand runs, not just an energy build.

Why solar panels fall under e-Transport

The Romanian RO e-Transport system applies to international transports of goods carried out with vehicles over 2.5 tonnes. The type of goods does not matter — the restricted list of high fiscal risk goods applies to transports within national territory. For international transport, any cargo enters the system.

Photovoltaic modules, inverters, mounting structures, transformers, batteries and storage systems almost always come from outside Romania — and a UIT code must be generated for all of them. Either from China by sea, or from distributors and manufacturers inside the European Union.

The two routes and what each one means

The cargo arrives from China, through a port

Containers reach a port — Constanța, Rotterdam, Hamburg, Piraeus — customs clearance takes place, and the goods then leave by truck for the site.

If customs clearance happens in Romania, you have an import, and a UIT code must be generated for the transport from the customs office to the unloading point. The obligation falls on the consignee of the goods.

If clearance takes place in another Member State and the goods then enter Romania as Union goods, the situation changes: it is no longer an import, it is an intra-Community acquisition. The UIT code remains mandatory, but the type of operation is different and the data to be filled in is not the same. This is one of the most common confusions in practice.

The cargo comes from an EU supplier

You buy modules from a distributor in Germany, the Netherlands, Poland or Hungary. That is an intra-Community acquisition, and the Romanian beneficiary is the party that must generate the UIT code.

Here a frequent misunderstanding appears. Many supply contracts are concluded DDP, meaning the supplier handles transport all the way to destination. Companies assume — logically, but wrongly — that if the supplier brings the goods, the supplier also declares them. It does not work that way. The delivery term establishes who pays for transport and who bears the risk, not who carries the fiscal declaration obligation in Romania.

One truck, one UIT code

The UIT code identifies a consignment of goods, meaning the goods transported from one consignor to one consignee. The practical consequence: if the cargo arrives on twenty trucks, you need at least twenty UIT codes. A single code cannot be declared for an entire order, however much that would simplify life.

For a large site, the arithmetic quickly becomes uncomfortable. A project that requires 1,300 UIT codes means 1,300 separate declarations, each with its own data on cargo, carrier, vehicle and route.

Battery storage: same rules, extra complications

Energy storage systems follow exactly the same logic. The difference is that lithium-ion batteries are classified as dangerous goods, which adds a layer of documentation and transport requirements that the project team has to coordinate in parallel with the e-Transport declaration.

As hybrid projects — solar plus storage — become the norm, more and more companies end up managing two import flows at once, under different regimes and with overlapping delivery schedules.

What data each UIT code requires

The list looks unremarkable until the moment it has to be filled in a thousand times:

  • Consignor and consignee details
  • Description of the goods, with name, CN tariff code, quantity, gross weight and value
  • Carrier details: name and tax identification number
  • Registration numbers of the tractor unit and the semi-trailer
  • Place of loading and place of unloading
  • The border crossing point through which the goods enter Romania
  • Estimated date of transport

And if the vehicle changes along the way — a truck breaks down, the cargo is transhipped, the trailer is swapped — the code must be updated before the vehicle resumes its journey.

On a site receiving ten trucks a day, from three different carriers, with vehicles changing according to availability, this is no longer an occasional administrative task. It is a permanent operational function.

The real problem is not access, it is organization

An observation we hear often: “but we have an ANAF token, we have SPV access.”

Every company in Romania does. Access was never the main problem.

The problem is that the token sits with the accountant, and the accountant does not know the gross weight of the pallets, does not have the registration number of the truck arriving tomorrow morning, and does not know which border crossing the transport will use. The person who knows all of that is the site coordinator or the project manager, who has no SPV access and should not have it.

And between the two of them sits a delivery schedule that takes no account of the finance department’s working hours.

On top of that comes something companies discover late: a construction or energy company does not, structurally, have a logistics department. It has engineers, it has procurement, it has project management. Generating UIT codes usually falls to someone who already has other responsibilities, who has never done it before, under the pressure of a truck waiting at customs.

What happens when the declaration is missing or wrong

Penalties for a missing UIT code run, for legal entities, between 20,000 and 100,000 lei, to which the confiscation of the value of undeclared goods is added for repeated breaches. Since 1 January 2026, failure to transmit GPS positioning data during transport in Romania is also sanctioned.

But for an energy infrastructure project, the fine is not necessarily the biggest risk. A truck stopped at a roadside check, carrying photovoltaic modules worth tens of thousands of euros, blocks a day of installation and, down the chain, the schedule of a crew of dozens. The opportunity cost frequently exceeds the penalty itself.

The option more and more companies choose

There are two ways to solve the problem:

In-house, with your own resources. A Declarant subscription cuts the work considerably compared with working directly in SPV — you clone recurring transports and upload delivery notes with dozens of line items from a single file — but someone on your team still does it. This works if you have steady volume all year and can afford to dedicate at least one person. For a project with a fixed duration, the cost of a hire is hard to justify.

Outsourced e-Transport. You send us the information about your deliveries, and we generate the UIT codes on your behalf, under contract. In practice, you get a dedicated e-Transport department without hiring anyone and without anyone on your team having to learn SPV.

The second option has become the standard for large renewable energy projects in Romania. We already work with companies building solar parks that have delegated the entire generation of UIT codes for module and equipment transports to us — from the first container to the last delivery on site.

Using LoadHub there is no need to login into SPV

You have 3 different ways of generating UIT codes. Fast and reliable.

What we clarify before the first delivery

These are the questions LoadHub asks in the first conversation. The answers show us within minutes whether the service fits you and what it would look like in practice.

  1. How many transports do you estimate, in total and per month? The number of UIT codes equals the number of trucks. We build the price on that figure — at high volumes we work with a rate negotiated per project, not the standard per-code rate.
  2. Where does customs clearance take place? This determines whether we are dealing with an import or an intra-Community acquisition. These are two different types of operation, with different data to be filled in — and misclassification is the most frequent cause of fines.
  3. Who buys the equipment — you or the EPC contractor? The answer establishes who carries the obligation to generate the code. In many projects, each party assumes the other is handling it.
  4. Who on your team holds both the cargo data and the transport data? We need a single point of contact, usually from logistics or project management. That person needs no SPV access and no technical training — they send us the information in the format they already work with.
  5. What happens to a delivery arriving on a Friday evening or on a public holiday? This is the question that produces the most surprises. We agree from the start how we cover the intervals when your team is not working but the trucks are moving.
  6. Who is liable if a code is generated incorrectly? We work under contract, in which liability for the accuracy of the data provided and for the generation of the code is set out explicitly. Nothing is left in a grey area.

—

Do you have a project that involves repeated equipment imports and want to see concretely what it looks like when LoadHub takes over UIT code generation? Write to us at [email protected] and we will go through your delivery flow together.

Share the Post:

Testează gratuit 7 zile.

Fără date card. Configurare în 15 minute.