If you sell food (or anything that must travel
ambient,
fresh 0–8 °C, or
frozen) with Chronopost Chronofresh, this plugin talks to the official SOAP APIs from WooCommerce: shipping methods at checkout, pickup-point map, PDF labels, tracking, and cancellation.
You need an
active Chronofresh contract. The plugin does not replace Chronopost: it uses the account number and password they give you. Out of the box the plugin runs in
Test mode on the public Chronopost sandbox account so you can try everything without credentials — a warning banner stays visible in wp-admin, because sandbox labels look real but
no parcel is ever picked up or shipped. Switch to
Production mode and enter your own credentials before shipping.
Features
- Supports Chrono Ambient Relais 13, Chrono Fresh 13, Chrono Fresh Relais 13, Chrono 13, Chrono Freeze 13, Chrono Relais 13.
- Fresh pickup points (code 6S) — deliver fresh products (0°C – 8°C) to Chronofresh pickup points (must be enabled on your contract).
- Dynamic pickup point map (Leaflet) with opening hours at checkout.
- Live parcel tracking via Chronopost TrackingService (same shipping credentials).
- Label cancellation directly from the order admin page.
- Bulk label generation from the orders list.
- Auto order status change after label generation (configurable).
- Per-product DLC (expiration date) field — mandatory for ChronoFresh compliance.
- Explicit Test / Production mode with a persistent admin banner while the sandbox account is in use.
- Connection health check — per-service diagnostics (SOAP extension, server reachability, credentials, and which pickup point product codes 86 / 5Q / 6S your contract accepts), with Chronopost's own error messages.
- Optional Ask (WordPress 7) — under the health check and on the order Labels box: a sentence that reads health, the saved pickup point, or tracking. It never creates or cancels a label. Abilities:
chronofresh/get-connection-health, get-pickup-point, get-tracking.
- Debug logs in
/wp-content/uploads/simple-connection-for-chronofresh-woocommerce/scc-debug.log.
- Built-in Getting Started tab under WooCommerce → ChronoFresh.
- Step-by-step guides in
docs/USER-GUIDE.md (English) and docs/MODE-DEMPLOI.md (French).
1.3.2
Display fixes: the chosen pickup point now also appears on the order confirmation page with themes that override WooCommerce's customer details template, and a point selected on the cart page stays visibly selected at checkout instead of asking the customer to choose again.
1.3.1
Critical fix for pickup point orders: the point chosen at checkout is now reliably saved and displayed on the order (admin, customer page, emails), and labels can no longer be generated for a relay the customer did not choose. Update before processing new relay orders.
1.3.0
Behavior change: the Chronopost sandbox credentials are no longer silent defaults. If you never entered your own credentials, the plugin now runs in visible Test mode (warning banner) — open WooCommerce → ChronoFresh, switch to Production and enter your contract credentials to ship real parcels. If your credentials were already configured, nothing changes.
1.0.0
Secure, WordPress-compliant Chronofresh integration for WooCommerce.
1.4.2
September 2, 2026:
- Fixed: the Ask feature ignored WordPress's Connector Approval matrix and could send prompts to any active AI connector instead of only the one checked for ChronoFresh under Settings → Connectors → Approvals. It now pins the approved connector explicitly, and returns a clear error if none is checked.
- Fixed: the
relay_5Q / relay_6S health-check ids never matched after sanitization, so a targeted check (Run checks panel, or Ask asking specifically about 5Q/6S) silently ran every diagnostic instead of just the one requested. No behavior change to the default "run everything" flow.
1.4.0
August 28, 2026:
- Added: optional Ask field (WordPress 7 AI plugin + a connector) under Connection health check and at the bottom of the order ChronoFresh Labels box. It only reads health diagnostics, the saved pickup point, or tracking. It never creates or cancels a label.
- Added: Abilities
chronofresh/get-connection-health, chronofresh/get-pickup-point, chronofresh/get-tracking (manage_woocommerce, mcp.public).
- Docs: user guides cover Ask vs the existing Run checks / Track buttons.
1.3.3
August 26, 2026:
- Fixed: orders containing a WooCommerce Mix and Match Products container generated one label per child product instead of one for the whole container. Child items are now packed with their container instead of being treated as separate parcels, and no longer listed individually in the "ships as Ambient" notice.
- Improved: a Mix and Match container's parcel weight now includes the combined weight of its child items, so it isn't split into extra parcels just because the container product itself has no weight set.
- Note: WooCommerce Chained Products (StoreApps) adds its linked products as fully independent order items with no container reference to detect, so this fix does not apply to it — make sure each chained product has its own weight set on the product page (Shipping tab) so parcel splitting stays accurate.
1.3.2
August 26, 2026:
- Fixed: the pickup point block did not appear on the order confirmation ("thank you") page when the active theme overrides WooCommerce's
order-details-customer.php template without the woocommerce_order_details_after_customer_details hook (common in custom themes). The block is now also attached to woocommerce_order_details_after_order_table, with a guard so standard themes never show it twice.
- Fixed: a pickup point selected on the cart page appeared deselected on the checkout page (and after every checkout refresh), forcing the customer to pick it again. The widget now restores the point saved in the session — highlighted in the list, marked on the map, opening hours shown — as long as it is still among the points available for the current address.
- Fixed: the "Generate label" button and the ChronoFresh Labels box were hidden on orders whose products had no temperature type saved yet (e.g. products created before the plugin), even though label generation ships those products as Ambient by default. The box now appears on any order using a ChronoFresh shipping method, and shows a notice listing products that will ship as Ambient so you can set Fresh/Freeze first.
- Docs: new FAQ entries explaining when the ChronoFresh Labels box appears and how products without a temperature type are shipped; troubleshooting rows added to both user guides.
1.3.1
August 26, 2026:
- Fixed: the pickup point chosen at checkout was not saved on the order. The save ran on
woocommerce_checkout_create_order with update_post_meta() before the order existed (ID 0), so the meta was silently lost; it now uses update_meta_data() on the order object. Blocks (Store API) checkout, which never fired that hook, is now supported too, including the "please select a pickup point" validation.
- Fixed: when the pickup point meta was missing, label generation silently searched the nearest relay to the customer's address and shipped there — potentially not the chosen point. This fallback is removed: the label now fails with a clear, actionable error instead.
- Added: the chosen pickup point (name, address, relay ID) is now visible on the admin order screen under the shipping address, on the customer's thank-you page and order view, and in order emails. Orders placed before 1.3.1 with a missing point show an explicit warning.
- Fixed: the relay's own postcode/city are now saved and used on the label (previously the customer's address city was sent for the relay block).
- Fixed: the internal
chronofresh_code shipping meta no longer appears in customer-facing order details and emails.
1.3.0
August 25, 2026:
- Added: explicit Test / Production mode setting. Test mode uses the public Chronopost sandbox account (nothing to type) and shows a persistent wp-admin warning banner, because sandbox labels are never actually shipped.
- Fixed: the sandbox credentials are no longer silent defaults. Installs that never configured real credentials used to generate sandbox labels that looked real; they now run in visible Test mode. In Production mode, missing credentials block label generation with a clear error instead of falling back to the sandbox.
- Added: connection health check replacing the old single "Test API connection" button. Per-service rows with live status: PHP SOAP extension, Chronopost server reachability, credentials, and real contract checks for pickup point product codes 86 / 5Q / 6S (Chronopost's own error message is shown, e.g. when 6S is not on your contract). The label service is deliberately not simulated — the panel says so honestly.
- Compat: Tested up to WordPress 7.1.
- Docs: readme FAQ rewritten for Test/Production mode and the health check;
docs/USER-GUIDE.md, docs/MODE-DEMPLOI.md and the built-in Getting started tab updated to match.
- Design: native WordPress admin CSS on WooCommerce → ChronoFresh (settings, Getting started table/callout, health check panel).
1.2.1
- Released on July 24, 2026:
- Updated: All plugin UI source strings switched to English so WordPress.org translations (GlotPress) use English originals.
- Updated: French remains available via the fr_FR translation file / translate.wordpress.org.
1.2.0
- Released on July 22, 2026:
- Added: New shipping method "Chrono Fresh Relais 13H" (product code 6S) — fresh delivery (0°C – 8°C) to pickup points, available at Chronofresh since the beginning of 2026.
- Added: Pickup point map, opening hours and selection at checkout now fully support the fresh pickup point service.
- Updated: Label generation maps fresh products to code 6S when a pickup point is selected (DLC/expiration date included as required by Chronofresh).
- Updated: Getting Started guide with the new 6S product code.
- Added: Bilingual user guide (English + French) shipped in the docs/ folder.
1.1.0
- Released on May 27, 2026:
- Added: Live parcel tracking via trackSkybillV2 (Chronopost TrackingService) directly in the order admin metabox.
- Added: Label cancellation via cancelListSkybill — cancel any label from the order page.
- Added: Bulk label generation from WooCommerce orders list.
- Added: Automatic order status change after label generation (configurable).
- Added: Per-product DLC (days until expiration) field — required by ChronoFresh for fresh/freeze shipments.
- Added: Global default DLC setting under WooCommerce → ChronoFresh.
- Added: Built-in Getting Started guide tab with step-by-step onboarding.
- Fixed: Compliance with ChronoFresh requirements — expirationDate now respects per-product or global DLC setting.
- Updated: Tested up to WordPress 7.0.
1.0.4
- Released on May 8, 2026:
- Added: Interactive Leaflet map for pickup point selection.
- Fixed: Compatibility issues with WooCommerce fragments and Stripe refreshes.
- Improved: Performance and stability by removing legacy code and unused templates.
- Improved: Better handling of AJAX race conditions at checkout.
1.0.3
Released on August 25, 2025:
- Added: Explicit select when no temperature is defined, which default to ambient for label generation, avoiding any unrecognized state for products linked to chronofresh via Expedition Class.
1.0.2
Released on August 22, 2025:
- Enhanced: Added support for mixed orders (ambient, fresh, freeze) with any shipping method, including custom methods like alg_wc_shipping.
- Fixed: Resolved fatal error when generating labels for orders with deleted or invalid products by safely handling null products.
- Improved: Updated label generation to rely on product temperature types (_temperature_type) instead of shipping method, ensuring accurate Chronopost codes (5M, 5Q, 2R, 2S).
- Updated: Default Chronopost test credentials to match provided API keys for seamless testing.
- Enhanced: Improved logging for skipped items and parcel splitting for better debugging.
- Boost your shipping with Premium features like real-time tracking and automated multi-label generation at deter-mi.net!
1.0.1
Released on August 9, 2025: Includes critical fix for nonce verification to ensure secure and pickup api call bug
1.0.0
- Initial release with Chronofresh shipping and pickup point support.