The Windsor Framework
This document outlines the implications of the Windsor Framework on your shipping operations, the data required for creating compliant shipment labels, and the necessary steps to ensure continued compliance.
Last updated 4 months ago

Overview
The Windsor Framework is a bilateral agreement between the United Kingdom (UK) and the European Union (EU) that governs the trade relationship between Great Britain (GB) and Northern Ireland (NI) following Brexit. This framework replaces the Northern Ireland Protocol and is designed to simplify customs procedures while ensuring that Northern Ireland retains access to the EU Single Market.

What Is the Windsor Framework?
The Windsor Framework introduces new customs and trade regulations that govern the movement of goods from Great Britain to Northern Ireland. Key aspects of the framework include:
Simplified Customs Procedures: The level of customs data required depends on the trade category:
Business-to-Consumer (B2C),
Consumer-to-Consumer (C2C),
Business-to-Business (B2B).
Green and Red Lanes:
Green Lane: Goods that are deemed "not at risk" of entering the EU will be subject to simplified checks and fewer customs requirements.
Red Lane: Goods considered "at risk" of entering the EU will require a full customs declaration, including additional details to ensure compliance with EU regulations.
Timelines: Initial changes were scheduled to take effect by 30 September 2024, with full compliance expected by 31 March 2025. However, timelines remain subject to UK government updates.
Please refer to the official HMRC guidance for the latest updates, UK government’s official guidance.

How the Framework Affects Your Shipping Process with Voila
When shipping from Great Britain to Northern Ireland, additional data is required in shipment label requests to ensure accurate customs declarations and correct routing. Data requirements vary between B2C/C2C and B2B shipments.
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
Customs Formalities: B2C shipments typically require simpler customs data when following UK Carrier Scheme guidelines, provided the goods are not at risk of entering the EU.
For B2B Shipments
B2B shipments require more detailed data so that your shipment can be classified as either “green lane” (not at risk) or “red lane” (at risk). In addition to the basic consignment data, you must provide:
Mandatory Fields:
Sale Type: Specify whether the shipment is B2B or B2C
Number of Pieces and Total Value: Comprehensive details of the goods.
Commodity Details:
Commodity codes (HS codes) – 6 or 10 digits, as required.
Descriptions, quantities, unit weights, and unit values
Country of manufacture
Deferment account details (if applicable for customs charges).
UKIMS Number: Either the sender’s or recipient’s UKIMS number is required.
EORI Number: The sender’s EORI number is mandatory.
Clearance Declaration Details: These details differ based on the lane:
Green Lane (Not at risk): Only minimal extra data is needed when UKIMS details are included.
Red Lane (At risk): Requires a full international dataset, similar to an H1 declaration, along with additional customs information and may be subject to EU duties.

Data Fields Required When Creating Shipping Labels on Voila
Please check the courier requirements table for the couriers that you are using to fully comply with the courier requirements for the Windsor Framework:
To ensure compliance with the Windsor Framework, the following key fields must be included in shipment label data:
Core Data Fields
Sale Type: Identifies whether the shipment is B2B, B2C, C2C, or C2B.
Commodity Details (for B2B Shipments):
Commodity Code (HS Code).
Detailed Description: quantity, unit weight, unit value, country of origin.
UKIMS Number: shipper and/or recipient.
EORI Numbers: shipper’s EORI required; recipient’s EORI required if UKIMS details are included.
Additional Commodity Details: as required by the carrier.
Our documentation will be continuously updated as new regulations emerge, including carrier-specific compliance requirements.

