Entre « la commande est prête » et « le camion est parti », il y a l'étiquette. Elle doit sortir de la bonne imprimante, porter le bon nombre de colis et le bon poids, et rester retrouvable trois mois plus tard quand le client réclame une preuve de livraison.
Treize modules communautaires s'occupent de ce dernier mètre.
Résumé
Trois modules traitent l'étiquette : un modèle de stockage shipping.label avec pièce jointe, empreinte SHA-1 et jeton d'accès ; une étiquette par défaut imprimée quand aucun transporteur n'est choisi ; et l'envoi direct à une imprimante déclarée, via le rapport d'étiquette du transporteur.
Cinq modules traitent les colis : le nombre de colis demandé ou calculé à la validation d'un transfert — avec un assistant, un réglage par type d'opération et un forçage par contact ou par utilisateur —, le nombre de paquets par type de colis, le poids d'expédition déduit du type de colis, et le filtrage des types de colis par transporteur ou par domaine.
Cinq modules enfin complètent le dossier d'expédition : le rafraîchissement automatique du prix de transport sur la commande, le logo du transporteur, un code sur le transporteur, le coût de transport sur le bon de livraison imprimé, et un lien vers la livraison depuis toutes les opérations intermédiaires.
L'essentiel
- Les étiquettes de transport stockées en pièce jointe, avec empreinte et jeton d'accès.
- L'impression directe à l'imprimante du quai, sans téléchargement.
- Une étiquette par défaut quand aucun transporteur n'est choisi.
- Le nombre de colis demandé à la validation, avec un assistant par transfert.
- Le poids d'expédition déduit du type de colis.
- Les types de colis filtrés par transporteur dans l'assistant d'emballage.
- Le coût de transport imprimé sur le bon de livraison.
- Un lien vers la livraison depuis chaque opération intermédiaire.
Ce que ces modules ajoutent à l'instance
| Module | Version | Ce qu'il apporte |
|---|---|---|
delivery_carrier_shipping_label | 18.0.1.0.0 | Le modèle shipping.label : pièce jointe, empreinte SHA-1, jeton d'accès, taille |
delivery_carrier_label_default | 18.0.1.0.1 | Une étiquette de base imprimée faute de transporteur |
delivery_carrier_report_to_printer | 18.0.1.0.0 | label_report_id sur le transporteur, envoyé à une imprimante |
delivery_package_number | 18.0.2.1.1 | Nombre de colis, assistant de validation, réglages par type d'opération |
delivery_package_type_number_parcels | 18.0.1.0.0 | number_of_parcels sur le type de colis et le colis |
delivery_package_type_shipping_weight | 18.0.1.0.0 | is_base_weight_shipping_weight sur le type de colis |
stock_picking_delivery_package_type_domain | 18.0.2.0.0 | Un domaine de filtrage dans l'assistant « Choisir un colis » |
stock_picking_delivery_package_type_carrier | 18.0.1.0.0 | allowed_package_carrier_ids : types de colis réservés à un transporteur |
delivery_auto_refresh | 18.0.1.0.1 | Rafraîchissement du prix de transport sur la commande |
delivery_carrier_image | 18.0.1.0.0 | Un logo sur le transporteur (LGPL-3) |
delivery_carrier_info | 18.0.1.0.0 | Un champ code sur le transporteur |
stock_picking_report_delivery_cost | 18.0.1.0.0 | Le coût de transport sur les rapports de livraison |
stock_picking_delivery_link | 18.0.2.0.0 | ship_picking_id et ship_carrier_id sur les opérations intermédiaires |
Aucun de ces modules n'ajoute de menu : ils enrichissent les écrans de transfert, de transporteur et les assistants d'emballage existants.
L'étiquette : stockée, retrouvable, imprimée
delivery_carrier_shipping_label crée un modèle dédié aux étiquettes de transport. Chaque étiquette est une pièce jointe avec sa taille, son empreinte SHA-1 et un jeton d'accès.
L'empreinte et le jeton ne sont pas des détails techniques : l'empreinte permet de savoir qu'un fichier n'a pas été remplacé, et le jeton permet de donner accès à une étiquette précise sans ouvrir la base. C'est ce qui rend l'étiquette utilisable comme pièce probante.
delivery_carrier_report_to_printer ajoute un champ rapport d'étiquette sur le transporteur et s'appuie sur le module d'impression serveur pour l'envoyer directement à une imprimante déclarée. L'opérateur du quai valide, l'étiquette sort — sans téléchargement, sans boîte de dialogue, sans choix d'imprimante.
delivery_carrier_label_default traite le cas limite : un transfert sans transporteur renseigné. Plutôt que de ne rien imprimer, le module sort une étiquette de base avec les informations d'adresse.
Les colis : combien, de quel type, de quel poids
Le nombre de colis
delivery_package_number est le plus riche des treize. Il ajoute un nombre de colis sur le transfert, un champ indiquant s'il faut le demander, et un assistant de validation qui le réclame transfert par transfert — avec, en option, l'impression de l'étiquette de colis.
Le comportement se règle à trois niveaux : par type d'opération (demander, éviter, forcer, reporter), par contact et par utilisateur. Un expéditeur de colis le veut partout ; un expéditeur de palettes ne le veut nulle part.
Le type de colis
delivery_package_type_number_parcelsindique combien de paquets contient un type de colis : une palette comptée comme un colis par le transporteur, mais six paquets à la manutention.delivery_package_type_shipping_weightdéduit le poids d'expédition du type de colis — le poids de l'emballage vide s'ajoutant au poids de la marchandise.stock_picking_delivery_package_type_domainfiltre les types de colis proposés dans l'assistant « Choisir un colis », avec un réglage par type d'opération.stock_picking_delivery_package_type_carrierrestreint ces types au transporteur du transfert : un emballage fourni par un transporteur ne doit pas se retrouver sur l'expédition d'un autre.
Proposer tous les types de colis à un opérateur qui emballe est le meilleur moyen d'obtenir des étiquettes refusées : chaque transporteur impose ses contenants, et un carton au mauvais format revient en litige.
Le dossier d'expédition complété
delivery_auto_refreshrecalcule le prix de transport sur la commande quand son contenu change — sans quoi le prix affiché reste celui du premier calcul.delivery_carrier_imageajoute un logo au transporteur, repris dans les écrans et les rapports. Seul module LGPL-3 du lot.delivery_carrier_infoajoute un code au transporteur : utile pour les échanges de fichiers, où le nom commercial ne sert à rien.stock_picking_report_delivery_costfait apparaître le coût de transport sur le bon de livraison et les rapports d'opération.stock_picking_delivery_linkajoute à chaque opération intermédiaire — prélèvement, emballage — un lien vers la livraison et son transporteur.
Le dernier mérite une mention : dans un entrepôt à plusieurs étapes, un opérateur qui regarde un bon de prélèvement ne sait pas à quelle expédition il appartient. Le lien répond à la question sans recherche.
Limites connues
- Plusieurs READMEs de ce dépôt sont minimaux :
delivery_carrier_shipping_labeletdelivery_carrier_report_to_printern'ont qu'une ligne de résumé. Les champs décrits ici sont relevés sur instance. - L'impression directe suppose le module serveur
base_report_to_printeret une imprimante déclarée côté serveur, pas côté poste. - Le nombre de colis demandé à chaque validation ralentit le quai s'il est activé sans discernement : le réglage par type d'opération existe pour cela.
- Le filtrage par transporteur empêche un emballage de secours : prévoir un type de colis générique autorisé partout.
- Le rafraîchissement automatique du prix peut surprendre sur une commande déjà confirmée et annoncée au client.
Identité technique
Les treize modules viennent du dépôt OCA delivery-carrier, branche 18.0, en licence AGPL-3 — sauf delivery_carrier_image, en LGPL-3. Ils dépendent de stock_delivery ou de delivery ; l'impression directe ajoute base_report_to_printer, et le rafraîchissement automatique sale_order_carrier_auto_assign.
Voir aussi grilles tarifaires, options et contraintes et emballages, poids et unités.
Questions fréquentes
Peut-on imprimer une étiquette de transport directement sur l'imprimante du quai ?
Oui : delivery_carrier_report_to_printer ajoute un rapport d'étiquette sur le transporteur et l'envoie à une imprimante déclarée côté serveur, via base_report_to_printer. L'opérateur valide, l'étiquette sort — sans téléchargement ni choix d'imprimante.
Comment demander le nombre de colis à la validation d'une expédition ?
delivery_package_number ajoute un assistant de validation qui réclame le nombre de colis. Le comportement se règle par type d'opération (demander, éviter, forcer), par contact et par utilisateur — un expéditeur de palettes ne le veut nulle part, un expéditeur de colis partout.
Peut-on réserver certains types de colis à un transporteur ?
Oui, avec stock_picking_delivery_package_type_carrier : le champ allowed_package_carrier_ids sur le type de colis limite sa proposition au transporteur du transfert. Prévoyez un type générique autorisé partout, sinon un emballage de secours devient impossible.
Où sont stockées les étiquettes de transport une fois imprimées ?
Dans le modèle shipping.label créé par delivery_carrier_shipping_label : une pièce jointe, sa taille, son empreinte SHA-1 et un jeton d'accès. L'empreinte prouve que le fichier n'a pas été remplacé, le jeton permet d'y donner accès sans ouvrir la base.
Peut-on faire apparaître le coût de transport sur le bon de livraison ?
Oui : stock_picking_report_delivery_cost l'ajoute aux rapports de livraison et d'opération. À manier avec les clients en franco de port, pour qui voir le coût réel du transport sur un bon gratuit n'est pas toujours souhaitable.
Se faire accompagner
Le dernier mètre d'une expédition est l'endroit où un ERP bien paramétré se voit : l'étiquette sort toute seule, au bon format, sur la bonne imprimante, avec le bon nombre de colis. Et l'endroit où un ERP mal paramétré coûte cher : étiquettes refusées, colis surfacturés, litiges sans pièce.
Nous paramétrons donc le quai avant les intégrations : imprimantes, types de colis par transporteur, nombre de colis par type d'opération. Une étiquette qui sort juste vaut mieux qu'un connecteur qui sort vite. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Grilles tarifaires, options et contraintes transporteur
- Emballages, poids et unités de mesure
- Transport et logistique avec Odoo
En résumé
Le dernier mètre d'une expédition : l'étiquette stockée et retrouvable, imprimée directement au quai, le nombre de colis demandé à la validation, les types de colis réservés au bon transporteur, et le coût de transport sur le bon de livraison. Parlons de votre quai d'expédition.