EU De Minimis (Regulatory Details)
Effective July 1, 2026, the EU removes the €150 de minimis duty exemption. For goods in a shipment with an intrinsic value not exceeding €150 entering an EU27 member state (with the exception of B2B VAT‑registered imports), the shipper must provide product identifiers on each commodity. Missing these identifiers can prevent the shipment from clearing customs.
RocketShipIt supports this through per‑commodity regulatory details, which map to
FedEx's customsClearanceDetail.commodities[].regulatoryDetails[] array. This is
currently supported on the FedEx REST carrier (fedex-rest).
Adding regulatory details
Add a regulatory_details array to each entry in your customs lines. For the EU de
minimis requirement set regulation_code to EU_DE_MINIMIS.
| Field | Required | Description |
|---|---|---|
regulation_code | yes | The regulator. Use EU_DE_MINIMIS for the EU low‑value requirement. |
product_id | yes | Your alphanumeric product identifier. The EU treats this as the merchant SKU for the consignment. |
product_id_type | yes | Type of the identifier: SKU, PART_NUMBER, GTIN, UPC, EAN, MPN, or OTHER. |
merchant_product_id | yes | The merchant's product identifier. Set equal to product_id if you don't use separate merchant‑ and SKU‑level identifiers. |
non_standard_manufacturer_product_id | yes | The manufacturer's internal SKU/ID (e.g. SH123456-L). |
standard_manufacturer_product_id | yes | A standard identifier such as GTIN, UPC, or EAN. Use the literal string "NA" when the product has no standard identifier. |
A commodity may carry more than one
regulatory_detailsentry (one per applicable regulator). If two entries share the sameregulation_codeon the same commodity, only the last one is respected.
Example
{
"carrier": "fedex-rest",
"action": "submitshipment",
"params": {
"currency": "EUR",
"customs_value": 120.00,
"ship_country": "US",
"to_country": "DE",
"customs": [
{
"customs_description": "Silicone product",
"customs_quantity": 1,
"customs_quantity_units": "EA",
"customs_line_amount": 120.00,
"customs_weight": 1,
"customs_hs_tariff": "3926.90",
"regulatory_details": [
{
"regulation_code": "EU_DE_MINIMIS",
"product_id": "SKU-123",
"product_id_type": "SKU",
"merchant_product_id": "SKU-123",
"non_standard_manufacturer_product_id": "SH123456-L",
"standard_manufacturer_product_id": "01233456789012"
}
]
}
]
}
}
See the full request in the API Explorer: FedEx-REST - Label International EU De Minimis (under €150 B2C).
IOSS number
If you are registered for the Import One‑Stop Shop (IOSS), pass your IOSS number using
the shipper tax‑id fields. These populate FedEx's shipper.tins[] array:
"ship_tax_id": "IM1234567890",
"ship_tax_id_type": "BUSINESS_UNION"
Referencing stored profiles (FedEx Regulatory API)
Instead of sending the identifiers inline on every request, you can store per‑product regulatory data once in FedEx's Regulatory API and reference it at ship time. To do this, send only the join‑key fields and omit the detail fields:
"regulatory_details": [
{
"regulation_code": "EU_DE_MINIMIS",
"product_id": "SKU-123",
"product_id_type": "SKU"
}
]
FedEx merges the stored profile data into the shipment after it is created. If a
regulatory_details entry has no inline details and no matching stored profile, the
shipment may be delayed until the details are provided.
Note: RocketShipIt does not block shipment creation when identifiers are missing — FedEx does not reject the request, but the shipment may fail to clear EU customs. Validate against the FedEx test environment before relying on this in production.
