LokiCheckout_GlsNl
This Magento 2 module is an add-on package to the LokiCheckout.
Installation
Install this package via composer:
composer require loki-checkout/magento2-gls-nl
Next, enable this module:
bin/magento module:enable LokiCheckout_GlsNl bin/magento setup:upgrade
Features
This module is a standalone GLS Netherlands carrier (carrier code glsnl), built on the official GLS NL Label API. It does not depend on any other GLS extension.
- Two shipping methods: home delivery (
glsnl_business) and GLS ParcelShop delivery (glsnl_shopdelivery) - Flat rates per method, or table rates imported from a CSV file (weight, subtotal or item count vs. destination)
- ParcelShop picker in the Loki Checkout (dropdown and map). The shipping address is replaced by the selected ParcelShop
- Optional delivery options for home delivery (express, Saturday and time slots from the GLS API), each with a configurable surcharge
- Admin label creation:
- The Ship with GLS label button on the order view creates the shipment, the tracking number and the label in one go
- A mass action in the order grid does the same for multiple orders
- Magento's native Create Shipping Label option on the new shipment page
- The Delete GLS label button on the shipment view cancels the label at GLS
- The selected ParcelShop and delivery option are copied to the order and shown in the admin order view
Configuration
Go to Stores > Configuration > Sales > Delivery Methods > GLS Netherlands (LokiCheckout):
- API Username, API Password and API Subscription Key: your credentials for the GLS NL API. Test Mode sends requests to
https://api.gls.nl/test/instead ofhttps://api.gls.nl/v1/. - GLS Customer Number: optional, sent with every label request.
- Debug: logs API requests and responses (with credentials masked) to
var/log/glsnl.log. - Shipping labels use the sender address under Stores > Configuration > Sales > Delivery Methods > Shipping Settings > Origin and the store name and phone under General > Store Information.
Table rates
Set Rate Type to Table rates (CSV). Then switch to website scope to import and export the CSV file. The columns are:
| Country | Region/State | Zip/Postal Code | Condition | Method | Price | |---------|--------------|-----------------|-----------|--------|-------| | NL | * | * | 0 | business | 6.95 | | NL | * | 1000* | 0 | shopdelivery | 3.95 | | * | * | * | 0 | * | 12.50 |
- Use
*(or leave the cell empty) to match any value. - Postcodes can be exact (
1234AB), a prefix (1234*) or a numeric range (1000-1999). - Method is
business,shopdeliveryor*(both methods). - For each order, the most specific matching row wins: a specific country beats
*, then a specific region, then the most specific postcode, then a specific method, then the highest condition value that does not exceed the order's value.
Current status
@dev
to the composer command.
Support
For getting support, create an Issue under the following project URL:
https://gitlab.yireo.com/loki-checkout/LokiCheckout_GlsNl.git
Composer details
LokiCheckout_GlsNlloki-checkout/magento2-gls-nl
ext-json: *
loki-checkout/magento2-core: ^2.7
loki-checkout/magento2-shipping-maps: ^1.0
loki/magento2-components: ^2.8
loki/magento2-css-utils: ^1.1
loki/magento2-field-components: ^2.2
loki/magento2-map-components: ^1.0
magento/framework: ^103.0
magento/module-backend: ^102.0
magento/module-config: ^101.2
magento/module-directory: ^100.4
magento/module-quote: ^101.2
magento/module-sales: ^103.0
magento/module-shipping: ^100.4
magento/module-store: ^101.1
psr/log: ^1.0 | ^2.0 | ^3.0
php: >=8.2 <8.6
Releases
Changelog
Added
- Standalone GLS Netherlands carrier based on the official GLS NL Label API
- Flat rates and CSV table rates
- ParcelShop picker with map in the Loki Checkout
- Delivery options (express, Saturday, time slots) with surcharges
- Admin label creation (order view button, mass action, native shipping labels) and label deletion
- Unit tests
Fixed
- Drop PHP 7-only dependency
tig/gls-magento2(archived upstream) - Add dependency on
loki-checkout/magento2-core