Mapping specifics
Address fields
The GLS ShipIT API validates the field length of the address fields (see tabel below). In case the field length of a field is exceeded, an error is returned by default. It is possible to change a setting in de carrier configuration that will cut the incomming address fields back to the maximum length supported by GLS
Address field | Field length |
---|---|
Name1 | 40 |
Name2 | 40 |
Name3 | 40 |
CountryCode | 2 |
Province | 40 |
ZIPCode | 10 |
City | 40 |
Street | 40 |
StreetNumber | 40 |
80 | |
ContactPerson | 40 |
FixedLinePhonenumber | 35 |
MobilePhoneNumber | 35 |
Incoterm mapping
GLS supports several delivery terms. Per default 4 of these terms are mapped using the incoterm property combined with the service option splitDutiesFromVat. When need, custom mappings can be configured in the carrier setup in the ordering module.
GLS code | GLS Incoterm reference | Description | Trigger |
---|---|---|---|
10 | DDP | Exporter pays duties, taxes, customs clearance fee | Shipment.incoterms.incoterm = ddp Shipment.serviceOptions. |
11 | DDP | indirect procedure 40 - Central clearance | |
12 | DDP | indirect procedure 40 - Clearance final country | |
18 | VAT | IOSS Registration Scheme & VOEC | |
20 | DAP | Importer pays duties, taxes, customs clearance fee | Shipment.incoterms.incoterm = dap Shipment.serviceOptions.splitDutiesFromVat = false |
21 | DAP | direct procedure 40 - Central clearance | |
30 | DDP | Exporter pays duties, customs clearance fee - the importer pays taxes | Shipment.incoterms.incoterm = ddp Shipment.serviceOptions.splitDutiesFromVat = true |
33 | DDP | indirect procedure 42 - external fiskal representative | |
40 | DAP | cleared, Exporter pays customs clearance fee, the importer pays taxes and duties | Shipment.incoterms.incoterm = dap Shipment.serviceOptions.splitDutiesFromVat = true |
41 | DAP | direct procedure 40 - Central clearance | |
50 | DDP | Exporter pays only customs clearance fee (only applicable for low value consignments) | |
91 | External Broker Clearance |
Applied currencies for usage of incoterms 18 and 50 are the following: EUR, CHF, CNY, JPY, CAD, AUD, SEK, INR, GBP, PLN, NOK, USD for other currencies incoterms 18 and 50 can not be used.
Shipment Level Services
GLS support two type of core products:
PARCEL
EXPRESS
Both products can be enhanced with additional service options as shown in the service mapping table below below. Unless otherwise indicated the default serviceLevelReference must be set to PARCEL
ServiceCode | Level | Product | Description | Trigger |
---|---|---|---|---|
service_pickandship | Shipment | Parcel | Shipper orders a pickup at consignee and delivery at a third party address repair centre or different warehouse | serviceLevelReference = PICKSHIP For this service the collection address must be populated |
service_pickandreturn | Shipment | Parcel | Shipper orders a pickup at consignee and return to shippers address | serviceLevelReference = PICKRETURN For this service the collection address must be populated |
service_completedeliveryconsignment | Shipment | Parcel | Adding the consignment service to a shipment will trigger processes in Unique to wait for all the parcels of a consignment that reach GLS within the current or next working day. | Not available |
service_flexdelivery | Shipment | Parcel | Email notification with option to provide delivery instruction (e.g. re-route to parcel shop, deliver one day later ) | serviceOptions.residentialDelivery = true serviceOptions.preAdviceDelivery.useEmail == true |
service_guaranteed24 | Shipment | Parcel | Next day Delivery | serviceLevelReference = GUARANTEED |
service_0800 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS08 |
service_0900 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS09 |
service_1000 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS10 |
service_1200 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS12 |
service_saturday_1000 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS10 shipment.timeWindows.delivery.onlySaturday == true |
service_saturday_1200 | Shipment | Express | Service level for Express Product | serviceLevelReference = EXPRESS12 shipment.timeWindows.delivery.onlySaturday == true |
service_Saturday | Shipment | Express | Service level for Express Product | shipment.timeWindows.delivery.onlySaturday == true |
service_documentreturn | Shipment | Parcel | Not available | |
service_exchange | Shipment | Parcel | When booking the ExchangeService you will receive 3 output data files: the parcel’s label sent to the consignee, the label for the parcel returned to the shipper (or a third party) with the exchanged content and an acceptance receipt | serviceOptions.returns.isReturn == true serviceOptions.returns.pickupPolicy == exchange |
service_deliveryatwork | Shipment | Parcel | For sending parcels directly to the work location of the consignee the needed information must be specified in the service section. | Not available |
service_deposit | Shipment | Parcel | If you are allowing GLS to drop off the parcel at a given place of deposit, request the DepositService. This service is not combinable with other services that require consignee interaction. | serviceOptions.signatureForDelivery == noSignatureRequired PlaceOfDeposit is taken from instructions.carrierInstructions.delivery |
service_deposit (Letterbox) | Shipment | Parcel | The letterbox service is a special kind of DepositService (see above) just specifying the PlaceOfDeposit as being the letterbox (in delivery country’s language). | serviceOptions.signatureForDelivery == noSignatureRequired PlaceOfDeposit is taken from instructions.carrierInstructions.delivery |
service_inbound | Shipment | Parcel | In case of inbound logistics a manufacturer is paying the bills for a parcel send between other parties. | Not available |
service_tyre | Shipment | Parcel/Express | transport of tyres | Not available |
service_identpin | Shipment | Parcel | If you want the consignee to authorize themselves by a given PIN in combination with their birthday. | Not available |
service_ident | Shipment | Parcel | Another way of identifying the actual consignee of being the correct recipient, it can be done by their ID containing the information from the service section. | Not available |
service_shopdelivery | Shipment | Parcel | Parcels with ShopDeliveryServices will be delivered to the given parcelshop (identified by ParcelShopID) instead of the consignee’s original address | address.dropOff.carrierAssignedAddressId |
service_shopreturn | Shipment | Parcel | Parcels with ShopReturnService are sent back from the original consignee to the shipper. They must be dropped off at a GLS parcelshop | serviceOption.returns.pickupPolicy == servicepoint NumberOfLabels is based in number of handling units |
service_intercompany | Shipment | Parcel | Parcels with IntercompanyService are sent from one company location (consignee) to another (intercompany address). | Not available |
Shipment Unit Level Services
ServiceCode | Level | Product | Description | Trigger |
---|---|---|---|---|
service_addonliability | ShipmentUnit | Parcel | When sending parcel contents having a higher value, you can define the liability level. The levels depend on each country. | shipment.handelingUnit.serviceOptions.insuredValue.value > 0 |
service_cash | ShipmentUnit | Parcel | Adding the cash service requires the drivers to collect the requested amount at point of delivery | Not available |
service_hazardousgoods | ShipmentUnit | Parcel | Service specifying the hazourdous goods on shipment unit level | Not available |
Also worth mentioning
Parceldata
All shipments for which data is transferred to GLS will be invoiced. Shipments that are created but are not actually shipped, should therefore be cancelled to avoid unnecessary cost.
Pick&Return / Pick&Ship
- When using the
Pick&Return
service, the shipment will always be returned to the address that is linked to the GLS account. - When using the
Pick&Ship
service, the shipment will be delivered at the address provided in the delivery address.
GLS Belgium specific requirements
When using the GLS ShipIt API for shipments that are send via GLS Belgium there are a few special requirements.
- The shipment reference can not exceed 15 characters, otherwise an error is returned.
- The GLS backoffice system is strictly validating the correct writing of streetnames (for Belgium domestic shipments)
- Initially all dutiable shipments are created with incoterm code
20
(DAP). A seperate call to a customs API is needed to update the shipment with all the necessary customs information / documents
GLS Services not supported by GLS-BE
- service_cash
- service_addonliability
- service_exworks
- service_hazardousgoods
- service_exchange
- service_ident
- service_inbound
- service_tyre
- service_completedeliveryconsignment
- service_intercompany
- service_deliveryatwork