A cross-border label carries a customs declaration: a tariff code, a country of origin, a description, and a declared value per line. When one of those is missing or contradicts the item master, the parcel waits at the border or clears with the wrong duty. Customs Declaration reads each international order before its label is bought, pulls the tariff code and origin from the storefront or ERP that owns them, and compares them with the declaration drafted in the shipping platform.
Where the two disagree or a field is blank, it drafts the correction for you to approve: on the ShipStation customsItem, the EasyPost CustomsItem, or the carrier's commodity line. It does not classify goods and does not buy the label.
This is a reference listing. It documents what Fibric would read from Customs Declaration and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Orders whose shipping address country differs from the ship-from country, read from your storefront before a label exists
harmonizedSystemCode, countryCodeOfOrigin, and countryHarmonizedSystemCodes on each Shopify inventory item, and unitCost where your permissions allow
Manufacturer Tariff and Manufacturer Country on NetSuite item records, or Tariff No. and Country/Region of Origin Code on a Business Central item card
Draft customs data on the shipment: ShipStation internationalOptions with contents, customsItems, and nonDelivery, or an EasyPost CustomsInfo with its customs_items
Line prices and quantities on the order, and the sum they imply against the value declared per customs item
The carrier's declaration fields the label will need, such as FedEx customsClearanceDetail commodities or DHL Express export declaration line items
Proposed actions
Target capability: propose a corrected harmonizedTariffCode or countryOfOrigin on a ShipStation customsItem before the label is created
Target capability: propose the missing hs_tariff_number, origin_country, or value on an EasyPost CustomsItem, as a replacement object since they are immutable
Target capability: propose contents_type, non_delivery_option, and customs_signer on the EasyPost CustomsInfo when they are blank
Target capability: propose filling harmonizedSystemCode or countryCodeOfOrigin on the Shopify inventory item so the next order starts correct
Target capability: propose a hold on the order until a person confirms the declaration when no system holds a code for the item
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Catch a blank HS code before the label
For each international order, compare the Shopify inventory item's harmonizedSystemCode with the ShipStation customsItem. When either is blank or they differ, propose the correction on the customsItem for approval.
Read Manufacturer Tariff and Manufacturer Country from the NetSuite item and propose them as hs_tariff_number and origin_country on the EasyPost CustomsItem, with the value computed by your stated rule.
Sum each commodity's customsValue against the Shopify order lines. When the declaration understates or overstates the order, propose the corrected unitPrice and customsValue before Create Shipment.
Take Tariff No., Net Weight, and Country/Region of Origin Code from the Business Central item card and propose the export declaration line items for the DHL Express shipment.
A storefront or ERP connector that holds tariff codes and country of origin per item, such as Shopify, NetSuite, or Business Central
A shipping connector where the declaration is drafted before the label: ShipStation, EasyPost, FedEx, or DHL Express
Your rule for declared value, such as order line price or unit cost, stated once and applied to every proposal
A person who approves each correction, usually whoever signs the declaration
Authentication
Read access to orders and items in your storefront and ERP, and write access to customs fields in your shipping platform, each through that connector's own credentials.
Limits
It checks that codes are present, well formed, and consistent across systems; it does not classify goods or rule on which code is correct
Shopify takes a harmonizedSystemCode of 6 to 13 digits and NetSuite a tariff of 4 to 15 characters; one system can refuse the other's code
An EasyPost CustomsItem cannot be edited after creation, so a correction there is a replacement, proposed before the shipment is bought
Duties and taxes are not estimated here; a landed-cost figure comes from the carrier, such as DHL Express POST /landed-cost
Access and pricing
Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
What does the person signing the declaration approve?
A per-order diff: the customs item as drafted, the proposed value, and the source it came from, such as the Shopify inventory item or the NetSuite item record. You accept or edit each line. Nothing on the shipment changes until you do, and the label is not bought by this operator.
Does it decide the HS code?
No. It reports a missing, malformed, or inconsistent code and proposes the value already held in your item master or ERP. If no system holds one, it proposes a hold on the order and names the item that needs classification.
What trail does a correction leave?
For each correction: the order, the item, the field changed, the old and new values, the system it was copied from, who approved it, and when. Corrections you rejected are kept with the reason so the same proposal is not raised again.
Ask about Customs Declaration
Ask about the capabilities and requirements in this listing.
This operator is developed, published, and supported by Fibric. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy