Royal Mail validation rules
To support seamless parcel shipping and delivery, Royal Mail has implemented a set of validation rules that ensure all required data is accurately provided to the carrier.
These validation rules are defined in the Royal Mail Master Data File (MDF), which lists all the available services , destination coverage, and mandatory data fields for each destination. Required fields include—but are not limited to shipment content, business transaction type, and item information.
When creating a shipment, these validation rules verify that all necessary information is present and correctly formatted for each shipping scenario, reducing errors and streamlining the delivery process.
Scope of validations
The following sections summarises the MDF validation rules, their respective shipment scenarios, and the mandatory fields for each rule. The field are mapped to their typical names for clarity and reference.
All domestic DOX, NDX, and international DOX shipments
Scenario description: Domestic DOX, NDX, and international DOX shipments.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| Postcode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode |
International NDX shipments with DDU incoterm
Scenario description: International non-document (NDX) shipments using DDU incoterm.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| Items | Quantity |
| Description | |
| Value | |
| Weight |
International NDX shipment with DDU incoterm and additional item information
Scenario description: International non-document (NDX) shipments using DDU incoterm, with additional item information.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin |
International NDX shipment with DDU incoterm, customs data, and mandatory receiver contact details
Scenario description: International non-document (NDX) shipments using DDU, with extra customs data and mandatory receiver contact details.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactEmail | |
| ContactPhone | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin |
International NDX shipment with DDP incoterm and ROW destination
Scenario description: International non-document (NDX) shipments using DDP incoterm, sent to non-EU destinations, that is Rest of the World (ROW).
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactEmail | |
| ContactPhone | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin | |
| Customs | QuotedLandedCost |
International NDX shipment with DDP incoterm to EU destination
Scenario description: International non-document (NDX) shipments using DDP incoterm, sent to EU destinations.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Shipper | EoriNumber |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactEmail | |
| ContactPhone | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin | |
| Customs | QuotedLandedCost |
International NDX shipment with IOSS information to EU destination
Scenario description: International non-document (NDX) shipments with an IOSS Pre-registration number, shipped to EU destinations.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactEmail | |
| ContactPhone | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin | |
| Customs | PreRegistrationNumber populated with the IOSS number |
| PreRegistrationType defined as IOSS |
International NDX shipment with Pre-registration number
Scenario description: International non-document (NDX) shipments with Pre-registration number.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactEmail | |
| ContactPhone | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin | |
| Customs | PreRegistrationNumber |
| PreRegistrationType |
International B2B shipment
Scenario description: Shipment with B2B business transaction type.
| API object | Mandatory fields |
|---|---|
| Shipper | ContactName |
| Line 1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Destination | ContactName |
| Line 1 | |
| Town | |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin |
International NDX shipment with DDP incoterm and Importer details
Scenario description: International non-document (NDX) shipments using DDP incoterm, with importer details required.
| API object | Mandatory fields |
|---|---|
| Shipper > Address | ContactName |
| Line1 | |
| Town | |
| PostCode | |
| CountryCode | |
| Shipper | EoriNumber |
| Destination > Address | ContactName |
| Line 1 | |
| Town | |
| CountryCode | |
| ContactPhone | |
| Destination | EoriNumber |
| Items | Quantity |
| Description | |
| Value | |
| Weight | |
| HSCode | |
| CountryOfOrigin | |
| Customs | QuotedLandedCost |
| CarrierSpecifics > Importer > Address | ContactName |
| Line1 | |
| Town | |
| CountryCode |
Updated 5 days ago
