Mainfreight onboarding process

Start using Mainfreight by following the steps below.

  1. Send email to your Mainfreight account manager (with servicedesk@shipitsmarter.com on cc) with following text:
Dear {account manager name},
We would like to start using Mainfreight through `ShipitSmarter.com`.
Please provide us with the following information:
- Principal Name
- Principal Relation Number
- Branch
With regards,
{your contact details}
  1. Mainfreight will provide you with the requested information. You can enter that in the onboarding page of the Mainfreight carrier profile page in the Viya.me portal.

Initially Mainfreight will provide a Principal Relation Number for playground only. Once you have send a few test messages and Mainfreight has confirmed that everything is working as expected, they will provide you with a Principal Relation Number for production.

Enjoy shipping!

Mapping specifics

The integration with Mainfreight is based on the Mainfreight XML format. Below you will find the specifics of the Mainfreight integration.

Incoterms

Mainfreight uses specific codes for incoterms / Terms of delivery TOD.

Mainfreight
TOD Code
DescriptionTrigger
102Delivered Duty Unpaid - not customs clearedIncoterm = DDU
111Delivered Duty Paid - customs cleared, duty paid, tax paidIncoterm = DDP
121Delivered Duty Paid - customs cleared, duty paid, tax unpaidIncoterm = DDP
and splitDutiesFromVat = true
200Carriage Paid To RP - not customs clearedIncoterm = CPT
and dutiable* = false
221Carriage Paid To RP - customs cleared, duty paid, tax unpaidIncoterm = CPT
and dutiable* = true
and splitDutiesFromVat = true
222Carriage Paid To RP - customs cleared, duty unpaid, tax unpaidIncoterm = CPT
and dutiable* = true
300Ex WorksIncoterm = EXW
800Free CarrierIncoterm = FCA
F00Delivered At PlaceIncoterm = DAP
H00Delivered At Place - unloadedIncoterm = DPU

Note: dutiable = true means the shipment crosses a customs border. Eg:

  • Dutiable: Shipment from NL to CH
  • Not dutiable: Shipment from NL to DE
Other incoterms These are not implemented specifically but Mainfreight offers them via their integration. You can configure these based on the incoterms in the onboarding page of the Mainfreight integration. If a desired combination is not possible, please contact us.
Mainfreight
TOD Code
DescriptionTrigger
122Delivered Duty Paid - customs cleared, duty unpaid, tax unpaidNot implemented
211Carriage Paid To RP - customs cleared, duty paid, tax paidNot implemented, is basically DDP
D00Delivered At Frontier (export border)Not implemented
E00Delivered At Frontier (import border) - not customs clearedNot implemented
E11Delivered At Frontier (import border) - customs cleared, duty paid, tax paidNot implemented
E21Delivered At Frontier (import border) - customs cleared, duty paid, tax unpaidNot implemented
E22Delivered At Frontier (import border) - customs cleared, duty unpaid, tax unpaidNot implemented
G00Delivered At TerminalNot implemented

Service options Supported

Overview of implemented (special) services for Mainfreight

