International shipments and customs

Updated Oct 23, 2026
Shipping

International shipments and customs

Where the customs values, descriptions, HS codes and origins come from, how to check them before you buy, and the profile settings for customs paperwork.

A shipment is international when the ship-from and ship-to countries are both known and differ. Shipping then builds the customs declaration from Plex, and the carrier prints the customs forms with the label.

Plex access: international shipments need the International group of Plex data sources granted. Line prices, part names, HS codes and origins also come from optional data sources. See Plex data sources to grant.

The customs check

On the workstation, an international shipment has a Customs panel. Its heading names the two countries and how many fields are missing. Each part shows:

  • Part and Description
  • Quantity
  • Value: the declared value per piece, and where it came from
  • HS code and Origin
  • Missing: anything customs needs that Plex did not give. The row is highlighted.

Fix what is missing in Plex, then load the shipper again. The checks that can stop a label run when you get rates and when you buy. On the phone, the same list is under Customs + paperwork.

The Customs panel for a shipment from the US to Canada.

The Customs panel for a shipment from the US to Canada.

Declared value

The value of each part comes from its price in Plex:

  1. the shipper's delivery detail, from Shipper_Deliveries_Detail_Get (230865), when it is granted,
  2. otherwise the release on the order, from Releases_Get (5565).

A price of zero counts as unknown, not free. Nothing is ever assumed.

Price units

The value is per piece. The Plex price is divided by its price unit:

  • each, piece or unit: divided by 1,
  • per hundred (C): divided by 100,
  • per thousand (M): divided by 1,000,
  • a number, such as "per 500": divided by that number.

The Value cell shows the sum, for example Plex price 12.50 per M, divided by 1000. A part priced by weight, length or box is not a count of pieces, so no value is declared. The cell says so. Price that part per piece, per 100 or per 1000 in Plex.

Currency

The currency is taken from the first of these that has one:

  1. the part's own price in Plex, on the delivery detail or the release,
  2. the commercial invoice in Plex,
  3. the Currency on the shipping profile, USD unless you change it.

The Value cell says which one was used.

Description, HS code and origin

  • Description: the part name in Plex, never the part number. Customs rejects generic descriptions, so give parts a real name.
  • HS code: the tariff code on the shipper line in Plex. Failing that, the shipper's commodity code. Failing that, the Plex part attribute named in the profile's Plex part attribute for the HS code.
  • Origin: the country of origin on the shipper line. Failing that, the part attribute named in Plex part attribute for country of origin. Failing that, the profile's Country of origin when none is set, and the shipment says it was applied. The ship-from country is never assumed.

Keeping HS codes and origins as Plex part attributes needs Part_Attribute_By_Name_Get (9635).

Customs settings on the shipping profile

Under Shipping setup → Profiles, the section Customs and international sets what goes on customs forms. The setup wizard's International step sets the same fields on the default profile.

  • Currency: used when Plex gives none.
  • Contents: what customs is told the shipment is, such as Merchandise or Sample.
  • If it cannot be delivered: Return it to us or Abandon it.
  • Terms of trade: the Incoterm, which says who pays duties and taxes. The Incoterm on the Plex commercial invoice wins. If neither is set, the carrier uses its default.
  • Country of origin when none is set: a two-letter country code.
  • Plex part attribute for the HS code and Plex part attribute for country of origin: the names of the part attributes that hold them.
  • Send customs documents electronically: turn it on when your carrier account is enrolled for paperless trade (ETD). If the carrier still returns paper forms, the shipment warns you to check the enrollment.
  • Paper copies of the commercial invoice: how many to print and put with the shipment, 3 unless you change it.

An Incoterm in Plex is read from the start of its text, so "DAP - Delivered at Place" is sent as DAP. One shipping does not recognize is not sent, and you are told to correct it.

What stops a label

Before a label is bought, shipping checks the customs rules. By default, a missing declared value or item weight stops an international label. A missing HS code stops it for Mexico, the EU and Northern Ireland, and warns elsewhere. A missing origin, a short HS code, or a value above 2,500 US dollars (the EEI filing threshold) warns. A value in another currency is converted with the US dollar rates set on that check; without a rate for the currency, the check warns that it could not compare. Shipping does not file EEI. File it through AESDirect or your forwarder.

You can make any check stricter, softer or switch it off for a place under Shipping setup → Customs and compliance. The most specific place wins: Northern Ireland, then the country, then the EU, then the carrier, then international or domestic, then every shipment.

Customs forms

When the carrier returns customs forms with the label, the shipment says how many must be printed and travel with it. Open them from the label list with View form, or on the phone under Customs + paperwork → Paperwork.

Was this page helpful?