Home / Help Center / pos-app-bakery / bakery / HACCP Temp Log
🌡️ bakery

HACCP Temp Log

HACCP Temp Log tracks the equipment you must keep within a safe temperature range for food safety — fridges, freezers, ovens, proofing cabinets, display cases and hot/cold-holding units — and flags every out-of-range reading with a corrective action trail.

📍 Menu path: Bakery → HACCP Temp Log
👤 Who uses it: All roles with access to the Bakery menu (the page itself does not add extra permission checks beyond the sidebar's feature/tier gate)
🏷️ Plan tier: advanced+

Overview

Add each piece of monitored equipment once (name, type, location, safe min/max temperature and unit), then log a temperature reading for it whenever you check it.

A reading outside the unit's configured safe range is immediately flagged in the Log Reading dialog itself, and prompts you for a Corrective Action before you save it.

A red alert banner at the top of the page summarises every out-of-range reading logged in the last 24 hours across all units, and a bell icon appears on any unit card with an active alert.

Each unit has its own 7-day reading history you can open at any time to review a timeline of every logged temperature, its status (OK / Out of range) and who logged it.

Before You Start

Step-by-Step Guide

1 Add a monitored piece of equipment

  1. Click Add Equipment.
  2. Enter the Equipment Name and choose its Type: Fridge/Chiller, Freezer, Oven, Proofing Cabinet, Display Case, Hot-holding Unit, Cold-holding Unit, or Ambient/Dry Store.
  3. Optionally enter its Location, a safe Min Temp and Max Temp, and choose °C or °F as the unit.
  4. Add any Notes, then click Save — the equipment appears immediately as a card.

2 Log a temperature reading

  1. Click Log Reading on the equipment's card.
  2. Enter the Temperature you measured — the dialog instantly shows "✓ Within safe range" or "⚠ Out of safe range (min–max)" based on that unit's configured limits.
  3. If the reading is out of range, a Corrective Action field appears — describe what you did about it (e.g. "Moved items to backup fridge").
  4. Optionally enter your name and any notes, then click Log Reading to save.
💡 The Log Reading button itself turns red when the entered temperature is out of range and green when it is within range, as a quick visual confirmation before you save.

3 Review alerts and history

  1. Check the red alert banner at the top of the page — it only appears when there has been at least one out-of-range reading in the last 24 hours, and lists each alert message underneath.
  2. Click the history (clock) icon on a unit's card to open its last 7 days of readings — Time, Temp, Status (⚠ Out of range / ✓ OK) and who logged it (By).

4 Edit or remove a unit

  1. Click the pencil (Edit) icon on a card to change its name, type, location, safe range or notes.
  2. Click the trash (Delete) icon to remove a unit — you'll be asked to confirm, since deleting a unit permanently removes all of its logged readings as well.

Every Field & Button, Explained

Field / ButtonWhat it does
Add EquipmentOpens the form to register a new monitored unit.
Alert bannerLists every out-of-range reading logged in the last 24 hours across all units; hidden entirely when there are none.
Equipment cardShows the unit's icon (by type), name, type label, safe range and location (if set); highlighted in red with a bell icon if it currently has an active alert.
Log ReadingOpens the temperature entry dialog for that specific unit.
History iconOpens the last 7 days of logged readings for that unit.
Edit iconOpens the equipment form pre-filled for editing.
Delete iconDeletes the unit and all of its logged readings, after a confirmation prompt.
Equipment NameRequired label for the piece of equipment, e.g. "Walk-in Fridge" or "Deck Oven #2".
TypeFridge/Chiller, Freezer, Oven, Proofing Cabinet, Display Case, Hot-holding Unit, Cold-holding Unit, or Ambient/Dry Store — drives the icon shown on the card.
LocationOptional free-text location, e.g. "Back kitchen".
Min Temp / Max TempThe safe temperature range for this unit; readings outside this range are flagged out-of-range.
Unit (°C/°F)Temperature unit used for this equipment's min/max and all its logged readings.
Temperature (in Log Reading)Required numeric reading you measured; instantly checked against the unit's Min/Max Temp.
Corrective ActionOnly shown when the entered temperature is out of range; describes what was done in response.
Your name / Notes (in Log Reading)Optional fields recorded alongside the reading.

Tips & Best Practices

Troubleshooting & FAQ

A reading I logged doesn't show a range warning.
That unit does not have both a Min Temp and Max Temp configured. Edit the unit and set its safe range so future readings can be checked against it.
The alert banner disappeared even though I know we had an issue yesterday.
The banner only summarises alerts from the last 24 hours. Older out-of-range readings are still visible in that unit's History, just not in the banner.
I can't find a reading from 2 weeks ago.
The History view only shows the last 7 days (168 hours) of readings for a unit; older readings are not retrievable from this screen.
I deleted a unit by mistake.
Deleting a unit removes it and all of its logged readings immediately after you confirm the prompt — there is no undo, so you would need to re-add the equipment and its history is lost.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/fnb/HACCPPage.jsx

Backend endpoints used:

  • GET /haccp/units
  • POST /haccp/units
  • PUT /haccp/units/:id
  • DELETE /haccp/units/:id
  • GET /haccp/alerts?hours=24
  • POST /haccp/log
  • GET /haccp/units/:id/logs?hours=168

Related tables (db-core repositories):

  • HACCPUnit
  • HACCPLog

Feature flag key: haccp (requires advanced plan tier or above)

Out-of-range detection is computed twice: once client-side in the Log Reading dialog for instant feedback (comparing the typed value against unit.minTemp/unit.maxTemp), and again server-side when the reading is saved (the persisted HACCPLog.isOutOfRange flag is what actually drives the 24-hour alerts and the History view's status column).