Mainfreight
Service Code
DescriptionTrigger
F06Consignment for attention of: … (additional text)receiver.contactName populated
F51Tail lift for delivery requiredserviceOptions.liftGate.delivery = true
F60Direct Delivery by RPNot implemented. MFR internal code
F61Fragile goods - handle with careserviceOptions.fragile = true
F27Nothing to be loaded on top of pallet/packageif any handlingUnit.isStackable = false
F22Temperature sensitive – keep specified temperatureserviceOptions.equipmentTemperature populated
124MRN (additional text)references.customsClearanceNumber populated
134B2CserviceOptions.residentialDelivery = true
F70Delivery Note Number (additional text)if configuration for deliveryNoteNumber is made in manifesting
F71Customer reference number (additional text)if configuration for customerReferenceNumber is made in manifesting
F72Consignor’s reference (additional text)if configuration for consignorReference is made in manifesting
601Star Collect Avis (additional text)serviceOptions.returns.IsReturn = true (*) and serviceOptions.appointmentForDelivery = true
607Tail lift required for pick-upserviceOptions.liftGate.collection = true
800Star PriorityserviceLevelReference = STARPRIO
803Star Priority 8serviceLevelReference = STARPRIO08
805Star Priority 10serviceLevelReference = STARPRIO10
807Star Priority 12serviceLevelReference = STARPRIO12
810Star Date (Date “yyyy-MM-dd”)serviceLevelReference = STARDATE
and timeWindows.delivery is populated
813Star Date 8 (Date “yyyy-MM-dd”)serviceLevelReference = STARDATE08
and timeWindows.delivery is populated
815Star Date 10 (Date “yyyy-MM-dd”)serviceLevelReference = STARDATE10
and timeWindows.delivery is populated
817Star Date 12 (Date “yyyy-MM-dd”)serviceLevelReference = STARDATE12
and timeWindows.delivery is populated
819Star Window (Date+TimeFrom+TimeTill “yyyy-MM-dd hh24:mi:ss hh24:mi:ss”)timeWindows.delivery.start & end are populated with date and time
and timeWindows.delivery.fixed = false
830Star Cash - Cash on DeliveryserviceOptions.cashOnDelivery.value = populated and above 0
833Star Avis (additional text)serviceOptions.appointmentForDelivery = true
834Star Avis - Call during delivery tour, phone no. (additional text)serviceOptions.preAdviceDelivery.useDriverPhone = true
and receiver.contactPhone is populated
843Consignee Reference No. or Order No.if configuration for consigneeReference is made in manifesting
846Fixed Delivery Date and Time (Date+TimeFrom “yyyy-MM-dd hh24:mi:ss”)timeWindows.delivery.start + end populated with date and time
and timeWindows.delivery.fixed = true
MDSDelivery with small delivery vanserviceOptions.smallVehicle = true
Other services These are not implemented but Mainfreight offers them via their integration. If you need any of these service options, please contact us.
Mainfreight
Service Code
DescriptionTrigger
F03Attention! Customs bonded goods,
t-form attached (T1/T2/T2F): …
(additional text)
Not implemented
F04Advice/notification already made: …
(addidtional text)
(name of the person the delivery has been arranged with)
Not implemented
F05Deadline for presentation to customs: …
(additional text “DDMMYYYY”)
Not implemented
F60Direct Delivery by RPNot implemented. MFR internal code
F21Consignment must be transported lying downNot implemented
F26Consignment must be transported uprightNot implemented
F28Delivery note / packing list attached to packageNot implemented
F37Goods have been customs clearedNot implemented
F75Direct Pick-up by SPNot implemented. MFR internal code
F76Direct Delivery by SPNot implemented. MFR internal code
123Goods shipped under HACCP conditionsNot implemented
131Delivery of complete consignment onlyNot implemented
133Long goods - Group 1Not implemented. MFR internal code
138Long goods - Group 2Not implemented. MFR internal code
139Long goods - Group 3Not implemented. MFR internal code
F08Part of the consignment already loaded in excess on previous vehicle …
(additional text)
Not implemented
F09Already shipped by our departure of … (additional text)Not implemented
F10Subsequent delivery cargo manifest:
>consignment number SP< and
>cargo manifest number<
Not implemented
F11Consignment refused, returned as per your instruction of …
(additional text “DDMMYYYY”),
consignment no of SP and RP has to be transmitted
Not implemented
F12Consignment is in excess, returned as per your instruction of …
(additional text), consignment no of SP and RP have to be transmitted
Not implemented
F24Consignment already at your premises as per your unloading report of …
(additional text)
Not implemented
F30Consignment returned because no other instruction receivedNot implemented
F74Return consignment >consignment no. SP<Not implemented
395Subsequent delivery Gateway >consignment no. SP<Not implemented
F78Loading aid / load securing deviceNot implemented
503Pick-up order number (additional text)Not implemented
504Hazardous goods information (additional text)Not implemented. MFR internal code
508Consignor pick-up order reference number (additional text)Not implemented
560Customer tariffNot implemented. MFR internal code
615Star Collect PriorityNot implemented. MFR internal code
616Star Collect DateNot implemented. We use code 507
617Routing specification pick-up order (additional text)Not implemented
618Star Collect Document - Delivery Note TransferNot implemented. MFR internal code
831Star Cash - Irrevocable Bank ConfirmationNot implemented
835Star Document - Delivery Note TransferNot implemented
836Star Document - Delivery Note SignatureNot implemented
840EKAER no. Hungary (additional text)Not implemented
841Poland SENT Reference (additional text)Not implemented
842Poland SENT Authorization Code (additional text)Not implemented
844Forwarding Gateway (only set by central system of System
Alliance Europe, branches are not allowed to send it)
Not implemented
845Goods Receiving Hours (additional text)Not implemented
847ERN UK (additional text)Not implemented
848MRN EU (additional text)Not implemented, see code 124.

Service levels

By default no specific servicelevels are communicated to Mainfreight.

In some instances Mainfreight will want to receive servicelevel codes. Your Mainfreight contact person will indicate if that is desired. If needed: in Manifesting: enable the “Include service level on shipmentDetails level - Only on request of Mainfreight”. set servicelevel setting in manifesting