Courier Requirements
⚠️ Note: These requirements may change. Please check with your courier to ensure you’re using the most up-to-date Windsor Framework fields.
Fields/Courier | RoyalMail | Whistl | RoyalMail | Yodel |
Supported Sales Types: | B2B / B2C | B2B / B2C | B2B / B2C | B2C |
courier.sale_type | Required | Required | Required | N/A |
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 | Evri | Hermes | DPD UK | DPD Local | DPD Ireland |
Supported Sales Types: | B2C / C2C / C2B | B2C / C2C / C2B | B2B, B2C, C2C | B2B, B2C, C2C | B2B, B2C, C2C |
courier.sale_type | N/A | N/A | Required | Required | Required |
ship_to.ukims_number | N/A | N/A | Required for B2B shipments unless ship_from.ukims number isn't entered | Required for B2B shipments unless ship_from.ukims number isn't entered | Required for B2B shipments unless ship_from.ukims number isn't entered |
ship_from.ukims_number | N/A | N/A | Required for B2B shipments if not at-risk goods | Required for B2B shipments if not at-risk goods | Required for B2B shipments if not at-risk goods |
ship_from.vat_number | N/A | N/A | Required for B2B At Risk Goods | Required for B2B At Risk Goods | Required for B2B At Risk Goods |
ship_to.vat_number | N/A | N/A | Required for B2B At Risk Goods if ship_from.vat_number not entered | Required for B2B At Risk Goods if ship_from.vat_number not entered | Required for B2B At Risk Goods if ship_from.vat_number not entered |
ship_to.eori_number | N/A | N/A | Required for B2B if ship_to.ukims number is entered for B2B | Required for B2B if ship_to.ukims number is entered for B2B | Required for B2B if ship_to.ukims number is entered for B2B |
ship_from.eori_number | N/A | N/A | Required for B2B | Required for B2B | Required for B2B |
item.sku | Required | Required | Required | Required | Required |
item.quantity | Required | Required | Required | Required | Required |
item.description | Required | Required | Required | Required | Required |
item.value | Required | Required | Required | Required | Required |
item.currency | Required | Required | Required | Required | Required |
item.origin_country | Required | Required | Optional for B2C&C2C but Required for B2B | Optional for B2C&C2C but Required for B2B | Optional for B2C&C2C but Required for B2B |
item.hs_code | Required | Required | Optional for B2C&C2C but Required for B2B | Optional for B2C&C2C but Required for B2B | Optional for B2C&C2C but Required for B2B |
item.weight | Required | Required | Required | Required | Required |
courier.at_risk | N/A | N/A | Required | Required | Required |
courier.export_reason | N/A | N/A | N/A | TBD | |
courier.sender_deferment_account | N/A | N/A | N/A | TBD | |
Note | TBD |
Fields/Courier | RoyalMailIntersoft | ProCarrier | Hermes | DHLParcelUKCloud |
Supported Sales Types: | B2B / B2C | TBD | B2C / C2C / C2B | B2C / B2B / C2C / C2B |
courier.sale_type | Required | TBD | N/A | Required |
ship_to.ukims_number | Required for B2B shipments unless ship_from.ukims number isn't entered | TBD | N/A | Required for C2B. Required for B2B if ship_from.ukims is not entered |
ship_from.ukims_number | Required for B2B shipments | TBD | N/A | Required for B2B |
ship_to.eori_number | Required for B2B if ship_to.ukims number is entered for B2B | TBD | N/A | Required for C2B. Required if ship_to.ukims is entered |
ship_from.eori_number | Required for B2B | TBD | N/A | Required for B2B |
item.sku | Required | TBD | Required | Required |
item.quantity | Required | TBD | Required | Required |
item.description | Required | TBD | Required | Required |
item.value | Required | TBD | Required | Required |
item.currency | Required | TBD | Required | Required |
item.origin_country | Required | TBD | Required | Optional |
item.hs_code | Required | TBD | Optional | Optional |
item.weight | Required | TBD | Required | Required |
courier.export_reason | N/A | TBD | N/A | Required for B2B |
courier.sender_deferment_account | N/A | TBD | N/A | Required for B2B |
Note | Either ship_to UKIMS or ship_from.ukims number is required for B2B shipments | TBD | B2B isn't supported by Evri so there is no need for UKIMS and EORI Number |
Fields/Courier | DHLParcelUK | SecuredMail | Fedex | DPDC2C |
Supported Sales Types: | B2C / B2B / C2C / C2B | B2B / B2C / C2B | TBD | TBD |
courier.sale_type | Required | Required | TBD | TBD |
ship_to.ukims_number | Required for C2B. Required for B2B if ship_from.ukims is not entered | Required for B2B shipments unless ship_from.ukims number isn't entered or Required for C2B shipments | TBD | TBD |
ship_from.ukims_number | Required for B2B | Required for B2B shipments | TBD | TBD |
ship_to.eori_number | Required for C2B. Required if ship_to.ukims is entered | Not Required | TBD | TBD |
ship_from.eori_number | Required for B2B | Not Required | TBD | TBD |
item.sku | Required | Required | TBD | TBD |
item.quantity | Required | Required | TBD | TBD |
item.description | Required | Required | TBD | TBD |
item.value | Required | Required | TBD | TBD |
item.currency | Required | Required | TBD | TBD |
item.origin_country | Optional | Required | TBD | TBD |
item.hs_code | Required | Required | TBD | TBD |
item.weight | Required | Required | TBD | TBD |
parcel.dim_width | Not Required | Required | TBD | TBD |
dim_height | Not Required | Required | TBD | TBD |
dim_length | Not Required | Required | TBD | TBD |
dim_unit | Not Required | Required | TBD | TBD |
courier.export_reason | Required for B2B | Required | TBD | TBD |
courier.sender_deferment_account | Required for B2B | N/A | TBD | TBD |
Note | TBD | TBD |
Fields/Courier | Huxloe | DGInternational | CollectPlus | PPI |
Supported Sales Types: | TBD | TBD | TBD | TBD |
courier.sale_type | TBD | TBD | TBD | TBD |
ship_to.ukims_number | TBD | TBD | TBD | TBD |
ship_from.ukims_number | TBD | TBD | TBD | TBD |
ship_to.eori_number | TBD | TBD | TBD | TBD |
ship_from.eori_number | TBD | TBD | TBD | TBD |
item.sku | TBD | TBD | TBD | TBD |
item.quantity | TBD | TBD | TBD | TBD |
item.description | TBD | TBD | TBD | TBD |
item.value | TBD | TBD | TBD | TBD |
item.currency | TBD | TBD | TBD | TBD |
item.origin_country | TBD | TBD | TBD | TBD |
item.hs_code | TBD | TBD | TBD | TBD |
item.weight | TBD | TBD | TBD | TBD |
courier.export_reason | TBD | TBD | TBD | TBD |
courier.sender_deferment_account | TBD | TBD | TBD | TBD |
Note | TBD | TBD | TBD | TBD |
Fields/Courier | Starlinks | UPS | ArrowXL | ParcelHub | GFS |
Supported Sales Types: | TBD | TBD | TBD | TBD | Required for B2B (Green & Red lane) shipments and exports outside the EU. Optional for B2C. |
courier.sale_type | TBD | TBD | TBD | TBD | B2B |
ship_to.ukims_number | TBD | TBD | TBD | TBD | Required for B2B "Not at Risk" shipments |
ship_from.ukims_number | TBD | TBD | TBD | TBD | Required for B2B "Not at Risk" shipments |
ship_to.eori_number | TBD | TBD | TBD | TBD | Required |
ship_from.eori_number | TBD | TBD | TBD | TBD | Required for B2B "At Risk" shipments (optional but recommended) |
item.sku | TBD | TBD | TBD | TBD | Optional |
item.quantity | TBD | TBD | TBD | TBD | Required |
item.description | TBD | TBD | TBD | TBD | Required |
item.value | TBD | TBD | TBD | TBD | Optional |
item.currency | TBD | TBD | TBD | TBD | Optional |
item.origin_country | TBD | TBD | TBD | TBD | Optional |
item.hs_code | TBD | TBD | TBD | TBD | Required for B2B "At Risk", optional for "Not at Risk" but recommended |
item.weight | TBD | TBD | TBD | TBD | Required |
courier.export_reason | TBD | TBD | TBD | TBD | Optional |
courier.sender_deferment_account | TBD | TBD | TBD | TBD | Optional |
Note | TBD | TBD | TBD | TBD | Optional |

⚠️ Disclaimer on Windsor Framework Courier Requirements
The requirements listed for each courier under the Windsor Framework are based on the latest available information as of the time of writing. However, these requirements are subject to change as couriers update their systems and procedures in line with ongoing UK-EU regulatory developments.We strongly recommend that you verify the current requirements directly with your courier or shipping platform before dispatching goods - particularly for shipments involving Northern Ireland, B2B exports, or movements classified as "At Risk"/"Not at Risk."
For the most accurate and up-to-date guidance, please consult:
Your courier’s technical documentation or support team
HMRC or UK Government resources related to the Windsor Framework

Next Steps & Support
📚 Need help? Explore more of our documentation, video walkthroughs or contact support.
With Voila, you will be set up for seamless, efficient shipping.
