Subpart B of 21 CFR part 117 is FDA's current good manufacturing practice for human food, the CGMPs: the baseline for how any food plant keeps its people, building, equipment and processes from contaminating food or causing allergen cross-contact. It replaced the old part 110 when the Food Safety Modernization Act rules came in, and added allergen cross-contact and training. It runs from personnel (117.10) to warehousing (117.93), plus a section on scraps sold for animal feed (117.95). Most of it reads as common sense written down; the parts small makers miss are the training record, cleaning food-contact surfaces dry for low-moisture foods, and allergen changeovers. In the example below, a granola maker walks its plant against each section. Below is each section in plain words, the walk-through, and a free self-inspection with a training log.
The short version
- Everyone handling food is qualified for the job and trained in food hygiene and food safety, with a record of it.
- Ill staff or open sores are kept off food; clean clothes, hair restraints, hand washing, no jewelry near open food.
- Grounds, building, plumbing and hand-washing kept so they don't contaminate food.
- Food-contact surfaces cleaned as often as needed; for low-moisture food, clean and dry before use.
- Equipment cleanable and maintained; instruments accurate.
- Processes guard against contamination and allergen cross-contact, with each batch coded.
- Finished food stored and shipped protected; scraps for animal feed held clean and labeled.
- TaroStack keeps batch records with fields of your own, and records each batch's lots. More below.
Section by section
| Section | What it asks, in plain words |
|---|---|
| 117.4 Qualifications | Everyone who handles food, temporary and seasonal staff included, has the education, training or experience for the job, and is trained in food hygiene and food safety; supervisors are qualified to supervise |
| 117.9 Records | A record of that training |
| 117.10 Personnel | Ill staff or uncovered sores kept away from food; staff told to report illness; suitable clothing, personal cleanliness, hand washing, no unsecured jewelry, hair restraints, no eating where food is exposed |
| 117.20 Plant and grounds | Grounds that don't attract pests or pool water; a building that can be cleaned, with room to work, light, ventilation, and protection from drips and condensation |
| 117.35 Sanitary operations | Clean, repaired buildings; safe cleaning chemicals stored apart; no pests; food-contact surfaces cleaned as often as needed, and for low-moisture food, clean and dry before use |
| 117.37 Sanitary facilities | Safe water, plumbing, sewage, toilets, hand-washing stations, rubbish handling |
| 117.40 Equipment | Equipment and utensils cleanable and maintained; instruments that measure temperature and other controls accurate |
| 117.80 Processes and controls | Raw materials inspected and stored right; operations that don't contribute to contamination or allergen cross-contact; testing where needed; coded batches |
| 117.93 Warehousing | Storage and transport that protect food against contamination, allergen cross-contact and deterioration |
| 117.95 By-products for animal food | Scraps held for animal feed in clean containers, protected from trash, identified, and labeled when they leave |
| 117.110 Defect action levels | Natural defects kept as low as possible; mixing a food above a defect level with other food isn't allowed |
Personnel is 21 CFR 117.10, training 21 CFR 117.4, sanitary operations 21 CFR 117.35, processes 21 CFR 117.80, and animal feed by-products 21 CFR 117.95. The food safety plan, hazard analysis and preventive controls are in other subparts, and small businesses can qualify for lighter versions of those; subpart B applies regardless. How the rest of FSMA fits a small maker is in FSMA requirements for small food businesses. This is general information, not legal advice.
An example: a granola plant's walk-through
Cache Valley Granola Co., a made-up granola maker in Logan, Utah, I use in these examples, walks its plant against each section once a month:
| Section | What it found | What it did |
|---|---|---|
| 117.4, 117.9 | A seasonal packer started October 1 with no training record | Trained the same day and logged it |
| 117.10 | Packers' hair nets fine; one wedding ring on the line | Rings off at the door, a box for them |
| 117.35 | The mixer is wet-cleaned after almond runs | Now dried completely before the next run, as low-moisture food needs |
| 117.80 | The almond-free school granola ran after the almond granola | Moved first in the day, after a full clean, and the changeover written on the batch record |
| 117.93 | Cases of granola stacked against the outside wall | Moved onto pallets off the wall |
| 117.95 | Oat fines sold to a hog farmer, kept in an unmarked bin by the dumpster | A clean, labeled tote inside, "oat and granola fines, for animal feed" |
None of it took money, and any of it could have been written up. Allergen changeover is the one that matters most for a plant with almonds; more on keeping allergens apart is in allergen matrix template, cleaning records in cleaning log template, and the training record in employee training log template.
Get the self-inspection
Download the CGMP self-inspection. Two sheets: a self-inspection, each CGMP area with a task to check and how often, and a column for each week where you tick done, not done or not applicable, with a count of what's done; and a training log, each person with their training, date, trainer and initials. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
A monthly walk-through catches what's wrong on the day of the walk. It doesn't show that the mixer was dried after every almond run in between, or which batches ran after an almond run without a full clean, and that's what an inspector, or a customer with an allergy, cares about.
How TaroStack does it
TaroStack keeps batch records with fields of your own, and records each batch's lots.
Changeovers on the batch record. Fields of your own on the batch record, tick boxes and initials, record "full clean after almond run" and "equipment dry before start" for every batch, and printable batch-record forms carry the same fields for the line.
Each batch coded. A batch takes its oats, almonds and honey off stock, records the lots it consumed, and gets a lot of its own with its dates, so every case is coded.
Receiving checks. Fields of your own on each receipt record the inspection of raw materials as they arrive, and each order records the lots each customer got, so one recall report shows where a batch went.
| The job | Clipboard | In TaroStack |
|---|---|---|
| Allergen changeover | A note, sometimes | Tick boxes on every batch record |
| Batch coding | Hand-written | Each batch's own lot |
| Raw material inspection | A receiving log | Fields on the receipt |
| Where a batch went | Search the invoices | One recall report |
Batch records with fields of your own, lots and recalls are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
