Broker & Importer of Record
Optionally include customs information related to broker and importer of record in your API call.
About broker & importer of record
International shipments typically require an importer of record and customs broker. An importer of record (IOR) is the entity responsible for ensuring that imported goods comply with all relevant regulations and laws of the importing country. This typically includes the owner or purchaser of the goods but can also be a designated individual or customs broker. The IOR is responsible for ensuring compliance with customs regulations and paying applicable duties and taxes. A customs broker is a licensed professional who assists importers with the customs clearance process. While the broker assists the IOR, they are not the entity responsible for compliance and payment of duties.
Your organization may need to designate a broker and importer of record other than the shipment carrier in your calls to Shipium's APIs. This document provides guidance for including brokers and importers of record in your API call. Other guidance related to customs can be found in Customs Info for Shipments.
Understanding customs parties: Importer of record vs. sold-to party
International shipments may involve several distinct parties, each with different legal and logistical roles:
- Importer of Record (IOR). The entity legally responsible for ensuring that imported goods comply with all relevant customs regulations and laws of the importing country. The IOR is responsible for paying applicable duties and taxes. This is typically the owner or purchaser of the goods but can also be a designated individual or licensed customs broker.
- Sold-to party. The entity who purchased the goods in the commercial transaction. While often the same as the importer of record, the sold-to party may differ in scenarios such as drop-shipping, third-party purchasing arrangements, or when goods are purchased by one entity but imported by another. Some carriers, particularly FedEx, require this information for certain customs filings.
When to use each field
Use importerOfRecord when you need to specify the party responsible for customs compliance and duty payment. Use soldTo when the purchaser of the goods differs from the importer of record and your carrier requires this distinction for customs documentation. You can find details for the soldTo field in Customs Info for Shipments.
Specifying tax identification for importer of record
When providing tax identification for the importer of record in international shipments, Shipium supports two methods.
Primary method: Using payorAccounts (recommended)
The recommended approach is to specify the importer of record's tax identification using the registrationInformation object within payorAccounts. This method is particularly useful for EORI numbers and provides clear association between the party and their tax identification. For complete documentation including detailed examples, carrier-specific requirements, and all available fields, see the Specifying Payors documentation.
"payorAccounts": [
{
"accountType": "consignee",
"registrationInformation": {
"typeCode": "EOR",
"issuerCountryCode": "GB",
"registrationNumber": "GB123456789000"
}
}
]Alternative method: Using customsInfo.importerOfRecord
You can also specify importer of record tax identification using the customsInfo.importerOfRecord object. This method may be appropriate when you need to provide multiple tax identification numbers or when integrating with systems that use this structure.
"customsInfo": {
"importerOfRecord": {
"taxIdentificationNumbers": [
{
"tinType": "EIN",
"tinNumber": "12-3456789",
"tinIssuingCountry": "US"
}
]
}
}Which method should I use?
-
Use
payorAccounts.registrationInformationwhen:- You're providing EORI numbers for EU/UK customs clearance.
- You want a clear, straightforward association between party and tax ID.
- You're setting up new integrations (recommended for new implementations).
-
Use
customsInfo.importerOfRecordwhen:- You need to provide multiple different tax ID types for the same party.
- Your existing integration already uses this structure.
- You have specific requirements that necessitate the alternative method.
Specifying broker & importer of record in shipments
This is a sample API call including an array of brokers and an importer of record in the shipmentParameters of the call request. This information also can be included in the multiParcelShipmentParameters for a multi-parcel shipment. Request fields for this sample call are defined in the table that follows the code example.
{
"shipmentParameters": {
"customsInfo": {
"importerOfRecord": {
"importerAddress": {
"name": "J. Jetson",
"phoneNumber": "888-867-5309",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "SHIPPING CO",
"street1": "80 Future Drive",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"accountNumber": "6578439201",
"taxIdentificationNumbers": [
{
"number": "864357",
"tinType": "FEDERAL"
}
]
},
"brokers": [
{
"brokerAddress": {
"name": "Rod Runner",
"phoneNumber": "865-433-9999",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "456 Main St.",
"street2": "Suite 8",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"accountNumber": "0864213579",
"taxIdentificationNumbers": [
{
"number": "123567",
"tinType": "FEDERAL"
}
],
"deliveryInstructions": "deliveryInstructions",
"type": "IMPORT"
},
{
"brokerAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "888-555-1234",
"phoneNumberCountryCode": "+1",
"emailAddress": "",
"company": "",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"accountNumber": "9753124680",
"taxIdentificationNumbers": [
{
"number": "246801",
"tinType": "FEDERAL"
}
],
"deliveryInstructions": "deliveryInstructions",
"type": "IMPORT"
}
]
},
}
}
Request fields for including brokers and an importer of record are defined in the following tables. They are all included in either the shipmentParameters or multiParcelShipmentParameters of the API call. While these fields are optional for making an API call, those flagged as required must be included to designate a broker and importer of record.
Required fields
Request field | Details |
|---|---|
| Type: String |
| Type: String |
| Type: String (enumeration) |
| Type: String |
| Type: String |
| Type: String (enumeration) |
| Type: String |
| Type: String |
| Type: String (enumeration) |
| Type: String |
| Type: String |
| Type: String (enumeration) |
| Type: String (enumeration) |
Conditional fields
Request field | Details |
|---|---|
| Type: Array of address line component objects |
| Type: Array of address line component objects |
Optional fields
Request field | Details |
|---|---|
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: Array of broker objects |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
| Type: String |
Resources
Your Shipium team member is available to help along the way. However, you might find these resources helpful:
Updated 2 days ago
