A buyer asks which lot went to which customers, and the answer lives in spreadsheets and a QuickBooks file with no lot field. That is the gap FSMA 204 puts a name on: for foods on the FDA’s list, you must be able to hand over lot-level records within 24 hours of a request.
The enforcement date is not settled, so read section 1 before you spend money. Devvista is a software development and growth agency and official Odoo partner that sets up lot-level records for small food producers and distributors on QuickBooks or Odoo. This guide covers what to record, who is exempt, estimated costs and when bolt-on software wins.
01 Is the FSMA 204 Deadline July 2028? What the Sources Say Today
Status as of October 25, 2026: an extension to July 20, 2028 has been proposed, and we found no final extension rule. FDA’s Food Traceability Rule page (content current as of 10/08/2026) gives January 20, 2026 as the original compliance date. It says FDA proposed a 30-month extension to July 20, 2028, and that a 2026 appropriations act directed FDA not to enforce the rule before that date. FDA intends to comply.
| Item | What the source says | Source |
|---|---|---|
| Proposed extension | Extend by 30 months to July 20, 2028 (“if finalized”) | proposed extension published August 7, 2025 |
| Final extension rule | Not found in the Federal Register listing for this rule on October 25, 2026 | federalregister.gov search by us |
| Newest FDA document | draft enforcement-policy guidance announced October 9, 2026; comments due November 23, 2026 | Federal Register |
The FDA page also still says in its “Getting Started” section that the compliance date is January 20, 2026, so it contradicts itself. Treat July 20, 2028 as a date FDA says it will not enforce before, not a confirmed deadline, and ask your own adviser which date to plan against.
02 Does FSMA 204 Apply to Your Company? Who Is Covered and Who Is Exempt
The rule covers foods on FDA’s Food Traceability List: certain cheeses, shell eggs, nut butters, several fresh produce items, fresh-cut produce, certain seafood and refrigerated ready-to-eat deli salads.
21 CFR 1.1305 lists the exemptions. Those we read, in the eCFR text dated October 20, 2026:
- Small retail food establishments and restaurants with average annual food sales of no more than $250,000 over the previous 3 years (inflation-adjusted from a 2020 baseline).
- Small farms: produce farms with average annual sales of no more than $25,000, shell egg producers with fewer than 3,000 laying hens, and farms selling food directly to consumers.
- Partial exemptions, such as a retailer buying direct from a farm keeping the farm’s name and address for 180 days, or food that gets a kill step if you keep specified receiving records.
- Foods under USDA jurisdiction, nonprofit establishments and transporters.
We read no general size exemption for manufacturers, packers or distributors in that section. FDA offers an online exemption tool. This is a summary of public text, not legal advice.
03 FSMA 204 Requirements in Plain English: KDEs and CTEs
A critical tracking event (CTE) is a point in the supply chain where you must write records. A key data element (KDE) is a fact you must record at that event. A traceability lot code is the identifier that ties the records together.
| Critical tracking event | Key data elements you record (abridged from the eCFR) | Lot code rule |
|---|---|---|
| Receiving (21 CFR 1.1345) | Lot code, quantity and unit, product description, previous source, receiving location, receiving date, lot code source, reference document | Keep the supplier’s code; assign one if the sender is exempt and you are not a retailer |
| Transformation (1.1350) | Input lot codes and quantities used; new lot code, where and when made, product description, quantity, reference document | You assign a new lot code |
| Shipping (1.1340) | Lot code, quantity and unit, product description, recipient location, ship-from location, ship date, lot code source, reference document | No new lot code; send the key data to the recipient |
Other duties in 21 CFR Part 1, Subpart S: keep a written traceability plan, keep records for 2 years, and give FDA an electronic sortable spreadsheet within 24 hours when requested during an outbreak or recall. Existing records can be reused if they hold the required information (1.1455). The table is abridged; the rule has the full list.
04 A Lot-Genealogy Worked Example: Receive, Transform, Ship
Illustrative example, not a client. A small kitchen makes a refrigerated ready-to-eat deli salad, a category on the Food Traceability List. It receives two lots of chopped vegetables, mixes one batch and ships it to two customers.
| Event | Record | Example values |
|---|---|---|
| Receive | Supplier lot, quantity, source, date | Lot A-0412, 120 lb, Supplier A, Oct 6. Lot B-7781, 80 lb, Supplier B, Oct 6 |
| Transform | Inputs used, new lot code, date, output | Uses 110 lb of A-0412 and 80 lb of B-7781. New lot DS-1006-01, 185 lb, completed Oct 7 |
| Ship | Lot code, quantity, recipient, date | DS-1006-01: 90 lb to Customer 1, 95 lb to Customer 2, Oct 8 |
Forward trace: Supplier B recalls B-7781. Your records show it went into DS-1006-01, shipped to Customers 1 and 2. Backward trace: Customer 2 reports an illness. DS-1006-01 points back to A-0412 and B-7781 and to both suppliers. If your system holds only “chopped vegetables, 200 lb, Oct 6”, neither trace works, and that is the gap.
05 What QuickBooks and Odoo Can and Cannot Do for Lot Records
QuickBooks Desktop Enterprise. Intuit’s help article on serial and lot numbers says Enterprise lets you track inventory by serial numbers or lot numbers (you choose one, not both), and that expiration dates are available in Platinum and Diamond versions 2023 and 2024. Intuit’s Advanced Inventory page says Advanced Inventory is included in the Platinum and Diamond subscriptions only.
QuickBooks Online. We could not find an Intuit page that states what QuickBooks Online does or does not support for lot tracking, and the third-party pages we saw come from inventory vendors with a stake in the answer. Check Intuit’s current feature list for your plan before you rely on it.
Odoo. Odoo 18 documentation on lot numbers describes enabling Lots & Serial Numbers, tracking products by lot, assigning lots on receipts and choosing lots on delivery orders. Opening a lot and clicking its Traceability button gives a stock moves report of where it came from, where it was stored and who received it.
Neither product claims FSMA 204 compliance in the pages we read. They store lot-level movements. Whether your records hold every required element depends on your setup.
06 Bolt-On Traceability Software, ERP Lot Tracking or a Custom Integration?
| Route | Fits when | Trade-offs |
|---|---|---|
| Specialist traceability SaaS (for example FoodReady, rfxCel or TagOne) | You want a product built around the rule | Another subscription and another system next to your books; we did not open price pages, so ask for quotes |
| ERP lot tracking (Odoo, or QuickBooks Desktop Enterprise Advanced Inventory) | Inventory, purchasing and production already run in one system and you want lots recorded where the stock moves | Needs clean item and location data; production steps must be posted in the system |
| Custom integration or export | You keep QuickBooks or a warehouse tool and need lot data pulled into a report FDA could read | Needs a written spec and testing |
All three are valid. Specialist vendors serve this exact need, and some firms are better served by one than by a project with us. The ERP route wins when lot data would otherwise be typed twice. See our QuickBooks Desktop to Odoo guide.
07 A Step-by-Step Plan to Record Lots Without Rebuilding Everything
- Check coverage. List your products, mark those on the Food Traceability List and check exemptions with your adviser.
- Write the traceability plan (1.1315): lot code method, record locations, a contact person.
- Capture receiving data first. Supplier lot, quantity, source and date at the dock.
- Post production as a transformation that consumes named input lots and creates one new lot.
- Record lots on shipping documents and send the key data to each customer.
- Build the export: one report of KDEs for a lot or date range, in a sortable spreadsheet.
- Run a mock recall (next section) and fix what breaks.
If you can only do one thing first, capture the supplier lot code at receiving.
08 What It Costs: Labelled Estimates, Not Quotes
These are Estimates built at an illustrative rate of $40 per hour. Devvista prices as a fixed price from $500 to $100,000 depending on complexity, or hourly from $10 to $100 by developer level. The hours are Assumptions for a small single-site operation, and your data and process decide the real number.
| Work | Assumed hours | Estimate at $40/hour (illustrative) |
|---|---|---|
| Turn on lot tracking in an Odoo you already run: settings, products, receipts, deliveries, lot formats, labels, training | 30 to 60 | $1,200 to $2,400 |
| Build a lot-based export of required data elements for a mock recall | 20 to 40 | $800 to $1,600 |
| Custom link between QuickBooks or a warehouse tool and a lot-level record | 60 to 120 | $2,400 to $4,800 |
A full move to Odoo is a larger project; the Odoo pricing guide shows license and implementation ranges, and custom software development cost explains how bespoke work is priced. Compliance remains your company’s responsibility. Book a call to turn these assumptions into a scoped number.
09 How to Measure Readiness: A Mock Recall in Under 24 Hours
The rule gives FDA a 24-hour window, so test against it. Trace a lot shipped last month both ways.
- Time to trace: minutes from “lot X” to a list of every input lot and customer.
- Completeness: share of lots where every required element is present. Aim for every lot.
- Export test: can someone who did not build the system produce the spreadsheet?
Repeat after each fix until a trace works end to end.
10 Mistakes That Break Traceability
- Planning around a date that is not final.
- Replacing the supplier’s lot code with your own at receiving.
- Making a new lot code at shipping. The rule says not to (1.1320).
- Assuming the software makes you compliant.
11 Fit and Not a Fit: Who Should Talk to Devvista
Good fit: a small producer or distributor on QuickBooks Desktop or Odoo that handles listed foods and needs lot records in the system it already uses, or needs a custom export. Not a fit: a firm that wants a hosted supplier-network product out of the box, which is what specialist vendors sell.
12 Where Devvista Fits
Devvista is a software development and growth agency and official Odoo partner that can set up lot tracking, receiving and shipping flows and lot-level reports in Odoo for US food producers and distributors. Our Odoo implementation team configures the flows and our Odoo developers build custom reports. For a QuickBooks or warehouse integration we use custom software development. We work remotely and do not assess legal compliance.
Want your receive, transform and ship events mapped against your current setup? Book a call and we will walk through your records and give an estimate.
? Frequently Asked Questions
→ Related Resources
More on lot records, QuickBooks and Odoo: