Introduction
WooChrono intègre l'ensemble des services de livraison du groupe Chronopost directement dans votre boutique WooCommerce : Express, ChronoFresh, ChronoFreeze et Chrono Ambient.
Chrono 10, 13, 18, Classic, Express, Same Day, Relais national et international
ChronoFresh et ChronoFreeze avec split automatique des commandes
Ambient 10, 13, 18, Relais, Precise, SameDay pour produits non thermosensibles
Prérequis
| Composant | Minimum | Recommandé |
|---|---|---|
| WordPress | 5.9 | 6.4+ |
| WooCommerce | 6.0 | 8.0+ |
| PHP | 7.4 | 8.1+ |
| Extensions PHP | soap, curl, json (actives sur le serveur) | |
| Poids produits | Chaque produit doit avoir un poids défini (en kg) | |
| Contrat Chronopost | N° de compte + mot de passe API requis | |
Installation
chronofood-by-woochrono.zip depuis votre espace client sur woochrono.comWooCommerce → Réglages → Expédition → Chronopost → LicenceLicence
La licence active les mises à jour automatiques et le support. Elle est liée à un domaine de production.
Activer
Chemin : WooCommerce → Réglages → Expédition → Chronopost → Licence
Comptes Chronopost
| Contrat | Services couverts | Identifiants |
|---|---|---|
| Express | Chrono 10/13/18, Classic, Express, Relais, Same Day | N° compte + MDP |
| Fresh | ChronoFresh 10/12/13/18, Classic, SameDay, Precise | N° compte Fresh + MDP |
| Freeze | ChronoFreeze 10/12/13/18, SameDay | N° compte Freeze + MDP |
| Ambient | Ambient 10/13/18, Relais, Precise, SameDay | N° compte Ambient + MDP |
Adresses expéditeur
Adresse de votre entrepôt / magasin d'où partent les colis.
Adresse légale de votre société sur les documents commerciaux.
Adresse de destination des colis retournés (peut différer).
Réglages avancés
| Réglage | Description |
|---|---|
| Clé API Google Maps | Pour la carte des relais colis. Optionnel si vous utilisez Leaflet. |
| Fournisseur de cartes | Google Maps ou Leaflet (open source, gratuit) |
| Assurance Ad Valorem | Couverture d'assurance au-delà du minimum configuré. |
| Livraison BAL | Active la livraison en boîte aux lettres pour les méthodes compatibles. |
| Format étiquette | A4 ou format thermique 10×15 cm. |
| Commandes fractionnées | Active ou désactive le split automatique Fresh/Freeze/Sec. |
Zones & Tarifs d'expédition
Les zones d'expédition WooChrono sont configurées directement dans chaque méthode, depuis la page de réglages de la méthode.
WooChrono → Méthodes de livraison → Chrono 10 (ou toute autre méthode). Les zones sont définies dans le tableau "Tarifs d'expédition en poids" en bas de page.WooChrono → Méthodes de livraison puis cliquez sur la méthode souhaitée (ex : Chrono 10, ChronoFresh 12…)93000, 91000, 92000). Pratique pour créer des tarifs différenciés selon les régions (Île-de-France, Corse, DOM-TOM…).| Min poids | Max poids | Tarif expédition | |
|---|---|---|---|
| Champ | Description |
|---|---|
| Nom zone | Identifiant libre pour différencier vos zones (ex : FR14, EU-Nord, Corse) |
| Pays | Un ou plusieurs pays couverts par cette zone |
| Codes postaux | Optionnel — restriction à des CP précis. Plusieurs codes séparés par des virgules : 93000, 91000, 92000. Laisser vide = tous les CP du pays. Utile pour des tarifs différenciés par région (ex : Corse : 20000, 20200, 20600). |
| Min poids | Poids minimum du colis pour déclencher ce tarif (kg) |
| Max poids | Poids maximum (kg). La dernière tranche couvre l'au-delà. |
| Tarif expédition | Prix en € HT appliqué pour cette tranche de poids dans cette zone |
Vous pouvez créer plusieurs zones dans la même méthode pour appliquer des tarifs différents selon la destination :
| Zone | Pays | Codes postaux | Usage |
|---|---|---|---|
FR-IDF | France | 75, 77, 78, 91, 92, 93, 94, 95 | Tarif spécial Île-de-France |
FR-Corse | France | 20000, 20200, 20600 | Supplément Corse |
FR-National | France | vide = tous les autres CP | Tarif standard |
Méthodes disponibles
Express
Points relais
ChronoFresh — Produits frais
ChronoFreeze — Produits surgelés
Sur rendez-vous (Precise / RDV)
Grilles tarifaires
Récupère automatiquement vos tarifs contractuels Chronopost en temps réel via le webservice QuickCost. Activez l'option dans les réglages de la méthode.
Définissez vos propres tranches de prix selon le poids ou le montant panier. Chaque ligne = une tranche (de / à / prix).
Options communes
| Option | Description |
|---|---|
| Calcul par | Poids total du colis ou montant du panier |
| Frais de gestion | Montant fixe ajouté au tarif final |
| Franco de port | Livraison gratuite au-delà d'un montant de commande |
| Option samedi | Surcoût pour la livraison le samedi (Chrono 10/13/18) |
| Marge Quick Cost | % ou montant fixe ajouté aux tarifs négociés |
Points relais
Livraison sur rendez-vous
ChronoPrecise et les méthodes RDV permettent au client de choisir un créneau horaire de 2h pour sa livraison.
Fonctionnement
Une popup s'ouvre avec les créneaux disponibles (récupérés en temps réel). Le client choisit son créneau et confirme. Le créneau est sauvegardé dans la commande.
Classes d'expédition
WooChrono utilise des classes d'expédition WooCommerce pour identifier le type thermique de chaque produit.
| Classe | Slug | Méthodes associées |
|---|---|---|
| Produits frais | fresh-product | ChronoFresh 10/12/13/18, Fresh Classic, Fresh SameDay, Fresh Precise |
| Produits surgelés | freeze-product | ChronoFreeze 10/12/13/18, Freeze SameDay |
| Produits ambiants | not-fresh-not-freeze | Ambient 10/13/18, Ambient Relais, Ambient Precise, Ambient SameDay |
| Sans classe | — | Toutes les méthodes Express (Chrono 10/13/18, Classic, Relais…) |
Produit → Expédition → Classe d'expédition.Split automatique des commandes
Lorsqu'un client commande des produits de types thermiques différents, WooChrono découpe automatiquement la commande en sous-commandes distinctes après paiement.
Passe en statut "Splitée". Regroupe les informations d'origine, le paiement et le client.
1 sous-commande par type thermique. Chacune a sa propre méthode, son adresse et ses étiquettes.
Routage produits
La page Routage permet d'associer des méthodes de livraison spécifiques à des catégories ou tags de produits, en priorité sur la classe d'expédition.
Accès
WooCommerce → Réglages → Expédition → Chronopost → Routage produits
Associez une catégorie ou tag WooCommerce à une méthode Chronopost.
Section "Produits assignés" dans les réglages de la méthode.
Génération d'étiquettes
Disponible depuis la fiche commande. Un email avec le lien de téléchargement est automatiquement envoyé au client.
Suivi des colis
Un cron WordPress vérifie toutes les heures le statut. Les commandes "Livré" passent automatiquement en "Terminée".
Affiché dans la fiche commande admin et dans l'email de confirmation client avec lien de suivi Chronopost.
Import suivi CSV
Associez des numéros de suivi Chronopost à vos commandes en masse depuis un fichier CSV. Idéal pour les utilisateurs de ChronoShip Office.
Format attendu
N° commande WooCommerce ; N° suivi Chronopost
2941 ; XP123456789FR
2942 ; XP987654321FR
Les colonnes sont configurables. La 1ère ligne est ignorée si elle contient un en-tête non numérique.
Google Maps / Leaflet
Précis, géocodage avancé. Nécessite une clé API (facturation possible au-delà du quota gratuit).
Config : Réglages avancés → Clé API Google Maps
Open source (BSD-2), tuiles OpenStreetMap. Aucune clé API, aucun coût.
Config : Réglages avancés → Fournisseur de cartes → Leaflet
Checkout Blocs WooCommerce 8+
Si votre thème utilise le checkout basé sur les blocs Gutenberg (WooCommerce 8+), WooChrono est entièrement compatible.
woocommerce/checkout, le module s'active sans configuration.Fonctionnalités
Sélection du relais colis · Validation créneau ChronoPrecise · Option samedi · Sauvegarde en session Store API
Chronopost Pro — API REST
Pour les clients ayant souscrit à l'offre digitale Chronopost Pro, WooChrono intègre une authentification OAuth 2.0 et expose une REST API WordPress.
Endpoints disponibles
| Endpoint | Méthode | Description |
|---|---|---|
/auth/connect | POST | Connexion OAuth — obtention du token |
/auth/revoke | POST | Déconnexion / révocation |
/auth/status | GET | Statut de connexion actuel |
/relay-points | GET | Liste des relais par code postal |
/precise-slots | GET | Créneaux ChronoPrecise disponibles |
/orders | GET | Commandes WooCommerce |
/shipment-states | GET | Suivi d'un colis par numéro |
Setup Wizard — Configuration guidée
Lors de la première activation, un assistant en 8 étapes guide la configuration complète du plugin. Il est accessible à tout moment depuis la page Extensions.
| Étape | Contenu | Note |
|---|---|---|
| 1 Bienvenue | Présentation du plugin et prérequis | — |
| 2 Licence | Saisie et validation de la clé de licence | — |
| 3 Comptes | N° de compte + mot de passe Chronopost. Multi-comptes supportés. | — |
| 4 Adresses | Expéditeur, facturation, retour. Toggle "Identique à l'expéditeur". | — |
| 5 Avancé | Google Maps/Leaflet, BAL, format étiquette, zones éloignées, assurance. | — |
| 6 ⚠ Produits | Compteurs produits sans poids et sans DLC. Liens directs vers les produits à corriger. | Étape bloquante si > 0 |
| 7 Méthodes | Assignation des méthodes de livraison (3 modes : classe, catégorie, produit). | Voir §Routage |
| 8 Terminé | Récap + liens rapides vers les zones d'expédition. | — |
Extensions → WooChrono → Setup Wizard ou via le lien en bas de la page d'une méthode.Produits thermiques & DLC
Les méthodes Fresh et Freeze nécessitent deux informations sur chaque produit : la classe thermique et la DLC (durée de vie restante).
Onglet "Date d'expiration du produit"
minimum 5 jours pour les méthodes Fresh et Freeze
Sélectionnez les méthodes auxquelles CE produit peut être expédié. Si vide, la règle par catégorie/tag/classe WooCommerce s'applique.
| Famille thermique | DLC minimale | Exemples de produits |
|---|---|---|
| 🌡️ Fresh | 5 jours minimum | Viande fraîche · Poisson · Fromage · Charcuterie |
| ❄️ Freeze | 5 jours minimum | Glaces · Viande surgelée · Plats cuisinés |
| 📦 Ambiant | Non requis | Épicerie · Boissons · Cosmétiques · Livres |
Assignation des méthodes de livraison
WooChrono propose 3 modes d'assignation pour associer vos produits aux bonnes méthodes Chronopost. Configurables depuis le Setup Wizard (étape 7) ou les Réglages.
Recommandé. Assignez une classe thermique à chaque produit (onglet Expédition).
fresh-product → ChronoFreshfreeze-product → ChronoFreezenot-fresh-not-freeze → AmbientAssociez chaque catégorie WooCommerce à une ou plusieurs méthodes autorisées.
Idéal si vos produits sont déjà bien catégorisés et que vous ne souhaitez pas toucher aux classes.
Assignation unitaire depuis la fiche produit (onglet "Date d'expiration") ou depuis la page d'une méthode ("Produits assignés").
Priorité max — écrase les règles catégorie/classe.
Impression en masse & Bordereau
Accès : WooChrono → Bordereau fin de journée
Liste toutes les commandes Chronopost du jour avec leur statut. Permet d'exporter le bordereau PDF à remettre au transporteur.
Accès : WooChrono → Impression en masse
Générez et téléchargez plusieurs étiquettes en un clic. Gestion du nombre de colis par commande, des dimensions et du contrat.
| ☑ | Statut | Commande | Colis | Poids | Tracking | Étiquettes |
|---|---|---|---|---|---|---|
| En cours | #2992 — Jean D. ChronoFresh 12 |
kg | XY250987321RV |
wc_orders.Annulation différée d'étiquette
Quand Chronopost a déjà pris en charge un colis, l'annulation immédiate est refusée (erreur code 3). WooChrono met alors l'annulation en file d'attente automatique.
| État | Affichage dans la commande |
|---|---|
| Annulation réussie | Bouton "Cancel label" → disparaît, étiquette retirée |
| ⏳ En file d'attente | Badge orange "Annulation en attente" + note dans l'historique commande |
| ✅ Exécuté automatiquement | Note "Annulation exécutée (tentative automatique)" |
| ⚠️ Abandonné (48 tentatives) | Note "Annulation abandonnée après 48 tentatives" (~12 jours) |
Compatibilité HPOS (WooCommerce 8+)
WooChrono est entièrement compatible avec le High Performance Order Storage de WooCommerce 8+, qui stocke les commandes dans des tables dédiées wc_orders au lieu de wp_posts.
- Génération d'étiquettes
- Lecture/écriture des metas de commande
- Bordereau de fin de journée
- Impression en masse
- Annulation différée
- Import CSV tracking
Toutes les lectures/écritures de méta passent par :
woochrono_update_order_meta()
wc_get_order() // remplace new WC_Order()
Sécurité
Le plugin a passé un audit de sécurité complet. Voici les protections en place :
| Vecteur | Protection appliquée |
|---|---|
| Injection SQL | $wpdb->prepare() systématique sur toutes les requêtes à variables |
| XSS | esc_html(), esc_attr(), esc_url(), sanitize_text_field() sur tous les outputs |
| CSRF | Nonce WP sur tous les formulaires et handlers AJAX (wp_verify_nonce) |
| Accès non autorisé | current_user_can('manage_woocommerce') sur tous les handlers AJAX admin |
| Upload de fichiers | Validation MIME réelle, extension whitelist, taille max 10 Mo |
| Désérialisation | Aucun unserialize() sans allowed_classes => false |
| Accès direct PHP | defined('ABSPATH') or exit dans tous les fichiers inclus |
eval(), exec() ni system(). Aucun appel nopriv sur des actions nécessitant manage_woocommerce.Multilingue EN / FR
WooChrono est livré avec des traductions complètes en anglais (langue par défaut) et en français. La langue s'adapte automatiquement.
Utilisateurs → Votre profil → LangueRéglages → Général → Langue du sitechronopost-woocommerce-shipping.pot
chronopost-woocommerce-shipping-fr_FR.po
chronopost-woocommerce-shipping-fr_FR.mo
530 chaînes traduites. Ajouter une langue : créer le .po correspondant et compiler en .mo.
FAQ
Vérifiez : (1) poids des produits renseigné, (2) zone d'expédition couvre l'adresse du client, (3) identifiants Chronopost corrects et testés.
Vérifiez votre clé Google Maps API, ou passez sur Leaflet dans les réglages avancés. Assurez-vous que JavaScript est actif.
Vérifiez : (1) adresse expéditeur complète, (2) mode Production activé, (3) extension PHP SOAP active sur le serveur.
Le split nécessite des produits de classes thermiques différentes ET des méthodes actives pour chaque classe dans la zone.
Désactivez "Commandes fractionnées" dans les Réglages avancés.
Changelog
- Correctif critique : impression ChronoFresh 18h corrigée
- Analytics : nouvelle alerte « produits sans DLC »
- Messages d'erreur transporteur précis affichés à l'admin
- Génération PDF plus robuste (validation + catch d'exceptions)
- Fix warning PHP « Undefined array key rates »
- Nouveautés
- Adresse du relais dans les récapitulatifs
- Page Transporteurs modernisée
- Nouveau design premium pour la page WooChrono → Méthodes :
- Pastilles vertes pulsantes sur vos méthodes actives
- Compteur visuel "X / 38 actives" en en-tête
- Boutons d'accès rapide par méthode
- Meilleure lisibilité avec ligne grisée pour les méthodes désactivées
- Page Assistant IA épurée
- L'Assistant IA WooChrono → une expérience de chat focalisée sans distraction.
- Demander une méthode en pleine largeur
- Corrections importantes
- Impression du Bordereau de fin de journée
- Bug corrigé qui pouvait empêcher la génération du PDF dans certains cas.
- Split orders avec Local Pickup
- Les commandes fractionnées utilisant le retrait en magasin affichent maintenant correctement leur récapitulatif à la page de remerciement.
- Compatibilité FunnelKit Checkout
- Le design natif FunnelKit est désormais 100% respecté
- Affichage des rendez-vous ChronoPrecise
- La date et la plage horaire du rendez-vous de livraison sont maintenant affichées :
- Sur la page de remerciement client (thank you)
- Dans l'admin commande (sous l'adresse de livraison)
- Badges de statut de commande plus lisibles
- Nouveaux codes couleur sur les pages Bordereau et Impression en masse
- Sécurité & Performance
- Audit complet avant production
- Normalisation du domaine de licence
- Nettoyage du code de licence
- Retrait de résidus de debug et de secrets obsolètes. Communication avec le serveur de licence simplifiée et plus robuste.
- Debug Log intégré
- Nouveau tableau de bord Analytics
- Profitez du menu WooChrono → Analytics :
- Nombre d'expéditions par méthode sur les 30 derniers jours
- Top 10 de vos relais les plus utilisés
- Détection des méthodes jamais sélectionnées (à désactiver pour simplifier le checkout)
- Alerte sur vos produits sans poids renseigné
- Statistiques du cache tarifaire SOAP
- NOUVELLES FONCTIONNALITÉS
- Setup Wizard — Configuration guidée 8 étapes
- Assistant de configuration complet en 8 étapes
- Étape 6 : compteurs produits sans poids et sans DLC (bloquant si > 0)
- Étape 7 : 3 modes d'assignation des méthodes de livraison
- Mode Classe : création automatique des 3 classes thermiques WC manquantes
- Mode Catégorie : badges cliquables par méthode pour chaque catégorie WC
- Mode Produit : tutoriel en 2 approches (depuis la méthode ou depuis la fiche produit)
- Accessible à tout moment depuis le menu Extensions
- Zones d'expédition par codes postaux multiples
- Champ CP accepte plusieurs codes séparés par virgule : 93000, 91000, 92000
- Support des plages de codes postaux : 75000...75999
- Validation JS en temps réel : alerte orange si nom de zone dupliqué ou vide
- Protection PHP côté serveur contre les doublons (renommage automatique)
- Tableau de cas d'usage multi-zones dans la documentation
- Système d'annulation différée des étiquettes (Pending Cancel)
- Badge ⏳ Annulation en attente dans la metabox commande
- Notes automatiques dans l'historique commande à chaque tentative
- Bouton Désactiver la licence
- Compatibilité HPOS (WooCommerce 8+)
- Validé WooCommerce 10.6.2 + HPOS activé
- Routage produits avancé
- Assignation méthode par produit depuis la fiche méthode
- Onglet "Date d'expiration du produit" : champ DLC + méthodes assignées par produit
- Ordre de priorité : produit > catégorie > classe > global
- Interface Réglages redesignée
- Stepper horizontal 6 étapes en layout vertical
- Unique Product ID pré-rempli pour nouvelles installations
- Multilingue EN / FR complet
- Page "Demander une méthode" pour l'ajout d'une méthode manquante
- Ajout demande nouvelle méthode de livraison directement depuis l'interface admin
- Sécurité renforcée
- Corrections de bugs
- Optimisation performance
- Nouvelle documentation
- PHP version 8.0 bug fix
- (V)2.3.7 || Release date: Oct 07, 2021.
- Improvement on print parcels label directly from grid
- (V)2.3.8 || Release date: Nov 13, 2021.
- Variation product add to cart issue fixed
- (V)2.4 || Release date: Nov 15, 2021.
- 2.4 Bug Fixed
- (V)2.4.1 || Release date: Nov 27, 2021.
- 2.4.1 Daily Docket Bulk Print PDF layout/Design Issue Fixed
- (V)2.4.2 || Release date: Dec 02, 2021.
- (V)2.4.3 || Release date: Jan 31, 2022. || Plugin Api status validation issue fixed.
- (V)2.4.4 || Release date: Feb 01, 2022. || Fixed wordpress version and woocommerce version compatibility issue.
- (V)2.4.5 || Release date: Apr 25, 2022. <br> a) Product Quick Edit layout issue Fixed. <br> b) Shipping method validation issue fixed on checkout page
- (V)2.4.6 || Release date: May 13, 2022. <br> a) Chrono Rvd Shipping popup open/close issue fixed. <br> b) Split shipping address(fixed shipping address override issue) with chronorelais shipping
- (V)2.4.7 || Release date: May 18, 2022. <br> Plugin french language translation issue fixed
- (V)2.4.8 || Release date: July 07, 2022. <br> - Add new Ambient Shippings <br/> - Add Saturday fees <br/> - Add script to auto convert weight products in g to kg <br/> - Optimise popop for mobile calendar
- (V)2.4.9 || Release date: November 29, 2022. <br> - Fix weight issue in order bloc
- (V)2.4.10 || Release date: November 30, 2022. <br> - Fix issue debug mode <br/> - Fix issue Shipping rates by price
- (V)2.4.11 || Release date: January 25, 2023. <br> - Fix VAT calculation on shipping rates <br/> - Fix issue to show other shipping when enable
- (V)2.4.12 || Release date: January 27, 2023. <br> - Fix update issue
- (V)2.6.0 || Release date: Mars 15, 2023. <br> - Fix issue comma shipping rates <br> - Fix Issue conflict Elementor <br> - Woocommerce 7.5.0 validated
- (V)2.7.0 || Release date: Mars 22, 2023. <br> - Fix issue php notification <br> - Fix Issue weight order <br> - Woocommerce 7.5.1 validated
- (V)2.7.1 || Release date: Mars 23, 2023. <br> - Fix issue php