HACCP (Hygiene Management)¶
HACCP (Hazard Analysis and Critical Control Points) is a systematic approach to food safety — legally required for every food service business. DiKAS digitizes your HACCP documentation: temperature measurements, cleaning protocols, goods receiving inspections, and hygiene checks are recorded directly in the POS and archived without gaps.
Feature Overview¶
| Feature | Description |
|---|---|
| Templates | Checklists for recurring inspections |
| Inspection Logs | Measurements and checks recorded directly in the POS |
| Threshold Values | Automatic warning for temperature/measurement deviations |
| Corrective Actions | Mandatory documentation for threshold violations |
| Photos | Photo evidence for check items (camera or upload) |
| Log Archive | All inspections permanently stored and filterable |
| Critical Control Points | CCP marking on individual check items |
Activation¶
- Admin → Settings → Operations → Enable HACCP
- After activation, "HACCP" appears in the POS menu and in the admin area
Templates (Defining Checklists)¶
What Is a Template?¶
A HACCP template is a reusable checklist — e.g., "Daily refrigerator temperature check" or "Weekly cleaning inspection". The template defines which check items must be recorded.
Creating a Template¶
Admin → HACCP → Templates → "+ New Template"
| Field | Description | Example |
|---|---|---|
| Name | Checklist name | Refrigerator temperature check |
| Description | Explanation | Daily measurement of all cooling units |
| Category | Type of inspection | Temperature |
| Frequency | How often to perform | Daily |
| Sort Order | Order in the POS view | 1 |
| Active | Show template in the POS view | Yes |
Categories¶
| Category | Value | Description | Examples |
|---|---|---|---|
| Temperature | 0 | Temperature measurements | Refrigerator, freezer, hot holding |
| Cleaning | 1 | Cleaning protocols | Kitchen, counter area, restrooms |
| Goods Receiving | 2 | Goods receiving inspection | Check delivery, temperature, expiration |
| Pest Control | 3 | Pest control | Insect traps, rodent bait stations |
| Staff Hygiene | 4 | Hygiene checks | Hand washing, work clothing |
| Other | 5 | Other inspections | Grease filter, waste disposal |
Frequency¶
| Frequency | Value | Description |
|---|---|---|
| Daily | 0 | Perform every day |
| Weekly | 1 | Once per week |
| Monthly | 2 | Once per month |
| As Needed | 3 | Only on specific occasions |
Check Items¶
Each template contains one or more check items — the individual measurements or inspections:
Creating a Check Item¶
| Field | Description | Example |
|---|---|---|
| Title | What is being checked | Refrigerator 1 (Meat) |
| Check Type | Type of input | Temperature |
| Unit | Unit of measurement | °C |
| Min Value | Lower threshold | −2 |
| Max Value | Upper threshold | 7 |
| Critical Control Point | CCP marking | Yes |
| Corrective Action | Default action for deviations | Relocate goods, call technician |
5 Check Types¶
| Type | Value | Input | Thresholds | Example |
|---|---|---|---|---|
| Temperature | 0 | Numeric value with °C | Yes (Min/Max) | Refrigerator: 2–7 °C |
| Yes/No | 1 | Two buttons (Yes/No) | No | "Kitchen cleaned?" |
| Text | 2 | Free text input | No | Remarks, observations |
| Number | 3 | Numeric value with unit | Yes (Min/Max) | Chlorine level: 0.3–0.6 ppm |
| Photo | 4 | Camera or upload | No | Photo of cleaning condition |
Threshold Checking¶
For the check types Temperature and Number, entered values are automatically checked against the defined thresholds:
Check Item: Refrigerator 1 (Meat)
Min: -2 °C
Max: 7 °C
Input: 3.5 °C → ✅ Within range (green)
Input: 9.2 °C → ⚠️ Deviation! (red)
→ Required field: "Describe deviation"
→ Required field: "Corrective action"
When a value is outside the thresholds, the employee must document a deviation description and the corrective action taken. The log then receives the status "With Deviations".
Critical Control Points (CCP)¶
Check items can be marked as a Critical Control Point. CCPs are the points in the process where control is critical for food safety. In the template and in the log, CCPs are specially highlighted.
Performing an Inspection (POS)¶
Selecting a Checklist¶
- POS → Menu → HACCP
- The view shows all active templates as tiles:
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 🌡️ Temperature│ │ 🧹 Cleaning │ │ 📦 Goods Rec. │
│ │ │ │ │ │
│ Refrigerator │ │ Kitchen daily │ │ Delivery │
│ Daily │ │ Daily │ │ As Needed │
│ │ │ │ │ │
│ 5 check items │ │ 8 check items │ │ 4 check items │
│ [Start] │ │ [Start] │ │ [Start] │
└───────────────┘ └───────────────┘ └───────────────┘
Open logs: If a log has not been completed yet (e.g., employee was interrupted), it is highlighted in yellow and can be continued.
Filling in Check Items¶
After starting a checklist, check items are displayed one by one:
Temperature input:
┌──────────────────────────────────────┐
│ Check Item 1/5 │
│ │
│ Refrigerator 1 (Meat) CCP │
│ Thresholds: -2 °C to 7 °C │
│ │
│ ┌──────────────────────┐ │
│ │ 3.5 │ °C │
│ └──────────────────────┘ │
│ │
│ ✅ Within range │
│ │
│ [← Back] [Next →] │
└──────────────────────────────────────┘
Yes/No input:
┌──────────────────────────────────────┐
│ Check Item 3/5 │
│ │
│ Kitchen cleaned and disinfected? │
│ │
│ ┌────────────┐ ┌────────────┐ │
│ │ Yes │ │ No │ │
│ │ (green) │ │ (red) │ │
│ └────────────┘ └────────────┘ │
│ │
│ [← Back] [Next →] │
└──────────────────────────────────────┘
Upon threshold violation:
┌──────────────────────────────────────┐
│ Check Item 2/5 │
│ │
│ Refrigerator 2 (Dairy) CCP │
│ Thresholds: 2 °C to 7 °C │
│ │
│ ┌──────────────────────┐ │
│ │ 9.2 │ °C │
│ └──────────────────────┘ │
│ │
│ ⚠️ DEVIATION! Value above maximum │
│ │
│ Describe deviation: * │
│ ┌──────────────────────────────┐ │
│ │ Door was left open │ │
│ └──────────────────────────────┘ │
│ │
│ Corrective action: * │
│ ┌──────────────────────────────┐ │
│ │ Door closed, technician │ │
│ │ notified, goods checked │ │
│ └──────────────────────────────┘ │
│ │
│ [← Back] [Next →] │
└──────────────────────────────────────┘
Photo Evidence¶
For check items of type Photo, you can take a photo directly or upload an image:
- Tap camera icon → take photo
- Or tap upload icon → choose image from device
- Supported formats: JPEG, PNG, WebP (max. 10 MB)
- The photo is assigned to the check item and saved in the log
Completing a Log¶
After the last check item:
- Tap "Complete"
- DiKAS automatically checks all thresholds
- The log receives the status:
| Status | Color | Meaning |
|---|---|---|
| Completed | Green | All values within range |
| With Deviations | Red | At least one value outside thresholds |
- Log is permanently saved (cannot be deleted)
Log Archive (Admin)¶
Viewing Logs¶
Admin → HACCP → Logs
| Column | Description |
|---|---|
| Date | When the inspection was performed |
| Template | Which checklist was used |
| Category | Temperature, cleaning, etc. |
| Completed By | Employee name |
| Status | Completed / With Deviations |
Filters¶
| Filter | Description |
|---|---|
| Time Period | From-To date |
| Template | Only specific checklist |
| Status | Only completed / only with deviations |
Log Detail¶
Click on a log to see all details:
- All check items with entered values
- Threshold result (within range / deviation)
- Deviation descriptions and corrective actions
- Attached photos (preview + download)
- Employee, date, and time
Template Examples¶
Example 1: Daily Temperature Check¶
| Field | Value |
|---|---|
| Name | Daily Temperature Check |
| Category | Temperature |
| Frequency | Daily |
Check Items:
| No. | Title | Type | Unit | Min | Max | CCP |
|---|---|---|---|---|---|---|
| 1 | Refrigerator 1 (Meat) | Temperature | °C | −2 | 7 | Yes |
| 2 | Refrigerator 2 (Dairy) | Temperature | °C | 2 | 7 | Yes |
| 3 | Freezer | Temperature | °C | −22 | −18 | Yes |
| 4 | Hot holding (Soup) | Temperature | °C | 65 | 80 | Yes |
| 5 | Remarks | Text | — | — | — | No |
Example 2: Weekly Cleaning Inspection¶
| Field | Value |
|---|---|
| Name | Weekly Cleaning Inspection |
| Category | Cleaning |
| Frequency | Weekly |
Check Items:
| No. | Title | Type | CCP |
|---|---|---|---|
| 1 | Work surfaces cleaned and disinfected | Yes/No | No |
| 2 | Grease filter on exhaust hood cleaned | Yes/No | No |
| 3 | Kitchen floor cleaned | Yes/No | No |
| 4 | Hand wash basin soap/disinfectant | Yes/No | No |
| 5 | Trash cans cleaned | Yes/No | No |
| 6 | Restrooms cleaned | Yes/No | No |
| 7 | Refrigerator interior surfaces | Yes/No | No |
| 8 | Photo of kitchen condition | Photo | No |
Example 3: Goods Receiving Inspection¶
| Field | Value |
|---|---|
| Name | Goods Receiving Inspection |
| Category | Goods Receiving |
| Frequency | As Needed |
Check Items:
| No. | Title | Type | Unit | Min | Max | CCP |
|---|---|---|---|---|---|---|
| 1 | Supplier | Text | — | — | — | No |
| 2 | Temperature of chilled goods | Temperature | °C | −2 | 7 | Yes |
| 3 | Packaging undamaged | Yes/No | — | — | — | No |
| 4 | Best-before date sufficient | Yes/No | — | — | — | No |
| 5 | Cleanliness of delivery vehicle | Yes/No | — | — | — | No |
| 6 | Photo of delivery note | Photo | — | — | — | No |
| 7 | Remarks | Text | — | — | — | No |
Example 4: Staff Hygiene¶
| Field | Value |
|---|---|
| Name | Staff Hygiene Check |
| Category | Staff Hygiene |
| Frequency | Daily |
Check Items:
| No. | Title | Type | CCP |
|---|---|---|---|
| 1 | Clean work clothing | Yes/No | No |
| 2 | Hands washed and disinfected | Yes/No | Yes |
| 3 | No jewelry on hands/arms | Yes/No | No |
| 4 | Hair net/head covering worn | Yes/No | No |
| 5 | No open wounds | Yes/No | Yes |
Practical Example: Restaurant "Zur Linde"¶
Situation: Restaurant with kitchen, 3 refrigerators, 1 freezer, daily HACCP requirement.
Setup¶
- Enable HACCP (Settings → Operations)
- Create 3 templates:
- Daily temperature check (5 check items, 2× daily)
- Weekly cleaning inspection (8 check items)
- Goods receiving inspection (7 check items, as needed)
Daily Routine¶
Morning (08:00): 1. Cook Maria opens POS → HACCP → "Temperature Check" 2. Measures all 4 temperatures → enters values 3. Refrigerator 2 shows 9.2 °C → Deviation! 4. Maria documents: "Door was left open" → Action: "Door closed, goods checked, technician notified" 5. Log completed → Status: With Deviations (red)
Evening (18:00): 1. Cook Thomas performs the second temperature check 2. All values within range → Status: Completed (green)
Monday (Weekly): 1. Maria performs the cleaning inspection 2. All 7 Yes/No items answered with "Yes" 3. Photo of kitchen condition taken 4. Log completed → Status: Completed (green)
During a Health Authority Inspection¶
- Admin → HACCP → Logs
- Select time period (e.g., last 3 months)
- View all logs with values, deviations, and corrective actions
- Photos available as evidence
- Filter by "With Deviations" → all incidents with documented actions
Why Digital HACCP?¶
| Property | Paper | DiKAS HACCP |
|---|---|---|
| Filling in | Handwritten, illegible | Large input fields in the POS |
| Thresholds | Check manually | Automatic warning |
| Completeness | Missing entries possible | All check items must be filled in |
| Archiving | Folders, paper stacks | Digital, permanent, searchable |
| Photo evidence | Separate camera + printing | Directly in the log |
| Corrective actions | Can be forgotten | Required field for deviations |
| Inspection | Browse through folders | Filter + search in seconds |
API Endpoints¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/haccp/templates |
All templates |
| POST | /api/v1/haccp/templates |
Create new template |
| PUT | /api/v1/haccp/templates/{id} |
Update template |
| DELETE | /api/v1/haccp/templates/{id} |
Delete template |
| GET | /api/v1/haccp/logs |
Query logs (with filters) |
| GET | /api/v1/haccp/logs/{id} |
Single log |
| POST | /api/v1/haccp/logs |
Start new log |
| PUT | /api/v1/haccp/logs/{id}/complete |
Complete log |
| POST | /api/v1/haccp/logs/{id}/photos/{index} |
Upload photo |
| GET | /api/v1/haccp/logs/{id}/photos/{name} |
Retrieve photo |
Frequently Asked Questions¶
Is HACCP documentation mandatory? Yes. According to EU Regulation (EC) No. 852/2004, every food business is required to implement an HACCP concept and document the checks. Digital documentation with DiKAS fulfills this requirement.
Can logs be modified after completion? No. Completed logs are immutable — this is important for traceability during authority inspections. If a correction is needed, create a new log.
How long are HACCP logs retained? DiKAS does not delete HACCP logs. The legal retention period is at least 1 year (LMHV — Lebensmittelhygieneverordnung, German Food Hygiene Regulation), with 2–5 years recommended.
Can multiple employees fill in the same checklist on the same day? Yes. Each run creates its own log with timestamp and employee name. For example, separate temperature checks can be documented in the morning and evening.
Do I need a thermometer with a digital interface? No. Temperatures are entered manually. DiKAS automatically checks the values against the thresholds.
Can I define custom check types? The 5 check types (Temperature, Yes/No, Text, Number, Photo) cover all common HACCP requirements. Using the "Number" type with a custom unit, you can also record pH values, chlorine levels, or other measurements.
Next Step¶
→ Disco — Club management with card accounts