Files
arthur 9ce6ae37be lint(standard): corrections completes mode standard
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md,
  en-tete section Limagrain conserve)
- Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian)
- Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues),
  1 reciblee (manuel de reten)
- related: tenseflow -> tense-flow, pie -> mechanical-elements,
  group.md retire (doublon shipping)
- Registre: compteur global 122 -> 131 pages
- Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie)
- Aucun fichier limagrain/ modifie (cloisonnement)
2026-07-20 13:01:21 +02:00

231 lines
12 KiB
Markdown

---
title: "Multi-Carrier Shipping"
type: module
sources:
- areas/multi_carrier_shipping/index.md
- areas/multi_carrier_shipping/multicarrier_admin/definitions/carrier_label.md
- areas/multi_carrier_shipping/multicarrier_admin/definitions/extended_carrier.md
- areas/multi_carrier_shipping/multicarrier_admin/definitions/shipping.md
- areas/multi_carrier_shipping/multicarrier_admin/definitions/tracking_number.md
- areas/multi_carrier_shipping/multicarrier_admin/packing_automatic_carrier_selection.md
- areas/multi_carrier_shipping/multicarrier_admin/packing_printing.md
- areas/multi_carrier_shipping/multicarrier_admin/packing_supported_services.md
- areas/multi_carrier_shipping/multicarrier_admin/merge_orders.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_definitions.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_carrier_mode.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_client_stock.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_cutting_stock_index.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_damaged_stock.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_issues_management.md
- areas/multi_carrier_shipping/multicarrier_rf_ws/packing_postpone.md
- areas/multi_carrier_shipping/parameters.md
- areas/multi_carrier_shipping/TransactionTypes.md
- custom/analyse_fonctionnelle.md
related:
- concepts/carrier.md
- concepts/shipping.md
- concepts/order-outbound.md
- concepts/labels.md
- modules/ecommerce.md
- concepts/cutting-stock.md
last_compiled: "2026-04-26"
---
# Multi-Carrier Shipping
## Overview
The Multi-Carrier Shipping module extends Easy WMS with advanced packaging, carrier integration, and shipment label management. It bridges the gap between warehouse shipping preparation and last-mile carrier handoff, managing the packaging station process from stock consolidation through carrier label printing and dock deposit.
**Key constraint**: The module is only compatible with ERP communications - deliveries can only be generated through ERP messages (SOR), not created manually from the web interface.
The module supports multiple carriers simultaneously, enabling a single warehouse to ship with different carriers based on order characteristics (destination, account, weight, dimensions). It integrates tightly with the eCommerce and Marketplaces modules for JIT fulfillment scenarios.
## Key capabilities
- Carrier-agnostic packaging: supports major carriers (see supported carriers list below)
- Automatic carrier selection based on destination, account, weight, and dimensions
- Delivery grouping: multiple shipping orders can share a single delivery (same contact + address + carrier)
- Order merging: orders sharing a delivery can be merged for group preparation into one or more packages
- Multi-source packing: stock from conveyors, ungrouping stations, locations, and client containers
- Weight capture: per-package weighing when required by carrier
- Tracking number management: carrier-specific algorithms; verification confirmation workflow
- Cutting stock support: packaging, verification, and extraction without packaging for cut items
- Damaged stock handling: stock can be marked as damaged during packaging
- Client stock support: restricted packing for stock owned by 3PL clients
- Postponement: partial delivery closure; reopens automatically when all origins are read
## Architecture
### Core entities
**Delivery**: the carrier-level shipment record. Aggregates one or more shipping orders sharing the same contact, destination address, and carrier. Contains one or more packages.
**Package**: a physical unit shipped within a delivery. Has a tracking number unique to the carrier.
**Extended carrier**: carrier definition enriched with Multi-Carrier data - client code, stage station, carrier type, label report, load manifest report, weight capture flag, tracking number sequence, workflow configurations.
**Carrier label**: physical label attached to each package. Contains sender/recipient addresses and tracking barcode.
**Tracking number**: unique package identifier calculated using a carrier-specific algorithm (typically from client code + postal codes).
### Delivery statuses
| Status | Description |
|--------|-------------|
| Open | Active packaging in progress |
| Closed | Shipped or manually closed (final) |
| Canceled | Canceled and deleted (final) |
| Pending shipping | Partial close pending or tracking number missing |
| Pending cancel | Verification failed; auto-cancel in progress |
| Locked by verification error | Verification failed; auto-reopens on success |
| Postponed | Incomplete delivery; auto-reopens when all origins read |
### Packaging station sources (stock origins)
| Source | Use case |
|--------|----------|
| Conveyor or cart | Loose stock from single-unit orders |
| Ungrouping station | Loose stock from multi-unit orders after ungrouping |
| Location or client container | Loose stock from multi-unit orders; stock from single-unit client containers |
### Package destinations
| Destination | Use case |
|-------------|----------|
| Carrier dock | Direct deposit at carrier dock (auto or manual confirmation) |
| Conveyor | Packages conveyed to dock; operator confirms arrival |
| Packaging station / container | Staged for later transport to dock |
## Supported Carriers
EasyWMS Multi-Carrier supports the following carriers natively. Each has its own label algorithm, tracking number format, and optionally a verification web service:
| Carrier | Notes |
|---------|-------|
| STEF | French logistics |
| XPO Logistics | |
| Kuehne+Nagel | |
| MRW | Spain |
| Nacex | Spain |
| DB Schenker | |
| SEUR | Spain |
| Geodis | |
| FedEx / TNT | |
| DPD | |
| Chronopost | France |
| Colissimo | La Poste France |
| DHL | |
| UPS | |
| GLS | |
| Mondial Relay | France/Belgium |
| Delivengo | La Poste International |
| BPOST | Belgium |
| **Custom** | Generic template for carriers not in the standard list |
Carriers operate in two integration modes:
- **Online mode**: EasyWMS connects to carrier API in real time for label generation and tracking validation
- **Offline mode**: Labels generated locally from pre-loaded tracking number files; no carrier connectivity required at time of packing
### Packing methods (per item family)
The packing method is configured at item family level and controls how the carrier label call is generated at the packaging station:
| Packing method | Behavior | Best for |
|----------------|---------|---------|
| **Scan all items** | Operator scans each individual item into a parcel one by one; total weight calculated per scan | Default; heterogeneous orders requiring precise parcel contents |
| **Choose parcel count** | Operator declares the number of parcels; system moves all stock into parcel 1 automatically (no per-item scan, no automatic weight) | Homogeneous bulk orders |
| **Always 1 parcel** | No operator input; system assumes single-parcel shipment and processes automatically | High-volume B2C (eCommerce single-item orders) |
**Precedence rule**: when a single shipping order contains items from multiple families with different packing methods, the **most restrictive method takes precedence**:
`Scan all items` > `Choose parcel count` > `Always 1 parcel`
The packing method can be overridden at multiple levels:
1. Warehouse default
2. Item family configuration
3. Client (account) configuration
4. Owner configuration (3PL)
Most specific level wins.
## Configuration
### Extended carrier setup
For each carrier to be used for packaging:
1. Register carrier in Easy WMS masters
2. Add extended carrier data (Deliveries menu > Extended Carriers):
- Carrier type (selects standard carrier template or Custom)
- Client code (required for Bpost, MRW, TNT, Nacex, UPS)
- Stage station (mandatory - one stage per carrier or shared)
- Label report / Load manifest report
- Weight capture flag
- Tracking number sequence and workflow names
- Extra data (carrier-specific connection parameters)
3. Verify warehouse sender data in EasyS (address, phone, ISO country code)
### Automatic carrier selection
Configure rules in **Carrier selection configuration** view (Deliveries menu):
- Priority-ordered rules: first matching rule wins
- Criteria: delivery destination (national/international/any), client account, weight range, dimension ranges
- Fallback: if no rule matches, carrier from SOR message is used; if SOR has carrier, it overrides automatic selection
### Carrier dock confirmation mode (parameter: `PACKAGING_CARRIER_MODE`)
- `AUTO`: packages automatically moved to carrier's dock
- `MANUAL`: operator confirms carrier code before dock movement
- `UNLOAD`: operator indicates intermediate location; second operator moves to dock
### Packaging station configuration
Configured in EasyS; visible and editable in **Packaging stations** view (Deliveries menu). Multiple users can pack simultaneously at the same station; each delivery is locked to one user/station.
### Key parameters
| Parameter | Description |
|-----------|-------------|
| `PACKAGING_CARRIER_MODE` | Carrier dock confirmation mode (AUTO/MANUAL/UNLOAD) |
| `PACKAGING_VERIFY_TRACKING` | Force operator to confirm tracking code after printing |
## Operations
### Packaging process (RF or PC)
1. Select packaging station
2. Read stock origin (conveyor, container, location, ungrouping station)
3. System creates/assigns delivery and packages
4. Weight capture (if configured for carrier)
5. Carrier label printed on label printer
6. Delivery note printed (if configured)
7. Deposit package at destination (dock, conveyor, or staging)
### Special packaging scenarios
**Client stock (3PL)**: packaging restricted to stock owned by the correct owner; system enforces owner isolation
**Cutting stock**: packaging uses cutting station measurement; support for extraction without packaging (pre-measured cuts)
**Damaged stock**: operator marks stock as damaged during packaging; excluded from shipment
**Postponement**: if packaging cannot be completed (some origins not yet read), delivery is postponed and auto-reopens when all origins become available
### Order merging
For multiple shipping orders sharing the same delivery (same destination + contact + carrier), the merge operation groups them for joint preparation. Merged orders can be packed into a single package or split across multiple packages. Merge can be triggered manually or via ERP communication.
### Tracking code verification
When `PACKAGING_VERIFY_TRACKING` is enabled and multiple users share a station, operators must confirm the tracking code on each label, ensuring correct delivery-to-package association.
## Errors & troubleshooting
| Issue | Cause | Resolution |
|-------|-------|-----------|
| Cannot create delivery | No carrier assigned to shipping order and no auto-selection rule matches | Assign carrier via SOR message or configure auto-selection rule |
| Delivery locked by verification error | Verification web service returned error | Check carrier connectivity; system auto-reopens on successful verification |
| Tracking number error | Carrier tracking files missing from server directory | Copy carrier-provided tracking files to configured archives directory |
| Load manifest error (TNT) | TNT manifest report not configured | Configure `Load manifest report` in extended carrier setup |
## Related
- [[carrier]] - Carrier master data; extended carrier adds Multi-Carrier specific fields
- [[shipping]] - Shipping order lifecycle; Multi-Carrier handles the packaging phase after order release
- [[order-outbound]] - Delivery created from SOR message data; SOR `DlvShareDeliveries` flag controls order grouping
- [[labels]] - Carrier labels (tracking barcode); delivery notes printed during packaging
- [[ecommerce]] - eCommerce orders flow directly into Multi-Carrier packaging stations
- [[cutting-stock]] - Special cutting stock packaging and extraction-without-packaging process