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?

  • UsepayorAccounts.registrationInformation when:

    • 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).
  • UsecustomsInfo.importerOfRecord when:

    • 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

customsInfo.importerOfRecord .importerAddress.countryCode

Type: String
Description: The ISO 3166-1 country code for the importer of record's address

customsInfo.importerOfRecord .importerAddress.postalCode

Type: String
Description: A country-code-appropriate postal code for the importer of record's address

customsInfo.importerOfRecord .importerAddress.addressType

Type: String (enumeration)
Values: commercial or residential
Description: The type of location for the importer of record's address

customsInfo.importerOfRecord .accountNumber

Type: String
Description: The importer of record's account number

customsInfo.importerOfRecord .taxIdentificationNumbers.number

Type: String
Description: The importer of record's tax identification number (TIN)

customsInfo.importerOfRecord .taxIdentificationNumbers.tinType

Type: String (enumeration)
Values: business_national, business_state, business_union, federal, personal_national, personal_state
Description: The type of the tax identification number for the importer of record

customsInfo.brokers.brokerAddress .countryCode

Type: String
Description: The ISO 3166-1 country code for the broker's address

customsInfo.brokers.brokerAddress .postalCode

Type: String
Description: A country-code-appropriate postal code for the broker's address

customsInfo.brokers.brokerAddress .addressType

Type: String (enumeration)
Values: commercial or residential
Description: The type of location for the broker's address

customsInfo.brokers.accountNumber

Type: String
Description: The broker's account number

customsInfo.brokers .taxIdentificationNumbers.number

Type: String
Description: The broker's tax identification number (TIN)

customsInfo.brokers .taxIdentificationNumbers.tinType

Type: String (enumeration)
Values: business_national, business_state, business_union, federal, personal_national, personal_state
Description: The type of the tax identification number for the broker

customsInfo.brokers.type

Type: String (enumeration)
Values: import or export
Description: The type of broker

Conditional fields

Request field

Details

customsInfo.importerOfRecord .importerAddress.addressLineComponents

Type: Array of address line component objects
Condition: Preferred for Mexican addresses
Description: The address line components for the address, used for some international shipments. The street1 and street2 fields should not be included if using addressLineComponents, or an error will be returned. You can find out more about Mexican addresses in Non-U.S. Address Formats.

customsInfo.brokers.brokerAddress .addressLineComponents

Type: Array of address line component objects
Condition: Preferred for Mexican addresses
Description: The address line components for the address, used for some international shipments. The street1 and street2 fields should not be included if using addressLineComponents, or an error will be returned. You can find out more about Mexican addresses in Non-U.S. Address Formats.

Optional fields

Request field

Details

customsInfo.importerOfRecord.importerAddress.name

Type: String
Description: The name of the importer of record

customsInfo.importerOfRecord.importerAddress.phoneNumber

Type: String
Description: The importer of record's phone number

customsInfo.importerOfRecord.importerAddress .phoneNumberCountryCode

Type: String
Description: The importer of record's phone number country code

customsInfo.importerOfRecord.importerAddress.emailAddress

Type: String
Description: The importer of record's email address

customsInfo.importerOfRecord.importerAddress.company

Type: String
Description: The importer of record's company name

customsInfo.importerOfRecord.importerAddress.street1

Type: String
Description: The first address line of the importer of record

customsInfo.importerOfRecord.importerAddress.street2

Type: String
Description: The second address line of the importer of record

customsInfo.importerOfRecord.importerAddress.city

Type: String
Description: The name of the city for the importer of record's address

customsInfo.importerOfRecord.importerAddress.state

Type: String
Description: The postal abbreviation of the state for the importer of record's address

customsInfo.brokers

Type: Array of broker objects
Description: An array of brokers for which you wish to include information. Fields are described in this table.

customsInfo.brokers.brokerAddress.name

Type: String
Description: The name of the broker

customsInfo.brokers.brokerAddress.phoneNumber

Type: String
Description: The broker's phone number

customsInfo.brokers.brokerAddress.phoneNumberCountryCode

Type: String
Description: The broker's phone number country code

customsInfo.brokers.brokerAddress.emailAddress

Type: String
Description: The broker's email address

customsInfo.brokers.brokerAddress.company

Type: String
Description: The broker's company name

customsInfo.brokers.brokerAddress.street1

Type: String
Description: The first address line of the broker

customsInfo.brokers.brokerAddress.street2

Type: String
Description: The second address line of the broker

customsInfo.brokers.brokerAddress.city

Type: String
Description: The name of the city for the broker's address

customsInfo.brokers.brokerAddress.state

Type: String
Description: The postal abbreviation of the state for the broker's address

customsInfo.brokers.deliveryInstructions

Type: String
Description: Special delivery instructions for the broker

Resources

Your Shipium team member is available to help along the way. However, you might find these resources helpful: