1. Home
  2. Docs
  3. Guides
  4. Parcelforce_Migration_Faq
Log a Case

ParcelForce Migration FAQ

Instructions and common questions about the ParcelForce to Royal Mail v2 migration.

Overview

ParcelForce has been acquired by Royal Mail. They are combining their tech, meaning that ParcelForce customers will need to migrate to the new Royal Mail v2 API. This FAQ will help guide you through the migration process.

We are continuously updating this guide with more information, questions, and known issues.

Install the latest version of the Multi-Carrier package for sandbox or production.

NOTE: Due to recent changes you might get an error saying URL No Longer Exists when you are trying to upgrade the package using the above links. Delete your browser history for the last hour and try using the link again.

Why should you migrate?

ParcelForce will decommission their old API by the end of 2025.

What to expect?

Your ParcelForce customer representative should reach out to you to provide the new account details. If this has not happened please contact them. Once you have these details your Salesforce Admin or relevant person can complete the migration.

What is required for the authentication process?

For the new Royal Mail authentication process you will need:

  • Your Royal Mail account number(s)
  • Posting location code
  • Billing address
  • Hub code (optional)
  • OBA access code (optional)

Will the old ParcelForce services still be available?

Yes - however, many of them have been mapped to a new name, so you will need to update your configuration from the old service name to the new service name. If unsure, we recommend reaching out to your ParcelForce representative who can help with the service translation for your contract.

When does this need to be done?

ParcelForce has set a migration deadline of 31 December 2025. We encourage customers to prioritize this transition to avoid disruptions. Zenkraft will be available to assist throughout the process.

How do I migrate?

A new shipping preference or shipping account will need to be created. For specific steps please see below.

For any questions or assistance, please reach out to our support team.

For step-by-step migration instructions follow the below steps.

Migration steps for Multi-Carrier users

Here you can find a detailed step by step guide of migrating from ParcelForce to Royal Mail v2.

1. Get your credentials

You should be contacted by your ParcelForce representative to receive the new Royal Mail account information. If this has not happened please reach out to them.

To authenticate you will need:

  • Your Royal Mail account number(s)
  • Posting location code
  • Billing address
  • Hub code (optional)
  • OBA access code (optional)

2. Contact Zenkraft Support for an additional carrier license

During the migration you can be granted a temporary carrier license. Please reach out to our support team by opening a case.

3. Create a new shipping preference

You will need to create a new shipping preference using the Royal Mail v2 credentials. You can find more information on creating a preference in this guide.

4. Custom Address Source

There are a few steps to complete to make sure your custom address source is compatible with the new Royal Mail v2 configuration. If it is easier, you can create a separate CAS for these settings.

  1. Replace any mention of the old ParcelForce preference(s) with the new Royal Mail one(s)
  2. Update the service type(s)
  3. Replicate or configure special services

5. Delete the old preference

Once you completed the migration you need to delete the old shipping preference. If you have active shipments (not delivered, not voided), by default the application will try to prevent you, but there are ways around it. Please create a case for our support team and they can walk you through the process. Once completed, they will also remove the temporary carrier license.

Migration steps for Commerce Cloud customers

In this section you can find the steps for updating your Salesforce Commerce Cloud environment.

1. Create a new shipping account

Follow the steps in the migration steps for API only customers section of this guide for instructions on creating a new shipping account.

2. Update the carrier slug and account number in SFCC

Navigate to Custom Preferences then update the carrier values to royal_mail_v2 and the account number to the new shipping id in the following sections:

  • Zenkraft General - Change the value of the zenkraftCarrier
  • Zenkraft Returns - Change the value of the Returns Carrier ID
  • Zenkraft Advanced Configuration - The Advanced JSON may have multiple references to FedEx so make sure all of them are updated


NOTE: If changing the carrier slug would cause issues or if you are running into errors please create a case for our support team.

Migration steps for API only customers

In this section you can find the steps to creating a new test or production shipping account.

Creating a new shipping account

To authenticate you will need:

  • Your Royal Mail account number(s)
  • Posting location code
  • Billing address
  • Hub code (optional)
  • OBA access code (optional)

Update and fill in the missing details in the below code and run the request in Postman.

		curl --location --request POST 'https://api.zenkraft.com/shippingaccount' \
		--header 'Content-Type: application/json' \
		--header 'zkkey;' \
		--data-raw '{
    "shipping_account": {
        "auth": {
            "account_number": "0630000000",
            "posting_location_code": "9000000000"
        },
        "billing_address": {
            "city": "",
            "company": "",
            "country": "GB",
            "email": "info@test.com",
            "name": "John Smith",
            "phone": "+44 71111111",
            "postal_code": "",
            "street1": ""
        },
        "carrier": "royal_mail_v2",
        "country": "GB",
        "debug": true,
        "name": "New Royal Mail Account",
        "test": false
    }
}

			

Creating a new test account

Fill in the missing details in the below code and run the request in Postman
It is essentially the same as the production one but with test=true.

		curl --location --request POST 'https://api.zenkraft.com/shippingaccount' \
		--header 'zkkey;' \
		--header 'Content-Type: application/json' 
		--data '{
    "shipping_account": {
        "auth": {
            "account_number": "0630000000",
            "posting_location_code": "9000000000"
        },
        "billing_address": {
            "city": "",
            "company": "",
            "country": "GB",
            "email": "info@test.com",
            "name": "John Smith",
            "phone": "+44 71111111",
            "postal_code": "",
            "street1": ""
        },
        "carrier": "royal_mail_v2",
        "country": "GB",
        "debug": true,
        "name": "New Royal Mail Account",
        "test": true
    }
}
			

For any questions or assistance please create a case for our support team.