UPS WorldShip Auto XML Import Northern Ireland Windsor Framework
Making UPS Worldship Auto XML Import work with the Windsor Framework

The Windsor Framework is a post-Brexit agreement between the UK and the EU that updates the Northern Ireland Protocol. Its aim is to reduce trade friction by creating a "green lane" for goods moving from Great Britain to Northern Ireland that stay within the UK, while maintaining checks only on goods at risk of entering the EU single market.
You must essentially declare your goods to be at risk of entering the EU or not, and supply your EORI and VAT numbers for smooth import into Northern Ireland, avoiding your customer being changed import duties and admin surcharges.
Using the XML Auto Import for UPS WorldShip, this involves providing the information that will populate the compliance IDs table on the "International Compliance" tab in the shipment. Declaring the shipping to as a business or consumer and also declaring the goods in the consignment "At Risk" or not.
This is obviously done by adding some more XML fragments to the import.
The extra schema elements can be found in the Openshipments.xdr located in your import watch directory after the XML auto import has been ran at least once.
Business / Consumer
This is handled by the node
<InternationalComplianceShipmentReceiver>B</InternationalComplianceShipmentReceiver>
Declaration | Code |
---|---|
Business | B |
Consumer | C |
At Risk / Not At Risk / Risk Unknown
This is handled by the node
<InternationalComplianceRiskLevel>RiskUnknown</InternationalComplianceRiskLevel>
Declaration | Code |
---|---|
At Risk | AtRisk |
Not At Risk | NotAtRisk |
Risk Unknown | RiskUnknown |
This is placed inside the "Shipment Information Element", as shown below:
<ProcessAsPaperless>Y</ProcessAsPaperless>
<InternationalComplianceShipmentReceiver>B</InternationalComplianceShipmentReceiver>
<InternationalComplianceRiskLevel>RiskUnknown</InternationalComplianceRiskLevel>
</ShipmentInformation>
Northern Ireland Country Code -NB
To support this functionality Northern Ireland gets its own two letter country code "NB" that flags that it needs the Windsor Framework Information providing. This should be used for the address country code on the delivery address rather than GB.
If you leave this as "GB" then you will get an error message for the last three compliance fields...
08/18/2025 12:04:16.575 - The International Compliance ID Owner has invalid characters.
08/18/2025 12:04:16.588 - The International Compliance ID Owner has invalid characters.
08/18/2025 12:04:16.601 - The International Compliance ID Owner has invalid characters.
Type codes
ID Type Description | Type Code | ID Owner Code | Field Type Code |
---|---|---|---|
Tax ID | DD00 | I | 01 |
UKIMS Number | DD65 | I | 01 |
EORI | DD01 | I | 02 |
Duty Deferment Number | DD66 | I | 03 |
Ship to country | ShipToCountryUPS Code | Business/Consumer or both | Ship to country | ComplianceIDInternationalComplianceIDOwner | Owner description | ComplianceIDInternationalComplianceCountry | ComplianceIDInternationalComplianceIDType | ID Type code description | ComplianceIDInternationalComplianceFieldType | ShipToCountryTerritory |
---|---|---|---|---|---|---|---|---|---|---|
Northern Ireland | NB | B&C | Ship from country | S | Shipper | Shipper, origin country | DD00 | Tax ID | 01 | NB |
Northern Ireland | NB | B&C | Northern Ireland | I | Importer | NB | DD00 | Tax ID | 01 | NB |
Example snippet
</Goods>
<ComplianceIDs>
<!-- Tax ID -->
<ComplianceID>
<ComplianceIDOwner>S</ComplianceIDOwner>
<ComplianceIDComplianceCountry>GB</ComplianceIDComplianceCountry>
<ComplianceIDTypeCode>DD00</ComplianceIDTypeCode>
<ComplianceIDNumber>GB1212121212</ComplianceIDNumber>
<ComplianceFieldType>01</ComplianceFieldType>
</ComplianceID>
<!-- UKIMS Number -->
<ComplianceID>
<ComplianceIDOwner>I</ComplianceIDOwner>
<ComplianceIDComplianceCountry>NB</ComplianceIDComplianceCountry>
<ComplianceIDTypeCode>DD65</ComplianceIDTypeCode>
<ComplianceIDNumber>ZIUKIM12121212121212112121</ComplianceIDNumber>
<ComplianceFieldType>01</ComplianceFieldType>
</ComplianceID>
<!-- EORI -->
<ComplianceID>
<ComplianceIDOwner>I</ComplianceIDOwner>
<ComplianceIDComplianceCountry>NB</ComplianceIDComplianceCountry>
<ComplianceIDTypeCode>DD01</ComplianceIDTypeCode>
<ComplianceIDNumber>GB12121212120000</ComplianceIDNumber>
<ComplianceFieldType>02</ComplianceFieldType>
</ComplianceID>
<!-- Duty Deferment Number -->
<ComplianceID>
<ComplianceIDOwner>I</ComplianceIDOwner>
<ComplianceIDComplianceCountry>NB</ComplianceIDComplianceCountry>
<ComplianceIDTypeCode>DD66</ComplianceIDTypeCode>
<ComplianceIDNumber>1234567890</ComplianceIDNumber>
<ComplianceFieldType>03</ComplianceFieldType>
</ComplianceID>
</ComplianceIDs>
</OpenShipment>
Check the XML Auto import log by clicking view log, for error messages on import to diagnose issue.
Thanks to UPS support for the key information above the lead me to resolve the issue.