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
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostcode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Ruleset B

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

API objectMandatory fields
Shipper > AddressContactName
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
Ruleset C

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

API objectMandatory fields
Shipper > AddressContactName
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
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
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactEmail
Destination > AddressContactPhone
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
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
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactEmail
Destination > AddressContactPhone
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
CustomsQuotedLandedCost
Ruleset F

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

API objectMandatory fields
Shipper > AddressContactName
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
ShipperEoriNumber
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactEmail
Destination > AddressContactPhone
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
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
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactEmail
Destination > AddressContactPhone
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
CustomsPreRegistrationNumber populated with the IOSS number
CustomsPreRegistrationType defined as IOSS
Ruleset H

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

API objectMandatory fields
Shipper > AddressContactName
Shipper > AddressLine 1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactEmail
Destination > AddressContactPhone
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
CustomsPreRegistrationNumber
CustomsPreRegistrationType
Ruleset K

Scenario example: Shipment with B2B business transaction type.

API objectMandatory fields
ShipperContactName
ShipperLine 1
ShipperTown
ShipperPostCode
ShipperCountryCode
ShipperEoriNumber
DestinationContactName
DestinationLine 1
DestinationTown
DestinationCountryCode
DestinationEoriNumber
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
Ruleset L

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

API objectMandatory fields
Shipper > AddressContactName
Shipper > AddressLine1
Shipper > AddressTown
Shipper > AddressPostCode
Shipper > AddressCountryCode
ShipperEoriNumber
Destination > AddressContactName
Destination > AddressLine 1
Destination > AddressTown
Destination > AddressCountryCode
Destination > AddressContactPhone
DestinationEoriNumber
ItemsQuantity
ItemsDescription
ItemsValue
ItemsWeight
ItemsHSCode
ItemsCountryOfOrigin
CustomsQuotedLandedCost
CarrierSpecifics > Importer > AddressContactName
CarrierSpecifics > Importer > AddressCompanyName
CarrierSpecifics > Importer > AddressLine1
CarrierSpecifics > Importer > AddressTown
CarrierSpecifics > Importer > AddressCountryCode
CarrierSpecifics > ImporterEoriNumber