RO e-Transport: fix net and gross weight errors
Start with the two weight fields
An ERP export can be readable XML while the goods line says that its contents weigh more than the packed consignment. Compare greutateNeta with greutateBruta on the same bunuriTransportate element. The independent preflight flags a net amount above the gross amount because this pair needs investigation before departure. It does not estimate either value from the goods description, price or number of packages.
In our fictional failure the net weight is 120.00 and the gross weight is 110.00. ETR-WEIGHT points to line 4 at /p:eTransport[1]/p:notificare[1]/p:bunuriTransportate[1]/@greutateNeta. The diagnostic uses a generated prefix for navigation. The actual document namespace is mfp:anaf:dgti:eTransport:declaratie:v2. Open the example above, run the local check and use Show XML location to select the affected source line.
Repair the source mapping
First establish whether the product master stores the weight per piece or the total weight for the consignment. Multiplying one of those values twice can produce a consistent-looking decimal with the wrong meaning. Next inspect how the export applies packaging weight. The gross value should describe the packed goods represented by the line. Ask the warehouse to establish the intended figures when the source data does not make that distinction clear.
Do not make the result pass simply by copying one number into both attributes. A pallet, container or carton can matter to the intended measurement. Correct the mapping or measurement upstream and regenerate the export. In the demonstration, returning the net amount to 100.00 resolves the selected comparison against 110.00 gross. Those figures are fictional teaching values, not a loading record or evidence of a real measurement.
Read the conditions separately
Our numeric preflight accepts positive decimal quantities with at most two fractional places and a bounded integer part. It compares scaled integers so ordinary decimal rounding cannot reverse a close net-versus-gross comparison. A comma decimal separator, negative number or exponent notation needs correction before this comparison can execute reliably. The reported location identifies the attribute whose value needs attention.
Net weight is conditionally optional in the documented operation categories 60 and 70. When it is absent there, the tool does not invent a net value. Other supported operations require it for this preflight. If it is supplied, it must be positive and no greater than the gross figure. Tariff-code presence has a similar operation-dependent exception, but classification and current code-list membership remain separate questions. A numeric-looking code alone does not establish a correct goods classification.
Finish with the appropriate validation layer
The normal sample executes independently written rules and leaves XSD explicitly not executed. A readable document can still have an invalid attribute, element sequence or schema datatype. To run that structural layer, supply a lawfully obtained original v2 schema, concrete local processing rights, its provenance and required notices. The report records the original SHA256 rather than quietly substituting another version.
The XSD-error fixture changes dataTransport on line 6 to not-a-date. Our independently authored test subset demonstrates that the XSD execution path rejects this value; it does not certify the example against the official MF schema. The official Schematron v2.0.2 uses XPath 2 and cannot run in this limited XPath 1 adapter. An unsupported package remains unexecuted as a whole, even if a few of its assertions appear familiar. A passing weight comparison therefore never means complete official validation.
Inspect the fictional change
greutateNeta="120.00" → "100.00"; greutateBruta="110.00"Download the error fixture · Known outcomes and XML locations.
Primary basis and scope
MF technical publication links the v2 XSD dated 26 January 2023, Schematron v2.0.2 and v2 structure workbook. These primary sources were rechecked on 6 November 2026. The examples, diagnostic wording and partial checks here are independently written; no protected schema or assertion code is republished.
No explicit artifact licence has been established for the MF files. ANAF site conditions do not provide a blanket grant for all Ministry artifacts. Local BYO therefore requires sufficient concrete rights for the specific schema, each import and any supplied rule file. Public availability is not permission. This release bundles no official XSD, Schematron or external code-list pack.
The validator is a technical aid for Romanian transport flows, distinct from UBL DespatchAdvice and RO e-Factura. It cannot issue or confirm UIT, approve transport, determine legal applicability, connect SPV/OAuth or submit XML to ANAF. The official service and the operator’s own applicability decisions remain separate.
Recheck the corrected export
RO e-Transport validator · Related transport repair guide · API / CLI scope