By Louis Balla, Chief Revenue Officer, Nuage.
To meet a food traceability requirement in NetSuite, make each food item lot-numbered with an expiration date per lot, capture the lot on every receipt, build and shipment, and add a field for the supplier’s traceability lot code. The FDA requires covered records within 24 hours of a request and will not enforce its rule before July 20, 2028.
If you track lots in spreadsheets today, producing a complete traceability record within 24 hours depends on NetSuite configuration and clean lot data. This guide covers the NetSuite setup for lot traceability and how to test it with a mock trace.
FSMA Rule 204: What Food and Beverage Brands Need to Know
The FDA’s Food Traceability Rule, issued under section 204 of the Food Safety Modernization Act (FSMA), sets additional recordkeeping requirements for companies that handle foods on the Food Traceability List. Records must be available to the FDA within 24 hours after a request, or within a reasonable time the FDA has agreed to.
Two concepts sit at the center of the rule. Critical Tracking Events (CTEs) are the points in a food’s life where you record data. The FDA lists seven: harvesting, cooling, initial packing of raw agricultural commodities, first land-based receiving of foods from fishing vessels, shipping, receiving, and transformation. Key Data Elements (KDEs) are the data points recorded at each event, and they vary by event. A traceability lot code (TLC) is, in the FDA’s words, a descriptor, often alphanumeric, used to uniquely identify a traceability lot within the records of the firm that assigned it.
Scoping work orders with a food manufacturer, its operations lead described how lot numbers have to travel through production: “the lot numbers have to be present on there to direct them what to write down, and so that traceability goes through.” His plan was first-in, first-out on finished goods and again across the shared ingredient pools.
Covered Foods and Compliance Timeline
The Food Traceability List includes soft and fresh cheeses, shell eggs, nut butters, fresh herbs, fresh-cut fruits and vegetables, finfish, crustaceans, molluscan shellfish, leafy greens, and fresh cucumbers, melons, peppers, sprouts, tomatoes and tropical tree fruits, along with refrigerated ready-to-eat deli salads. Check the FDA’s current list against your product catalog, because the rule applies to the foods on it and to the companies that grow, manufacture, process, pack, or hold them.
The original compliance date was January 20, 2026. Congress then directed the FDA not to enforce the rule before July 20, 2028. The later date leaves time to test a trace before a customer or the FDA asks for one, and to phase the work across items, plants and partners.
How NetSuite Lot Tracking Supports Traceability
NetSuite supports lot-numbered items, an expiration date on each lot, and inventory detail on transactions, so each receipt, build and shipment records which lots it moved. On the lot number record, you can search transactions to see where and when each lot was received, stocked, transferred, built into assemblies, or sold. Most of the work is configuration: deciding which data you need at each event and making sure NetSuite captures it every time.
Mapping KDEs and CTEs to NetSuite Data Fields
Start by mapping what the FDA requires to where that data lives in NetSuite. The table below shows how three events a manufacturer or distributor typically meets line up with NetSuite transactions and fields. The other four events apply to growers, packers and receivers of fish from vessels.
| Critical Tracking Event | Required Key Data Elements | NetSuite Transaction / Object | NetSuite Fields |
|---|---|---|---|
| Receiving | TLC, quantity, date, supplier, location | Purchase Order / Item Receipt | Lot Number, Quantity, Date, Vendor, Location |
| Transformation | Input TLCs, output TLC, date, location | Work Order / Assembly Build | Component Lot Numbers, Output Lot, Transaction Date, Location |
| Shipping | TLC, quantity, date, recipient, location | Sales Order / Item Fulfillment | Lot Number, Ship Quantity, Ship Date, Customer, Ship-From Location |
For KDEs that NetSuite does not capture natively, such as supplier TLCs that differ from your internal lot codes, add custom fields on item receipt and vendor records. Every FDA-required data point should sit in a specific, searchable NetSuite field so a saved search can return it.
The Lot and Serial Number Trace SuiteApp
NetSuite’s Lot and Serial Number Trace SuiteApp supports both backward and forward traces. A backward trace links finished goods to the raw materials used to make them and the suppliers who provided them, while a forward trace links a lot to specific purchase orders and customer records. You run a trace from Reports > Lot / Serial Trace > Lot Trace, filtering by lot number, subsidiary, location, item, and date range.
Step-by-Step: Configuring NetSuite for Food and Beverage Lot Traceability
A full traceability setup touches item records, transaction workflows, user roles and reporting.
Item Record and Warehouse Setup
Start by setting up every FTL-covered item as a lot-numbered item and recording an expiration date on each lot. Create custom fields for supplier TLCs, country of origin, and any additional KDEs your operation requires beyond NetSuite’s standard fields. Use bins at locations that hold several lots of the same item at once, so inventory stays segregated by lot.
Switching on lot numbers changes work on the floor. When a home goods distributor asked whether to turn on lot and serial numbers, our consultant first wrote out what would change in the warehouse. Receiving would check the vendor’s lot number, split the received quantity by lot, label each unit, key the lot numbers in and assign a bin per lot, and at fulfillment the picker has to pull the exact lot selected on the order. Her summary for the client was that lot tracking “creates more maintenance both physically and digitally, but provides greater traceability in exchange.”
Enforcing Data Quality Through Workflows and Validations
Configure NetSuite workflows and client-side validations so a transaction cannot save without complete lot information. Mandatory fields should include lot number, quantity, expiration date, and location on every item receipt, work order completion, and item fulfillment.
Existing data can have gaps too. At a nutrition products company, 456 lot records in production had no expiration date, and that gap was causing errors when lots were assigned first-in, first-out. Our first step was a saved search listing every active assembly with lots on hand and no expiration date, so the team could fill the dates in, using a placeholder date where the real one is unknown.
Barcode scanning reduces keying errors. Whichever scanners or warehouse app you use, capture lot data on the floor when the transaction happens. Use role-based permissions so only a small group can change a lot record after entry, and System Notes show who changed it and when.
For organizations managing co-packers, 3PLs, or multi-subsidiary operations, extend these validations across entities. Intercompany transfer orders must carry lot information through the entire transaction chain, so a trace can follow a lot from one entity to the next.
How Do I Set Up Lot Tracking to Meet a Customer’s Food Traceability Requirement?
Start from the customer’s list of required data points and the response time they expect, and compare it with the KDEs above. Mark each data point as captured in a standard field, captured in a custom field, or not captured today. Set up lot-numbered items and custom fields for the gaps and load your open stock with lot numbers. Then run a forward and backward trace on a few real lots. Our guide to NetSuite inventory control covers the counts and bins that sit underneath lot records, and our food manufacturing ERP guide covers the wider system.
Recall Readiness: Running a Mock Trace in NetSuite
A well-configured lot tracking setup lets your team run a forward and backward trace from a report, and a mock trace shows whether yours can.
Suppose a supplier tells you a raw ingredient lot may be contaminated. You need to know which finished goods contain that lot, which customers received them and how much affected inventory is still in your facilities.
In NetSuite, you can run a forward trace on the suspect supplier lot with the Lot and Serial Number Trace SuiteApp to see the assemblies that consumed it and the customers who received them, then check on-hand inventory for the affected lots by location. Run this as a mock exercise on a real lot and time it, then fix whatever slowed you down.
Essential Saved Searches for Traceability Reporting
Build saved searches that your quality and operations teams can run on demand, starting with:
- A lot genealogy search that traces raw material lots through production to finished goods
- A customer exposure search that finds every sales order and fulfillment containing a specific lot
- An expiration monitoring search that flags lots approaching or past their use-by dates
Each search should output the KDEs your records need: TLCs, quantities, dates, locations, and trading partner identities. Export these searches in sortable electronic formats such as CSV or Excel so they are ready to hand over quickly. Schedule the key searches to email designated staff, so someone sees problems such as missing lot numbers on recent transactions or expiring inventory that has not been dispositioned.
Close the Traceability Gap Before July 2028
Map each data point your customers and the FDA require to a NetSuite field, adding a custom field where none exists. Then run a mock trace on a real lot, and repeat it after each change to your item or transaction setup.
Our guide to inventory counts that stand up in an audit covers the count accuracy your lot records depend on. Our team’s NetSuite optimization and managed services include lot and expiry setup and lot data cleanup. Schedule a discovery call with a NetSuite expert to plan your traceability setup.
Frequently Asked Questions
Do I need the Lot and Serial Number Trace SuiteApp, or can native NetSuite lot tracking be enough?
Native lot tracking can work for basic internal traceability, and many teams add the SuiteApp when they need to trace a lot forward and backward across many transactions from one report. The right choice depends mostly on how often you run traces for audits or customer requests.
How should we set up Traceability Lot Code naming rules so they stay consistent across plants and partners?
Define a unique, barcode-scannable code format in an SOP and enforce it with NetSuite validation rules. Keep a cross-reference table that matches your internal lot IDs to each partner’s codes, so a partner’s code does not create a duplicate lot in NetSuite.
What is the best way to handle rework, repacks, or relabeling without breaking traceability?
Record rework and repacks as production events with explicit input lots and output lots, even if no new ingredient is added. A standard transaction such as an assembly build then records which lots went in and which lot came out, and the item fulfillment records where the reworked lot was shipped.
How do we manage lot traceability when we use co-packers or contract manufacturers that do not work in our NetSuite instance?
Set clear data exchange requirements, such as the exact lot fields and formats they must provide, and establish a cadence for sending and receiving lot-level transaction data. Many brands use inbound documents or integrations to load co-packer consumption and production results so trace chains stay complete inside NetSuite.
How can we structure roles and approvals so lot edits are controlled without slowing operations down?
Use least-privilege roles for receiving, production, and shipping, then reserve lot master edits and corrections for a small group with approval workflows. Pair this with exception-based alerts, so supervisors step in only when the system detects missing lot data or an unusual change.
About the author
Louis Balla is Chief Revenue Officer at Nuage, a NetSuite optimization partner that has served 250+ clients since 2011 and holds a 4.9 out of 5 rating on Clutch. The client work in this article is our team’s.