At this time, this is a invite-only beta endpoint. If you would like to consume this API, please speak with your customer service representative.
Beta customers, please be aware there is a small chance field names, validations, or functionality may change prior to production release.
Introduction
The US Customs and Border Protection (hereafter, "USCBP") has mandated that certain shipment characteristics must be reported electronically to it prior to the shipment departing the US. The full list of rules is specified in 15 CFR § 30.2, but the most common requirements include:
- Items under the same Schedule B or harmonized tariff number, valued at more than USD2500 and are sent from the same exporter to the same recipient on the same day
- Items considered rough diamonds (classified under harmonized tariff schedule 7102.10, 7102.21 and 7102.31.)
- Items requiring an U.S. government export license or permit
- Items subject to the U.S. International Traffic in Arms Regulations (ITAR), commodity, end user, or destination requirements listed in the U.S. Foreign Trade Regulations.
Export shipments, for EEI purposes, are defined as those:
- From the U.S., Puerto Rico or the U.S. Virgin Islands to foreign destinations
- Between the U.S. and Puerto Rico
- From the U.S. or Puerto Rico to the U.S. Virgin Islands.
In most cases, you do NOT need to file if :
- All merchandise under a particular HTS (or Schedule B classification) is less than USD2500. For example, a $3000 shipment consisting of three items each with a distinct HTS and worth $1000 each.
- The shipment is from the U.S. to Canada WITH NOTHING REQUIRING AN EXPORT LICENSE
- From the U.S. or Puerto Rico to other U.S. territories (American Samoa, Northern Mariana Islands, Guam, etc).
- From the U.S. Virgin Islands to the U.S., U.S. territories, or Puerto Rico.
A full list of exclusions is available in 15 CFR 30.36 and 30.37
Commissioning/Setup Requirements
Government
First, you will need to fill out the US CBP "Letter of Intent". This authorizes a particular vendor (e.g. Easypost) to make filings on your EIN via EDI.
The answers that may not be obvious are:
- "Type of business" : "Exporter" (for most, or “Freight Forwarder” for some 3PLs may be more appropriate)
- "Methods for transmitting Data": "Using Service Provider's Software”
- “Service Provider Information” : Easypost Enterprise
- “Service Provider transmitter ID”: Easypost’s EIN= 46-1393085
- "Self certification statement" : just type what it says right below this box, e.g. Company, Title, email.
- "Format of Data" : ANSI X12
After submission, within a few days, you should get a call from USCBP with some additional steps, like linking your ACE account to this EDI feed. If you do not already have an ACE account, they will likely ask you to set one up. While it may take a little time to get a call back, the process of setup is usually instantaneous after that.
Easypost
There are two steps for Easypost; the first is to have an Easypost account. If you do not have one, it can be obtained easily online. During the beta process, the second step is to have your account manager add you to the program. Please note that access is enabled on a per-API key basis, so even if you have a parent account that is part of the beta, your child keys will also need to be added to The List.
General AES Concerns
- If you have submitted an unsuccessful filing, you MUST successfully complete the filing, even if that means submitting a generic update (Ship $1 of something simple you know will proceed) and then void/cancel the successful transaction. DO NOT LEAVE ERRORED-OUT TRANSMISSIONS PENDING.
- The party that has filed the EDI filing LOI is considered the filer of record for all transactions. This party may file on behalf of any USPPI for a shipment (specified in Delivery.Shipper, with the other parties' EIN) but the filer must present their address and EIN in Delivery.International.Exporter or the transaction will be rejected.
- Easpost Enterprise shipping systems should return Port of Export and Conveyance Code inline with the Rate response. If you are using another shipping method with this API and do not know the Port Of Export for a destination, the following carrier links may assist with that:
General API Notes
- The AES EEI Filing endpoint is https://aes.easypostenterprise.services/api/AesItrItn
- Authentication works the same way as the Easypost core API- pass the "Authorization" header with a value of "Basic" + space + Base64 encoded API token from your Easypost account.
- At the moment, you must use a production Easypost API token. If you wish to conduct test filings, simply set Environment= "Test"
Privacy and Security
- To protect your confidential data, our cloud servers FOR THIS API, DO NOT KEEP LINE ITEM (or consignee) HISTORY. Please keep logging records on your side, as we will not be able to help troubleshoot any data-specific concerns from our records alone.
Transaction Field Notes
Delivery.International.Exporter | Optional. Used to specify the "Freight Forwarder" segment of filing. See details elsewhere. |
Delivery.International.EeiTransactionNumber | This is a reference for submission. It is required to be globally unique to the filer, never repeating (for eternity). It is used as a key value (like a tracking number) for updates or voids. |
Delivery.International.PortOfExportCode | This is a four digit numerical value representing the location the shipment is leaving US soil. It must be valid (matches ACE AESTIR Appendix D) and appropriate to the mode of transport specified (no shipyards for an air shipment). |
Delivery.International.PortOfUnloading | Five digit port number, required only for US to PR shipments |
Delivery.Items.ExportInformationCode | Defaults to "OS" if not specified. Other values are specified in USCBP AESTIR Appendix E |
Delivery.Items.ExportHarmonizedCodeSource | Source of HarmonizedCode. Value of "UsScheduleB" will reflect US Census Schedule B; "UsHts", blank, unspecified, or other values will all default to US HTS. |
Delivery.Items.HarmonizedCode | The ten digit (punctuation is ignored) Harmonized Tariff Schedule or US Census Schedule B number. |
Delivery.Items.Producer.Country
|
The Country Of Origin of the commodity, in ISO 3166-2 format. For all intents and purposes, CBP is concerned if it is US made or foreign. |
Delivery.Items.PackQuantity
|
This is the normal field used for quantity, as would appear on a Commercial Invoice or other documentation; that is, what it is sold as to the consignee. See "Unit conversions" elsewhere, for more details. |
Delivery.Items.QuantityUnitOfMeasure
|
This is the normal field used to designate unit of measure for quantity, as would appear on a Commercial Invoice or other documentation; that is, what it is sold as to the consignee. See "Unit conversions" elsewhere, for more details. |
Delivery.Items.ReportingQuantity
|
If a particular item is taxed (in whole, or in part) by a different unit of measure than the commercially sold quantity, this field is required. Using this value will override QuantityUnitOfMeasure in the filing. |
Delivery.Items.SecondReportingQuantity
|
If a particular item is taxed (in whole, or in part) by multiple units of measure, this field is required. This field defaults to "X" if not specified. |
Delivery.Items.UnitValue
|
UnitValue X PackQuantity determines the commercial cost of the line item reported (regardless of the ReportingQuantity fields). |
Delivery.Items.UnitWeight
|
UnitValue X PackQuantity determines the GROSS weight of the line item reported (regardless of the ReportingQuantity fields). Gross weight of shipment must be equal to or higher than the total of all line items' individual reported weights. |
Delivery.Reference
|
This field can be any reference number, and may be repeated over time. |
Delivery.Shipper
|
The Shipper represents the US Principal Party of Interest in the transaction. |
Delivery.ShipTo
|
The physical destination of the shipment. If SoldTo is present, this is considered the Intermediate Consignee; if not, the Ultimate Consignee |
Delivery.ShippingOptions.ConveyanceCode
|
For ground or air shipments, specify the carrier SCAC or IATA codes, respectively. Two or three letter values implies Air shipments and an IATA code; Four letter values imply SCAC code and truck shipments. |
Delivery.ShippingOptions.ConveyanceName
|
Required for Vessel shipments; the name of the vessel used to export the merchandise. This field is derived from SCAC or IATA ConveyanceCode values if not specified. |
Delivery.SoldTo
|
Optional. If specified, indicates the Ultimate Destination of the shipment, and must be used with ShipTo (signifying the Intermediate Consignee) |
Environment
|
Optional. Valid values include "test" and "production" and will submit to USCBP queues accordingly. |
TransactionType
|
One of: "add", "replace", or "void". Delivery.International.EeiTransactionNumber must remain static from original transaction for replace or void to work. |
Example Transactions
A Simple Filing
This would basically be the minimum amount of fields to successfully file EEI. This absolutely assumes a lot of conditions (most covered below) apply:
{ "Delivery": { "Reference": "ABC123", "Shipper": { "Company": "Needful Things, Inc.", "StreetAddress": "1060 W Addison", "City": "Chicago", "Subdivision": "IL", "PostalCode": "60607", "Country": "US", "Contact": "Jack D. Shipper", "Phone": "888-555-1212", "Payor": { "TaxIds": [ { "Number": "88-1234567", "TaxIdType": "E" } ] } }, "ShipTo": { "Company": "Boutique Formule 1", "StreetAddress": "11 bis, Av. d'Ostendeo", "City": "Monaco", "PostalCode": "98000", "Country": "MC", "Contact": "Kaiser Soze", "Phone": "+ 377 98 06 69 00" }, "International": { "PortOfExportCode": "2095", "EeiTransactionNumber": "GloballyUniqueNo1" }, "ShippingOptions": { "ConveyanceCode": "FX" }, "Items": [ { "HarmonizedCode": "6910.10.0010", "UnitValue": { "Amount": 251, "Currency": "USD" }, "UnitWeight": { "Amount": 22.5, "Unit": "LBS" }, "Description": "Megaflush 2000 Throne", "Producer": { "Country": "US" }, "PackQuantity": 10, "QuantityUnitOfMeasure": "EA" } ] } }
Multiple Reporting Quantity Filing
{ "Delivery": { "Reference": "ABC123", "Shipper": { "Company": "Needful Things, Inc.", "StreetAddress": "1060 W Addison", "City": "Chicago", "Subdivision": "IL", "PostalCode": "60607", "Country": "US", "Contact": "Jack D. Shipper", "Phone": "888-555-1212", "Payor": { "TaxIds": [ { "Number": "88-1234567", "TaxIdType": "E" } ] } }, "ShipTo": { "Company": "Boutique Formule 1", "StreetAddress": "11 bis, Av. d'Ostendeo", "City": "Monaco", "PostalCode": "98000", "Country": "MC", "Contact": "Kaiser Soze", "Phone": "+ 377 98 06 69 00" }, "International": { "PortOfExport": "2095", "EeiTransactionNumber": "GloballyUniqueNo1" }, "ShippingOptions": { "ConveyanceCode": "FX" }, "Items": [ { "HarmonizedCode": "6101.20.0020", "UnitValue": { "Amount": 251, "Currency": "USD" }, "UnitWeight": { "Amount": 22.5, "Unit": "LBS" }, "Description": "Young Mans Knitted Windbreaker", "Producer": { "Country": "US" }, "PackQuantity": 10, "QuantityUnitOfMeasure": "EA", "ReportingQuantity": { "Amount": 1, "Unit": "doz." }, "SecondReportingQuantity": { "Amount": 2, "Unit": "kg" } } ] } }
Licensed Shipment
todo
Intermediate Consignee
todo
Freight Forwarder
todo
Vessel (Ocean) Shipment
(todo)
Comments
0 comments
Article is closed for comments.