Industries
Food and beverage integrations: lot codes, dates and catch weights from your ERP to every channel
A food or beverage supplier sells by lot, by date and often by weight, to stores, restaurants and retailers that check all three. The integration carries lot codes, expiration dates and actual weights from your ERP to the store, the EDI documents and the traceability records, so stock, ship notices and invoices match what left the dock.
What food and beverage suppliers run into
- Stock is not one number. 420 cases of one item can be two lots with two expiration dates, and a retailer with a shelf-life minimum can buy only one of them.
- Lots on every document. Retailers and distributors want the lot and the dates on the ship notice, and Kroger asks for ship notices that are "100% accurate" on expiration and production dates.
- Prices per pound, orders per case. A case of deli turkey is ordered as one case and invoiced on its scanned weight.
- Traceability records. Foods on FDA's Food Traceability List need a record per shipped lot, ready to hand over within 24 hours.
- Product data that has to be right. Nine major allergens, ingredients and storage temperature on every product page and in every retailer feed.
Each of these depends on the lot, which lives in the ERP or WMS and almost nowhere else.
The flows that matter most
| Flow | Owner | What moves | In depth |
|---|---|---|---|
| Stock per lot and date | ERP or WMS | quantity per lot, expiration date, location | stock and availability |
| Orders | store, EDI 850 | cases ordered, ship date, customer's shelf-life rule | orders |
| Fulfillment and ship notice | WMS, ERP | lot per line, dates, actual weight; EDI 856 | EDI 856 |
| Invoice | ERP | invoiced weight and price per pound; EDI 810 | EDI integration |
| Traceability records | ERP | key data elements per shipped lot | this page, below |
| Product data | PIM or ERP | allergens, ingredients, storage, GTIN | product data |
Lots and shelf life, worked through
On October 3 the Fresno DC holds 420 cases of crumbled feta, item FC4405:
| Lot | Cases | Expires | Days left on October 3 |
|---|---|---|---|
| L26-0871 | 120 | October 20, 2026 | 17 |
| L26-0914 | 300 | December 1, 2026 | 59 |
A grocery account requires at least 45 days of remaining shelf life at shipping. For that account the available stock is 300 cases, not 420. A restaurant account without the rule sees 420. The integration computes availability per channel from the lot list, so the grocery buyer cannot order case 301 out of stock that would be refused at the dock. On October 21 lot L26-0871 has expired and leaves every channel without anyone editing the store.
In NetSuite a lot-numbered item carries a rotationtype of FEFO (first expired, first out) or LEFO, and each fulfillment line has an inventory detail with issueinventorynumber (the lot) and expirationdate. Shopify's InventoryItem has quantities per location and no lot or expiration field at all, and LineItem.quantity is a whole number. So the lot stays in the ERP, the store sells whole cases, and the integration does the per-channel arithmetic between them.
The lot picked goes on the ship notice, at item level:
HL*3*2*I~
LIN**VN*FC4405*LT*L26-0914~
SN1**6*CA~
DTM*036*20261201~
LT is the X12 qualifier for a lot number and 036 the date qualifier for expiration; 511 is shelf-life expiration and 405 production, for retailers whose guides ask for those. The 856 has to be sent before the truck arrives; Kroger asks for at least 90 minutes before.
Catch weight: ordered per case, invoiced per pound
Deli turkey breast ships in cases of about 20 lb at 4.85 per pound. The buyer orders 10 cases. At packing each case is weighed, and the label carries the weight in GS1 application identifier 3202, net weight in pounds with 2 decimals:
(01)90614141104829(3202)002086(10)L26-1102
002086 is 20.86 lb. The 10 cases scan at 203.40 lb in total, so the invoice is 203.40 x 4.85 = 986.49, not the 10 x 20 x 4.85 = 970.00 of the nominal weight. The store order stays at 10 cases. The ERP invoice and the EDI 810 carry 203.40 lb, in unit LB. An integration that copies the store total to the invoice bills 16.49 too little on this order, and one that never reads the label has no lot for the ship notice.
FSMA 204 traceability records
The Food Traceability Rule covers foods on FDA's Food Traceability List, which includes soft and fresh soft cheeses such as feta, shell eggs, nut butters and a list of fresh produce and seafood. For each shipped lot it requires a record of eight key data elements under 21 CFR 1.1340, and the first seven go to the recipient. During an outbreak or recall, FDA can ask for the records as an electronic sortable spreadsheet within 24 hours.
On the date: the original compliance date was January 20, 2026. FDA proposed a 30-month extension to July 20, 2028, and Congress, in an appropriations act for 2026, directed FDA not to enforce the rule before that date (FDA, checked October 3, 2026).
Most of the record is already in the ERP. The gap is the traceability lot code source: the place where the lot code was assigned, which sits on the receipt of the lot, not on the shipment. The integration links each shipped lot to its receipt record when the lot comes in, so the record is complete on the day it ships and not rebuilt from paper when FDA calls. A distributor that ships 40 FTL lots a day, each to 25 accounts, adds 40 x 25 = 1,000 shipping records a day, 365,000 a year at that rate.
Systems in food and beverage
| System | What it holds for food | What to plan for |
|---|---|---|
| NetSuite | lot-numbered items, FEFO rotation, inventory detail per line | concurrency 5 on Standard, shared with the EDI provider and the WMS |
| Business Central | items, customers, sales orders over API v2.0 | item.inventory is one number; stock per location needs a custom API page |
| Shopify | quantity per location | no lot or expiration field; whole-number line quantities |
| 3PL or WMS | the actual lot and weight per shipment | lot per line on the 945, for example in W12-09 in Simplot's 945 guide |
| Retailer EDI | 850 in; 856, 810 out | dates on the 856 accurate to the case; ship notice before the truck |
The retailer side is on Kroger EDI and EDI integration. Date handling across time zones, which decides whether a lot expires today or tomorrow in the record, is on dates and time zones.
What this means for your integration
We build the integration on your ERP, your WMS and your channels, with your rules: which lots each customer may receive, how weight is invoiced, which items are on the Food Traceability List. Then we host and run it. Each run has a log and a diff, a fulfillment without a lot or weight waits in a queue with the reason instead of going out as an empty ship notice, and the traceability records build up with every shipment.
All flows are on ecommerce ERP integration, and the related industries are distribution and wholesale and medical and lab supply. The full list is under industries. Tell us which ERP, WMS and retailers you work with, and you hear which of these flows saves the most work for you.
Frequently asked questions
Can the store show only stock that meets a customer's shelf-life minimum?
Yes. The integration reads stock per lot with its expiration date and computes availability per channel. A retailer that requires 45 days of remaining shelf life sees only the lots that meet it on the ship date; a restaurant account without that rule sees all lots. The figures are worked through on this page.
Our products are sold per case but invoiced per pound. Does that work with a webshop?
Yes. The store takes the order in whole cases at a nominal weight, and the ERP invoices the weight scanned at packing. The integration carries the actual weight from the warehouse to the ERP invoice and the EDI 810, and keeps the store order on the same case count.
Does the integration keep the FSMA 204 records?
It builds them from your ERP data. Each shipment of a food on the Food Traceability List becomes a record with the eight key data elements of 21 CFR 1.1340, linked to its lot, and the first seven go to the recipient with the shipment. Those records are what FDA's sortable spreadsheet is filled from when it asks.
Can lot codes go out on our EDI ship notices?
Yes. The lot and its dates go on the item level of the 856, in a LIN with qualifier LT and a DTM with the date qualifier the retailer's guide asks for. They come from the same pick record as the invoice, so the 856 and the 810 agree. The segments are on EDI 856 advance ship notice.
Can the store show allergens from our product data?
Yes. Allergens are a product attribute in the PIM or ERP, and the integration writes them to the store as structured fields, one per allergen, rather than as text inside the description. The US list has nine major food allergens, with sesame added as of January 1, 2023.
Tell us what you need
Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.
- You know the price and the timeline before you commit to anything
- We work out the connection that takes the work off your hands
- We handle the build, hosting, monitoring and maintenance
- Your team has less information to retype and fewer discrepancies to chase