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.

🚧

Important

The Royal Mail validation rules may change overtime. For the most accurate and up-to-date validation rules, please contact your Royal Mail account manager.

Ruleset A

Scenario example: Domestic DOX, NDX, and international DOX shipments.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
Postcode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
Ruleset B

Scenario example: International non-document (NDX) shipments using DDU incoterm.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ItemsQuantity
Description
Value
Weight
Ruleset C

Scenario example: International non-document (NDX) shipments using DDU incoterm, with additional item information.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
Ruleset D

Scenario example: International non-document (NDX) shipments using DDU, with extra customs data and mandatory receiver contact details.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ContactEmail
ContactPhone
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
Ruleset E

Scenario example: International non-document (NDX) shipments using DDP incoterm, sent to non-EU destinations, that is Rest of the World (ROW).

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ContactEmail
ContactPhone
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
CustomsQuotedLandedCost
Ruleset F

Scenario example: International non-document (NDX) shipments using DDP incoterm, sent to EU destinations.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
ShipperEoriNumber
Destination > AddressContactName
Line 1
Town
CountryCode
ContactEmail
ContactPhone
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
CustomsQuotedLandedCost
Ruleset G

Scenario example: International non-document (NDX) shipments with an IOSS Pre-registration number, shipped to EU destinations.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ContactEmail
ContactPhone
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
CustomsPreRegistrationNumber populated with the IOSS number
PreRegistrationType defined as IOSS
Ruleset H

Scenario example: International non-document (NDX) shipments with Pre-registration number.

API objectMandatory fields
Shipper > AddressContactName
Line 1
Town
PostCode
CountryCode
Destination > AddressContactName
Line 1
Town
CountryCode
ContactEmail
ContactPhone
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
CustomsPreRegistrationNumber
PreRegistrationType
Ruleset K

Scenario example: Shipment with B2B business transaction type.

API objectMandatory fields
ShipperContactName
Line 1
Town
PostCode
CountryCode
DestinationContactName
Line 1
Town
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
Ruleset L

Scenario example: International non-document (NDX) shipments using DDP incoterm, with importer details required.

API objectMandatory fields
Shipper > AddressContactName
Line1
Town
PostCode
CountryCode
ShipperEoriNumber
Destination > AddressContactName
Line 1
Town
CountryCode
ContactPhone
DestinationEoriNumber
ItemsQuantity
Description
Value
Weight
HSCode
CountryOfOrigin
CustomsQuotedLandedCost
CarrierSpecifics > Importer > AddressContactName
Line1
Town
CountryCode