Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Delivery
  3. Cold Chain v 19.0
  4. Sales Conditions FAQ

Cold Chain

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 34
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Purchase (purchase)
• Sales (sale_management)
• Discuss (mail)
Community Apps Dependencies Show
• Freight Forwarding
• Logistics Quotation
• Logistics Suite Base
Lines of code 9076
Technical Name eh_log_cold_chain
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Purchase (purchase)
• Sales (sale_management)
• Discuss (mail)
Community Apps Dependencies Show
• Freight Forwarding
• Logistics Quotation
• Logistics Suite Base
Lines of code 9076
Technical Name eh_log_cold_chain
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage · Logistics Suite
ERP Heritage Logistics Suite

Cold Chain Monitoring

Per cargo temperature profiles, append only readings, a sustained breach deviation detector, and a per run compliance certificate, wired into the freight job.

Free · LGPL-3Odoo 19 Communityv19.0.1.0.0v19.0.1.0.0
Temperature profiles
Monitoring runs
Time-series readings
Deviation detector
Resolution workflow

Why this module

Cold Chain Monitoring

01 / DETECTION

Sustained breaches, not spikes

A reading outside the profile thresholds does not raise an alert on its own. The detector walks readings in time order, groups continuous high or low segments, and only opens a deviation once a segment lasts at least the profile alert window. Transient spikes during gate-in or a door-open are logged but do not page.

02 / INTEGRITY

Append only, guarded transitions

Readings are append only at the API level: after capture only the sensor reference and source can change, every other field is blocked. Run and deviation states move only through the action buttons, direct state writes raise, and each transition is logged as a structured event. The record of what happened cannot be quietly rewritten.

03 / VERDICT

One certificate, one honest verdict

Each run renders a compliance certificate PDF: profile, window, min, max and average recorded, the full deviation table, and a single COMPLIANT or NON-COMPLIANT verdict driven by whether any deviation was flagged cargo impacting. The verdict line is computed from the data, not typed by hand.

Day in the life

An operator closes out a pharma reefer run.

A pharma shipment confirmed with Cold Chain Required spawned a monitoring run on its freight job at the PHARMA-2-8 profile (2 to 8 degC, 30 minute alert window). The operator activates the run, then loads the sensor dump through the ingest method, which writes the readings in one batch and re-scans for deviations. One sustained high segment crossed 8 degC for 45 minutes during a loading delay, so a single high deviation row is open. The operator acknowledges it, classifies the cause as loading or unloading, and because it did not compromise the consignment, leaves it not cargo impacting and resolves it. Completing the run lands it in completed rather than breached, the certificate prints COMPLIANT with the deviation still listed in full for the consignee, and every step is on the chatter and the event log.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

ALERT WINDOW

A breach shorter than the profile alert window never opens a deviation. The detector measures the continuous duration of each out-of-band segment and discards segments under the threshold, so a momentary spike during gate-in is recorded as a breach reading but does not raise a deviation.

SEGMENTATION

High and low excursions are separated. When readings cross below the minimum and later above the maximum, the detector closes the low segment and opens a distinct high deviation rather than merging them, so each excursion carries its own kind, window, and recorded extremes.

RE-INGEST DEDUP

Re-running detection after more readings arrive extends the matching open deviation in place rather than creating a duplicate. A breach that overlaps an existing open deviation of the same kind widens that row's end time and recorded min and max instead of spawning a second one.

TAIL BREACH

An excursion still active at the last reading is captured. The detector records the open segment from its start to the final reading timestamp so a run that ends mid-breach is not silently left without a deviation.

CARGO VERDICT

A deviation that is not flagged cargo impacting leaves the run compliant. Completing a run with open but non-impacting deviations lands in completed and prints COMPLIANT, while a single cargo-impacting deviation routes completion to breached and prints NON-COMPLIANT.

RESOLUTION GUARDS

A deviation cannot be resolved without a cause classification, and cannot be voided as a false alarm without a justification in the resolution notes. The guards raise rather than allowing an unexplained close.

