The Windsor Framework
The Windsor Framework is an agreement between the UK and the EU designed to manage trade between Great Britain and Northern Ireland following Brexit. It replaces the previous Northern Ireland Protocol and aims to simplify customs procedures while ensuring that Northern Ireland continues to access the EU single market. This guide explains what the framework means for your shipments, the data you need to include when creating labels, and the next steps to ensure compliance.
Last updated 3 months ago

What Is the Windsor Framework?
The Windsor Framework sets out the new customs and trade rules for moving goods from Great Britain to Northern Ireland. Key points include:
Simplified Customs Procedures: Depending on the trade lane—whether Business-to-Consumer (B2C), Consumer-to-Consumer (C2C), or Business-to-Business (B2B)—different levels of customs data are required.
Green and Red Lanes: Shipments are classified as either “green lane” (goods deemed not at risk and subject to simplified checks) or “red lane” (goods considered at risk of moving into the EU that require a full customs declaration).
Timelines: While many changes were originally set to take effect on 30 September 2024, final details and timelines (such as full compliance by 31 March 2025) are being confirmed by the government. For the latest updates, please refer to the official HMRC guidance.
For more details on the framework and terminology, visit the UK government’s official guidance on the Windsor Framework.

How the Framework Affects Your Shipping Process
When shipping from Great Britain to Northern Ireland, you must now include additional data in your label creation requests. This extra information ensures that customs declarations are accurate and that your shipments are routed correctly. The required data vary depending on whether you are shipping as a B2C/C2C customer or as a B2B customer.
For B2C and C2C Shipments
Basic Consignment Data:
Sender and recipient names, addresses, and contact details
Parcel weight and total consignment value
A plain English description of the shipment contents
No Customs Formalities:
Generally, for B2C shipments the customs requirements are less detailed if you comply with UK Carrier Scheme guidelines and are not at risk of goods moving into the EU.
For B2B Shipments
B2B shipments require more detailed data to determine whether your shipment qualifies for the simplified “green lane” or falls into the “red lane” category, which is subject to additional customs checks and duties.
Mandatory Fields Include:
UKIMS Number: Either the sender’s or recipient’s UK Internal Market Scheme (UKIMS) number must be provided. If omitted, the shipment defaults to B2C rules and may be at risk.
EORI Number: The sender’s EORI number is always required. If a recipient’s UKIMS number is provided, then the recipient’s EORI becomes mandatory.
Clearance Declaration Details:
Shipment sale type (e.g., business or consumer shipment)
Number of pieces and total value of goods
Commodity codes, HS codes (6 or 10 digit, depending on the trade lane), descriptions, quantities, unit weights, and unit values
Country of manufacture and, if applicable, sender/recipient deferment account details for customs charges
Green vs. Red Lane Criteria:
Green Lane (Not at risk): Minimal additional data is required if the shipment includes the UKIMS details for either party.
Red Lane (At risk): A full international dataset (similar to an H1 declaration) is needed, along with extra customs information, and duties may be charged at the EU rate.

Data Fields Required When Creating Shipping Labels
To help you ensure compliance when creating labels, here is a summary of the most common data fields required under the Windsor Framework:
Sale Type: This identifies the type of the shipment whether it is B2B,B2C,C2C,C2B
Customs and Declaration Data (B2B Shipments):
UKIMS Number: For either the shipper or recipient (or both)
EORI Numbers: Always provide the shipper’s EORI; include the recipient’s EORI if a UKIMS number is used
Commodity Details:
Commodity code (HS Code)
Detailed description, quantity, unit weight, unit value, and country of origin

Next Steps for Compliance
Review Your API/Integration Specifications:
Ensure that all required fields are correctly implemented to create label requests for the couriers that you are working with.

