CustomsHive
CustomsHive prepares Belgian customs declarations. It takes what a shipment arrives with (invoices, packing lists, a customer's spreadsheet, or a message from another system), turns that into structured declaration data, puts it in front of a declarant for review, and hands the finished declaration to the customs software that files it.
It covers the three regimes a forwarder's customs team works with every day:
| Regime | Declaration |
|---|---|
| Import | standard import, and entry into a customs warehouse |
| Export | standard export |
| Transit | T1 and T2, including groupage |
What it does
- Reads the documents. Invoices and packing lists as PDF, and goods lists as Excel, are read into goods lines: description, commodity code, origin, quantities, weights and values.
- Lets a declarant check and correct. Every line is reviewed against the Belgian tariff, with the measures, conditions and document codes that apply to it.
- Builds the declaration. Goods are grouped the way the declaration needs them, transport costs are divided over the items, and the header (offices, location of goods, authorisations, representation) is completed.
- Hands it over. The declaration is generated as a customs message and passed to the software that files it with Belgian customs.
A person stays in the loop: nothing is filed without a declarant having reviewed it, unless a sending system explicitly asks for automatic dispatch and is allowed to.
Connecting another system
A logistics platform, an ERP or a customer's own system can send declarations straight in, instead of documents. There are two ways, and both take the same message:
- Ingestion API: an HTTPS endpoint, with an API key or a bearer token.
- Azure Service Bus: a queue, for systems that already integrate that way. It also takes client master data.
The message is the canonical declaration: one format for import, export and transit, as JSON or XML. Its schemas are published here, and they are the contract a sender validates against:
| JSON Schema | XSD | |
|---|---|---|
| Declaration | declaration.schema.json | declaration.xsd |
| Client | client.schema.json | client.xsd |
A message that arrives becomes a dossier that a declarant reviews like any other. What was sent is kept with the dossier, exactly as it was received.
Guides
- Ingestion API: authentication, the endpoints, the canonical format field by field, how a client is recognised, and what a rejection looks like.
- Service Bus integration: the queue, message properties, complete example messages for import, export and transit, and client master data.
Getting access
CustomsHive is not a public service. An API key or queue access is issued per sending system by the team that runs it. If you are integrating on behalf of a customer, ask your contact there.