APPEND ONLY

Once a reading is captured its timestamp, temperature, and humidity are frozen. Any attempt to edit them raises, listing the forbidden fields, so the time series stays a faithful record of what the sensor reported.

INGEST STATE GUARD

Bulk ingest is rejected unless the run is active. Readings cannot be appended to a draft, completed, breached, or cancelled run, which keeps the monitored window bounded to the active period.

MULTI-COMPANY

Runs, readings, and deviations all carry the company and sit behind a global isolation rule, so cross-company records never leak between operators. Profiles are deliberately shared reference data across companies.

What is inside

Built to do the job, end to end.

  • Cold chain profiles. Reusable temperature regimes with a category (pharma, chilled, frozen, deep frozen, controlled room, dry ice, custom), strict min and max thresholds, optional humidity band, sampling cadence, alert window, and excursion grace. A constraint enforces min strictly below max. Six profiles ship as data.
  • Monitoring run. One run per freight job and profile, with a guarded state machine: draft, active, completed, breached, cancelled. Stores started and completed timestamps and computes min, max, average recorded, reading count, open and total deviation count, and the compliance flag.
  • Time-series readings. Per-timestamp temperature and humidity rows indexed on run, captured-at, and source, carrying an optional sensor reference and a source tag (manual, bulk ingest, telematics, portal, api). Append only after capture and built to hold a high reading volume per run.
  • Bulk ingest method. An ingest_readings model method accepts a list of timestamp, temperature, and optional humidity samples, writes them in one batch, and re-runs deviation detection. It is a Python entry point for adapter and integration code to call, not a shipped HTTP endpoint or import wizard.
  • Deviation detector and workflow. Auto-created deviation rows carry kind, window, recorded extremes, and duration, plus a resolution workflow: acknowledge, resolve with a required cause, void with a required justification, or flag cargo impacting. Cause options cover equipment failure, door open, loading, ambient, calibration drift, transit delay, and operator error.
  • Compliance certificate. A per-run PDF rendered against the shared logistics report styling: run, job, profile, window, reading summary statistics, the full deviation table, a computed COMPLIANT or NON-COMPLIANT verdict, and a signatory block for the consignee or auditor.
  • Quotation and freight job wiring. Sale orders gain a Cold Chain Required flag and a default profile selector. The freight job spawn reads them and auto-creates the monitoring run, or posts a chatter note prompting manual creation when the flag is set but no profile was picked. The freight job carries a stat link to its runs.

Honest about the edges

What this does not do, so nothing surprises you.

  • Readings arrive through manual entry or the ingest_readings model method. This module does not ship an HTTP ingest endpoint, a signed sensor-gateway webhook, or a CSV import wizard. Connecting a specific logger or telematics platform is integration work that calls the ingest method.
  • The deviation detector evaluates all of a run's readings together against the profile thresholds in timestamp order. It does not segment or score per individual sensor, so multiple loggers feeding one run are treated as a single combined stream.
  • Humidity bands can be configured on a profile and humidity can be stored per reading, but the sustained-breach detector acts on temperature thresholds only. Humidity is recorded, not alerted on.
  • The profile sampling cadence and excursion grace are stored as configuration. There is no scheduled job that flags missing readings or auto-closes a run, so detection runs when readings are ingested or the method is called.
  • This is a monitoring and compliance module. It does not perform dangerous-goods classification, customs declaration, or EDI messaging, and it ships no country customs pack. It depends on the logistics base, quotation, and freight modules and is meant to run alongside them.
Search

cold chain monitoring Odoo, temperature controlled cargo, pharma cold chain GDP, reefer container monitoring, frozen and deep frozen cargo, chilled and controlled room, temperature excursion detection, cold chain deviation workflow, compliance certificate PDF, freight forwarding temperature, Odoo 19 Community logistics, append only sensor readings, monitoring run lifecycle, cargo temperature profile, 3PL cold chain

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Implementation Australia

v19.0.1.0.0 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with