Courier Requirements
Fields/Courier | RoyalMail | Whistl | RoyalMail ClickAndDrop | Yodel |
Supported Sales Types: | B2B / B2C | B2B / B2C | B2B / B2C | B2C |
courier.sale_type | Required | Required | Required | Required |
ship_to.ukims_number | Required for B2B shipments unless ship_from.ukims number isn't entered | N/A | Required for B2B shipments unless ship_from.ukims number isn't entered | N/A |
ship_from.ukims_number | Required for B2B shipments | N/A | Required for B2B shipments | N/A |
ship_to.eori_number | Required for B2B if ship_to.ukims number is entered for B2B | N/A | It is required for B2B if ship_to.ukims number is entered for B2B | N/A |
ship_from.eori_number | Required for B2B | N/A | Required for B2B | N/A |
item.sku | Required | Required | Required | Required |
item.quantity | Required | Required | Required | Required |
item.description | Required | Required | Required | Required |
item.value | Required | Required | Required | Required |
item.currency | Required | Required | Required | Required |
item.origin_country | Required | Required | Required | Optional |
item.hs_code | Required | Required | Required | Optional |
item.weight | Required | Required | Required | Optional |
courier.export_reason | N/A | N/A | N/A | N/A |
courier.sender_deferment_account | N/A | N/A | N/A | N/A |
Note | Either ship_to UKIMS or ship_from.ukims number is required for B2B shipments | UKIMS and EORI numbers should be configured on Whistl interface | Either ship_to UKIMS or ship_from.ukims number is required for B2B shipments |
Fields/Courier | EvriCorporate | Hermes Corporate | DPD UK | ProCarrier |
Supported Sales Types: | B2C / C2C / C2B | B2C / C2C / C2B | B2B, B2C, C2C | TBD |
courier.sale_type | Required | Required | Required | Required |
ship_to.ukims_number | Required for B2B shipments unless ship_from.ukims number isn't entered | N/A | Required for B2B shipments unless ship_from.ukims number isn't entered | N/A |
ship_from.ukims_number | Required for B2B shipments | N/A | Required for B2B shipments | N/A |
ship_to.eori_number | Required for B2B if ship_to.ukims number is entered for B2B | N/A | It is required for B2B if ship_to.ukims number is entered for B2B | N/A |
ship_from.eori_number | Required for B2B | N/A | Required for B2B | N/A |
item.sku | Required | Required | Required | Required |
item.quantity | Required | Required | Required | Required |
item.description | Required | Required | Required | Required |
item.value | Required | Required | Required | Required |
item.currency | Required | Required | Required | Required |
item.origin_country | Required | Required | Required | Optional |
item.hs_code | Required | Required | Required | Optional |
item.weight | Required | Required | Required | Optional |
courier.export_reason | N/A | N/A | N/A | N/A |
courier.sender_deferment_account | N/A | N/A | N/A | N/A |
Note | Either ship_to UKIMS or ship_from.ukims number is required for B2B shipments | B2B isn't supported by Evri so there is no need for UKIMS and EORI Number | B2B isn't supported by Evri so there is no need for UKIMS and EORI Number | TBD |
Fields/Courier | RoyalMailIntersoft | DPDLocal | Hermes | DHLParcelUKCloud |
Supported Sales Types: | B2B / B2C | B2B, B2C, C2C | B2C / C2C | B2C / C2B / B2B |
courier.sale_type | Required | Required | N/A | Required |
ship_to.ukims_number | Required for B2B shipments unless ship_from.ukims number isn't entered | Required for B2B shipments unless ship_from.ukims number isn't entered | N/A | Required for C2B. Required for B2B if ship_from.ukims number is not entered |
ship_from.ukims_number | Required for B2B shipments | Required for B2B shipments | N/A | Required for B2B |
ship_to.eori_number | Required for C2B. Required if ship_to.ukims is entered | Required for B2B if ship_to.ukims number is entered | N/A | Required if ship_to.ukims is entered |
ship_from.eori_number | Required for B2B | Required for B2B | N/A | Required for B2B |
item.sku | Required | Required | Required | Required |
item.quantity | Required | Required | Required | Required |
item.description | Required | Required | Required | Required |
item.value | Required | Required | Required | Required |
item.currency | Required | Required | Required | Required |
item.origin_country | Required | Required | Optional | TBD |
item.hs_code | Required | Optional | Optional | Optional |
item.weight | Required | Required | Required | Required |
courier.export_reason | Required for B2B | Required for B2B | N/A | Required for B2B |
courier.sender_deferment_account | Required for B2B | N/A | Required for B2B | N/A |
Note | Either ship_to UKIMS or ship_from.ukims number is required for B2B shipments | B2B isn't supported by Evri so there is no need for UKIMS and EORI Number | TBD |

Next Steps & Support
Need help? Explore more of our documentation, or contact support.