By setting this to “Yes - …” the following service levels are communicated to Mainfreight:

IDDesctrigger
819Star Windowif timeWindows.delivery.start and timeWIndows.delivery.end populated and not timeWindows.delivery.fixed
846Fixed Delivery Date and Timeif timeWindows.delivery.start and timeWIndows.delivery.end populated and timeWindows.delivery.fixed
800Star PriorityserviceLevelReference = STARPRIO
803Star Priority 8serviceLevelReference = STARPRIO08
805Star Priority 10serviceLevelReference = STARPRIO10
807Star Priority 12serviceLevelReference = STARPRIO12
810Star DateserviceLevelReference = STARDATE
813Star Date 8serviceLevelReference = STARDATE08
815Star Date 10serviceLevelReference = STARDATE10
817Star Date 12serviceLevelReference = STARDATE12

Package Types

Below Mainfreight package types are supported, they combine the packageTypeCode, isStackable and handlingUnit ground dimensions (length and width) to determine the mainfreight code. The handlingUnit length and width are interchangeable, meaning a pallet of 80x120 (lxw) or 120x80 (lxw) are handled identically.

Mainfreight
Package Type
DescriptionpackageTypeCodeisStackableground dimensions
B0Block pallet non stackable with deviating dimensionspallet-100x120-eurofalsenot 100x120
B1Block pallet non stackable with standard dimensions ( 1,20 x 1,00)pallet-100x120-eurofalse100x120
B2Block pallet stackable with standard dimensions ( 1,20 x 1,00)pallet-100x120-eurotrue100x120
BSBlock pallet stackable with deviating dimensionspallet-100x120-eurotruenot 100x120
E0Euro pallet non stackable with deviating dimensionspallet-80x120-euro, pallet-80x60-euro, pallet-60x40-euro, pallet-40x30-eurofalsenot 80x120
E1Euro pallet non stackable with standard dimensions ( 1,20 x 0,80)pallet-80x120-eurofalse80x120
E2Euro pallet stackable with standard dimensions ( 1,20 x 0,80)pallet-80x120-eurotrue80x120
ESEuro pallet stackable with deviating dimensionspallet-80x120-euro, pallet-80x60-euro, pallet-60x40-euro, pallet-40x30-eurotruenot 80x120
H0Half pallet non stackable with deviating dimensionspallet-80x60falsenot 80x60
H1Half pallet non stackable with standard dimensions ( 0,80 x 0,60)pallet-80x60false80x60
H2Half pallet stackable with standard dimensions ( 0,80 x 0,60)pallet-80x60true80x60
HSHalf pallet stackable with deviating dimensionspallet-80x60truenot 80x60
IBIBCstarts with ibc--
O0One way pallet non stackable with deviating dimensionspallet-100x120-oneway, pallet-80x60-oneway, pallet-oneway, pallet-80x120-onewayfalsenot 80x120
O5One way pallet non stackable with standard dimensions ( 1,20 x 0,80)pallet-80x120-onewayfalse80x120
O6One way pallet stackable with standard dimensions ( 1,20 x 0,80)pallet-80x120-onewaytrue80x120
OSOne way pallet stackable with deviating dimensionspallet-100x120-oneway, pallet-80x60-oneway, pallet-oneway, pallet-80x120-onewaytruenot 80x120
Q0Quarter pallet non stackable with deviating dimensionspallet-40x60-chepfalsenot 40x60
Q1Quarter pallet non stackable with standard dimensions ( 0,60 x 0,40)pallet-40x60-chepfalse40x60
Q2Quarter pallet stackable with standard dimensions ( 0,60 x 0,40)pallet-40x60-cheptrue40x60
QSQuarter pallet stackable with deviating dimensionspallet-40x60-cheptruenot 40x60
CRCratestarts with crate--
CTCartonstarts with box--
DRDrumstarts with drum--
PXUndefined Palletstarts with pallet--
BLBalestarts with bale--

In case the package type is not found in the table above, an error is provided upon ordering.

You can add your own “custom package type mapping” in the onboarding page of the Mainfreight integration: package mapping overwrite in mainfreight onboarding

DG Package Types

Below Mainfreight Dangerous Goods package types are implemented and can be provided on goodsItem.dangerousGoods level.

Mainfreight
package type
DescriptionpackageTypeCode
BGBagContains BAG
CNJerri cans CANContains CAN
CTCARTONContains CARTON
or contains BOX
DRDrumContains DRUM

You can add your own “custom dangerous goods package type mapping” in the onboarding page of the Mainfreight integration.