githubEdit

Carrier management

A carrier is an external shipping provider (for example, DHL, FedEx, Bpost) responsible for transporting packages across the supply change. Each carrier offers distinct services, coverage areas, and service levels.

Role in fulfillmenttools

Carrier data (for example, pickup availability, cutoff times, service options) is used during routing to compute a shipment carrier recommendation per order. If a carrier is specified at order level, that specification is used. If not, the recommended carrier is applied during shipment creation based on configured availability and operational constraints.

Functional capabilities

Carrier integrations enable:

  • Shipment carrier recommendation based on routing decisions. Applied during shipment creation if no carrier is specified at order level

  • Creation of shipping and return labels

  • Access to tracking information

  • Automatic update of the handover task upon parcel pickup

  • Recording and processing of delivery events, including successful delivery and delivery issues

Configurations

For consideration during routing and shipment, carriers must:

  • Be activated at tenant level (credentials and core settings)

  • Be connected to facilities (facility–carrier connection with status, cutoff times, and optional delivery areas)

  • Include Country Service Mappings (CCSMs) for source and destination requirements and allowed services

  • Define label or parcel classifications and non-delivery days (optional)

  • Set carrier capacity per facility–carrier pickup slot (optional)

Available carriers

Both native and third-party integrations are supported. The available features are exposed through a consistent interface regardless of the model.

Standard carrier integrations

The following carriers are currently have integrations with fulfillmenttools. Availability depends on the region and service coverage defined in contractual agreements.

Carrier
Release state
Key
Notes
GA

BRING

Norway (domestic)

GA

DHL_V2

Domestic shipping in Germany

GA

DHL_BENELUX

Belgium, Netherlands, Luxembourg (domestic)

GA

DHL_EXPRESS

International

ALPHA

DPD

Germany

DPDarrow-up-right (Switzerland)

ALPHA

DPD_CH

Switzerland

GA

GLS

Germany (domestic). For PUDO delivery, the Parcel Locker ID must be set in “additional address information”.

GA

INTEX

Germany (domestic)

GA

POSTNL

Netherlands (domestic)

GA

POST_NORD

Scandinavia

UPS via Parcelbroker

ALPHA

UPS_PARCELBROKER

Germany

Technology partners Some carriers are integrated through technology partners (for example, VCE). In these cases, the type of credentials required may differ from the carrier's native API. Credentials are provided as part of the onboarding process.

circle-exclamation

Custom carriers

If you don't want to use one of our native carrier integrations, you can create a custom carrier that is connected through an external service or operational process. This mechanism enables you to integrate:

  • Local delivery partners (for example, bike couriers)

  • Store operators who hand parcels to local drop-off points at flexible times

  • Internal delivery fleets with independent routing systems and apps

See the Custom carrier article for more information.

Activating supported carriers

Carrier integrations facilitate data exchange with external shipping providers, enabling label creation, tracking, delivery event processing (e.g., pickup, in-transit, delivered), and handover updates.

A list of supported carriers can be found under supported carriers.

Two integration models are supported that are connecting fulfillmenttools and carriers:

  • Direct integration: A connection to the carrier’s native technical interface

  • Third-party integration: A connection via a multi-carrier provider that acts as an intermediary and offers access to multiple carriers through a single interface

Both models support the same functional scope and are accessed through a consistent API layer. The integration method can differ per tenant, depending on contractual and operational requirements. Direct and third-party integrations can also be combined in parallel if needed.

Carrier connections to facilities

Carriers must be explicitly connected to facilities to be available during shipment creation and routing. A facility-to-carrier connection defines where a carrier is operationally available and specifies the configuration parameters that influence routing and shipping logic.

Entities in carrier integration

Carrier integration involves two categories of entities:

Configurations entities

Define how carriers can be set up and used.

  • Carrier: Representation of a shipping provider, created either as a native, third-party, or custom carrier

  • Facility-to-carrier connection: Defines availability at a facility, including cutoff times, delivery areas, and capacity rules

  • Carrier Country Service Mapping (CCSM): Template for required data and allowed services per origin–destination combination

  • Label classifications: Parcel size and weight categories defined in the carrier configuration

Operational entities

Represent objects created during the fulfillment process:

  • Shipment: A container for one or more parcels, always linked to a carrier

  • Parcel: A single physical parcel with its own label and tracking information

  • Delivery events: Status updates such as pickup, in-transit, or delivered

Facility-to-carrier configuration parameters

Each facility-to-carrier connection contains specific parameters:

  • Cutoff time: Time when the carrier performs parcel pickup at the facility. Affects same-day delivery eligibility and must align with the facility’s fulfillment schedule

  • Delivery areas (optional): Postal codes and country codes defining where shipments can be delivered from this facility

  • Carrier status: Only carriers that are active both at tenant and facility level are available for routing

  • Capacity limits and non-delivery days (optional): Rules to ensure that pickup constraints and calendar restrictions are respected

  • Versioning and URL overrides: Updates require versioning (optimistic locking). Facility-specific URL overrides can be defined to differentiate between sandbox and production usage

All configuration steps related to carrier activation and facility assignment must be performed via API. Once activated, carriers can be further managed in the Backoffice interface.

Drawing
Illustration: Example of different facilities with individual facility–carrier connections, including standard, same-day, custom, and bike carriers.
circle-check

Data for activating carriers

To ensure frictionless shipping operations, certain data must be available at shipment creation. Data is categorized as mandatory, recommended, or optional. While only mandatory data is required for domestic shipments, providing both mandatory and recommended data is strongly advised, especially for international use cases.

Data type
Mandatory data
Recommended data
Overwrite rule

Source (facility) data

Postal address of the shipping facility

Telephone number, email address

parcel.sender ▷ shipment.sourceAddress ▷ facility.address

Target (consumer) data

Consumer postal address (including house number)

Telephone number, email address

parcel.recipient ▷ shipment.targetAddress ▷ order.consumer.address

Customs (international shipments)

None

  • HS Code (8 digits)

  • Customs value per unit (in minor currency units, e.g., cents)

  • Currency (ISO-4217)

  • Number of decimal places

orderLine.article.attributes ▷ listing.attributes

Insurance values

None

  • Insurance value per unit (minor currency units)

  • Currency (ISO-4217)

  • Number of decimal places

Customs and insurance data are handled separately, no fallback between categories

Physical dimensions and weight

None

Weight per unit (grams) Height, width, length (mm) (optional)

orderLine.article.attributes ▷ listing.attributes

Parcel label classifications

  • Array of predefined parcel types (dimensions, weight) selectable during label creation

  • Values are carrier- and contract-specific and may be omitted

  • Duplicates are prohibited: Two entries are duplicates if their dimensions and services are identical

Last updated