How Data Formats Track EVOO From Farm to Bottle
If one lot ID fails, the whole trace path fails with it. I’d sum up the article this way: EVOO traceability works when every step uses the same five data points - lot ID, date/time, location, event, and quantity - from harvest to the customer order.
Here’s the short version:
- I need one stable ID at intake, such as a harvest lot or receiving lot.
- I need to link input lots to output lots during milling, blending, and bottling.
- I need lab data stored as searchable fields, not just PDFs.
- I need product IDs, batch IDs, and shipping IDs to stay separate but connected.
- I need warehouse, shipping, and ecommerce records to point to the same lot history.
- I need to test one batch backward to the grove and forward to the customer.
A few numbers from the article show why this matters. One milling run used 8,250 lb of olives and produced 1,050 lb of oil, for a 12.7% yield. Another audit example tracked 8,450 kg of olives into 1,120 L of oil, then into 2,400 bottles × 750 mL. That’s the kind of math I want to see match all the way through.
What this article is saying is simple: data format matters less than consistent linking. If batch CA-2026-014 can connect to the tank, lab sample, fill run, pallet, shipment, and order, the record chain holds. If it can’t, claims about origin, date, or stock fall apart.
Quick comparison
| Record area | What I track | Main purpose |
|---|---|---|
| Harvest intake | Grove/plot, date, weight, supplier, load ID | Tie olives to source |
| Milling | Input harvest lots, run ID, output tank lot, yield | Link olives to oil |
| Lab testing | Sample ID, oil lot, test values, date, lab | Tie results to the right oil |
| Packaging | Batch ID, SKU, GTIN, case/pallet IDs | Tie bulk oil to bottles |
| Warehouse & shipping | Lot, location, timestamp, shipment, carrier | Keep chain of custody |
| Ecommerce & orders | SKU, lot, order number, ship record | Match product claims to shipped goods |
So if I were checking an EVOO trace system, I’d start with one question: Can one bottle be traced back to every source lot, and can every source lot be traced forward to every bottle?
EVOO Traceability Chain: From Grove to Customer
Step 1: Capture harvest and milling records without breaking the chain
The first traceability record is the receiving ticket. It needs to connect each olive delivery to a grove or plot, the date, the weight, and the mill run.
Harvest data fields that identify incoming olives
For incoming olives, record the grove or plot ID, cultivar, harvest date, delivery date, grower or supplier, quantity, unit, transport reference, receiving timestamp, load ID, contractor, and fruit condition.
In the U.S., facilities usually log weight in pounds (lb) or short tons (ton). Some suppliers or labs may use kilograms or metric tonnes instead. Store both values - for example, 8,400 lb / 3,810.1 kg - and don’t overwrite the original unit. Leaving out the unit is one of the most common intake mistakes, and it’s easy to prevent.
A grove or plot ID gives you more precision than a supplier name by itself. A stable harvest-lot ID at intake - such as HARV-2026-0918-GRV042-01 - links the delivery ticket, scale ticket, and electronic record to one source. That ID should stay with the olives from the gate all the way through milling.
Milling records as the transformation from olives to oil
At the mill, the record shifts from olives to oil. Since olives and oil are not the same product, the milling record has to connect the input lots to the output lot. It should include every harvest-lot ID used in the run, the mill ID, milling date and time, quantity of olives processed, and the resulting tank or bulk-lot ID.
Yield is the main reconciliation check. If a run processed 8,250 lb of olives and produced 1,050 lb of oil, the yield is 12.7%, calculated as oil produced divided by olives processed, multiplied by 100.
That single number does a lot of work. It helps you check later that the math holds up and that no oil has gone missing on paper. And when one milling run uses more than one harvest lot, each source lot and its quantity should be stored separately. Don’t roll them into one generic line item. More than one harvest lot can feed a single milling run, and that link is what makes a full backward trace possible - from the tank all the way back to every grove that contributed.
That bulk-lot ID then becomes the anchor for lab sampling, test results, and batch creation.
Process table: how harvest records link to milling records
The table below shows how one harvest ID turns into a delivery ID, milling ID, and bulk-lot ID.
| Stage | Required identifier | Source record | Date | Quantity | Next linked record |
|---|---|---|---|---|---|
| Grove harvest | HARV-2026-0918-GRV042-01 |
Harvest / grower record | September 18, 2026 | 8,400 lb received | Delivery DEL-2026-0918-014
|
| Mill receiving | DEL-2026-0918-014 |
Scale ticket and receiving record | September 18, 2026 | 8,400 lb gross; 8,250 lb net | Milling run MILL-2026-0918-07
|
| Milling | MILL-2026-0918-07 |
Production / milling log | September 18, 2026 | 8,250 lb olives processed | Bulk lot OIL-2026-0918-07
|
| Oil storage |
OIL-2026-0918-07 / tank T-12
|
Tank-transfer record | September 18, 2026 | 1,050 lb oil | Lab sample, blending, or packaging record |
If a second harvest lot - say, HARV-2026-0918-GRV057-01 - also fed milling run MILL-2026-0918-07, it needs its own row in the milling record with its own quantity. Both lots should appear as parent records of OIL-2026-0918-07. That way, each contributing lot stays tied to the bulk lot for backward and forward traceability.
sbb-itb-4066b8e
Step 2: Link lab results, batch numbers, and packaged products
Once bulk oil is in the tank, connect the lab results and fill records to that lot. This creates two traceability paths: one for quality testing and one for packaged inventory.
Laboratory records tied to the exact sample and oil lot
Each lab record needs a sample ID that points to one exact tank or oil lot. If that link is missing, even a passing result doesn’t prove much. You can’t show that the test belongs to the oil you actually bottled.
Record free acidity (% oleic acid), peroxide value (mEq O₂/kg), K232, K270, sensory status, and polyphenols as structured fields. Add the test date, method, lab name, and spec limit to each record. And don’t leave the data buried in a PDF. Store each result in structured form so you can search, sort, and match it to the right lot.
Example:
Sample ID: LAB-2026-0148; Oil lot: TANK-07-2026; Test date: 09/25/2026; Free acidity: 0.24%; Peroxide value: 7.8 mEq O₂/kg; K232: 1.72; K270: 0.12; Sensory status: no defects detected.
The International Olive Council publishes standard methods for these tests.
Finished-product batches, SKUs, and packaging identifiers
The finished-product batch number is created when bulk oil becomes packaged product. That batch ties the source tank or blend lot to every bottle, case, and pallet made during that run.
TANK-07-2026 → BLEND-260924-02 → FILL-260925-A → bottle GTIN + lot → case SSCC → pallet SSCC
Use GTIN for the product, batch ID for the production run, SSCC for the case or pallet, and GLN for the location.
Comparison table: product ID vs. batch ID vs. logistics ID
| Identifier | What it identifies | Who assigns it | Where it appears |
|---|---|---|---|
| GTIN | A specific product version | Brand or product owner via GS1 | Product label, retail barcode, item master, purchase orders, ecommerce catalog |
| Batch / lot ID | A specific production run or packaged quantity | Mill, bottler, or brand owner | Bottle label, case label, production record, lab report, recall file, inventory |
| GLN | A company, facility, warehouse, or business location | The organization using GS1 identification | Master data, shipping/receiving records, electronic trading messages |
| SSCC | One logistics unit | The party creating the logistics unit | Pallet/case label, GS1-128 barcode, warehouse scan, carrier record |
GTIN is the product code. It is not the batch code. And if you rebuild a pallet, it needs a new SSCC.
Those same IDs then carry into shipping files, warehouse logs, and ecommerce product data.
Step 3: Track shipping, warehouse events, and ecommerce product data
After bottling, the same lot and batch IDs need to show up in warehouse, shipping, and ecommerce records. Once batch and logistics IDs are assigned, they should follow the product into storage, shipment, and online records.
Shipping files and warehouse logs that preserve chain of custody
Each shipment record should tie one lot to one sender, one receiver, one date, one quantity, and one carrier reference. Those are the core fields. On top of that, keep the bill-of-lading reference, case and pallet counts, and any temperature or damage notes that affect chain of custody.
Warehouse logs go a level deeper. Record each warehouse event with a timestamp, including:
- receiving
- put-away
- internal transfer
- cycle count adjustment
- hold or release
- picking
- loading
- dispatch
Each log entry should include the facility and storage location, lot number, SKU, quantity before and after the event, operator or system user, related shipment or order number, condition data like container damage or seal status, storage temperature in °F, and any corrective action.
EPCIS (Electronic Product Code Information Services) gives trading partners a shared event model for product, time, place, and custody data. It works alongside the warehouse system, not in place of it. That shared structure helps keep warehouse, carrier, and ecommerce records in sync.
Ecommerce product data for product pages and order fulfillment
The same IDs used in the warehouse should also control what appears on the product page and inside the order record. The cleanest way to handle this is with three linked layers: product master data by SKU, batch data by lot ID, and order data by order number.
Product-master data describes what the product is: name, bottle size, ingredients, origin statement, storage instructions, SKU, and product description.
Batch-specific data describes what that lot is: batch or lot number, harvest or milling date when used in a claim, supplier and origin records, laboratory documents, release status, best-by information, and the inventory quantity tied to that lot.
Order data describes the transaction itself: order number, customer and destination, ordered SKU and quantity, allocated lot, ship date, carrier reference, and fulfillment status.
A QR code should resolve to a current, access-controlled record, not a static claim page. It can point to the SKU, package size, approved origin and storage information, and, where appropriate, the lot’s release status, testing summary, or traceability details.
Big Horn Olive Oil example: keeping online product claims aligned with supply records
For Big Horn Olive Oil, any fresh-harvest or cold-pressed claim has to match the harvest, milling, and release records for that lot. When those distinctions are documented and controlled, the product page shows what the supply record actually says.
Conclusion and checklist: verify the full record from grove to customer
Once harvest, milling, lab, shipping, and ecommerce records are set, use this final check to make sure the chain still lines up from end to end. Every record should connect cleanly across each stage, all the way to the customer and all the way back to the source lot.
Checklist for a complete traceability chain
Each check should confirm what moved, when it moved, where it moved, how much moved, and which lot it came from.
- Assign stable IDs before product moves.
- Record harvest intake with field ID, date, quantity, and receiving location.
- Link every milling run to its input harvest lot and output tank lot.
- Attach each lab result to the exact sample and oil lot, and log release approval before bottling.
- Assign the finished-product batch ID before packaging.
- Log warehouse events with timestamps, quantities, and user IDs.
- Record shipping and receiving dates the same way each time, and keep the bill of lading with the lot ID.
- Keep the SKU-to-batch link in every order record.
Audit table: test one batch forward and backward
Use the same IDs from the supply chain to test one batch forward and backward. The table below checks finished batch EVOO-2026-014 in both directions, using the same identifiers, dates, and quantities across the chain. If anything is missing - a broken ID link, an unexplained quantity gap, a date that doesn’t line up, or a release status with no support - log it as an audit exception.
| Record stage | Identifier | Quantity | Date | Location | Evidence check |
|---|---|---|---|---|---|
| Harvest intake | HARV-2026-07 | 8,450 kg olives | 10/15/2026 | Grove/Block SIERRA-03 | Intake ticket and grower record |
| Milling run | MILL-2026-031 | 8,450 kg in; 1,120 L out | 10/16/2026 | Sierra Valley Mill | Run log, yield, and transfer record |
| Tank lot | TANK-18 | 1,120 L | 10/16/2026 | Tank room, Bay 2 | Tank ledger and seal record |
| Laboratory result | LAB-2026-018A | Sample from TANK-18 | 10/20/2026 | Approved laboratory | Report and release approval |
| Finished batch | EVOO-2026-014 | 2,400 bottles × 750 mL | 10/22/2026 | Bottling line 1 | Batch record and label verification |
| Warehouse movement | PALLET-014-02 | 4 pallets total | 10/23/2026 | Warehouse A to pick zone | Move ticket, status, and quantity reconciliation |
| Shipment | SHIP-2026-088 | 100 cases | 10/24/2026 | Warehouse A to distributor | Bill of lading and carrier record |
| Customer order | ORDER-104582 | 2 bottles | 10/26/2026 | Ecommerce fulfillment center | Order, pick ticket, shipment confirmation, and batch link |
FDA guidance assigns the traceability lot code when a food is initially packed or transformed, and it generally remains the same through later supply-chain movement unless the food is transformed again.
A valid audit confirms matching quantities, consistent dates, and clean identifier links.
FAQs
What happens if a lot ID is missing?
If a lot ID is missing, supply chain integrity takes a hit. That leaves gaps that make audits and recalls harder. Without that code, a bottle can't be tied back with confidence to its production run, harvest records, and lab results.
To avoid those problems, packaging teams may stop the line when lot codes are missing or hard to read. It’s usually far less costly to fix the issue on the spot than to deal with mislabeled batches that have already gone out into distribution.
Why should lab results be stored as searchable fields?
Storing lab results as searchable fields helps keep the supply chain efficient and transparent. With machine-readable records, teams can verify quality and authenticity faster instead of digging through scattered paper reports.
They also make it easy for producers to pull up data like polyphenol content, free acidity, and peroxide values by lot code. That means smoother compliance, simpler batch tracking, and a faster response when quality issues show up.
How can one bottle be traced back to the grove?
A bottle of Big Horn Olive Oil can be traced back to the grove through a digital audit trail linked to a unique lot identifier.
That identifier connects harvest data, milling records, lab results, batch numbers, plus storage and shipping records. So from harvest to bottling, every step stays auditable and easy to track.