Skip to main content

Reading an Item's Inventory Timeline: History and Projection

How to read an item's inventory over time: the transaction log (recorded history) and the projected timeline (what Gaia expects next), how they meet at today's on-hand, and why a number can look wrong.

Written by Souha Alameddine

Reading an Item's Inventory Timeline: History and Projection

Gaia keeps a running balance of an item's on-hand stock at a school, and it lets you look at that balance in both directions in time. The transaction log shows what already happened to bring you to today's on-hand. The projected inventory timeline takes that same on-hand figure and carries it forward, adding what's arriving on orders and subtracting what your upcoming menus will use. This article covers both, and how they fit together.

Quick answer

  • Two views of one running balance. The transaction log is the past (every change that got you to today's stock). The projected timeline is the future (what Gaia expects your stock to do next). They meet at today's on-hand.

  • Both are per item, at one school, shown as a running balance in the item's serving (shopping) unit.

  • The log answers "how did we get to this on-hand?" Each row is a received delivery, a production record that used stock, a transfer, an adjustment, or a discard, with the on-hand amount after it.

  • The projection answers "will we have enough?" It's what sets an ingredient to Ready or Insufficient on a production record. Placed orders push it up on their delivery date; upcoming menus pull it down.

  • Where to find them. Open the item's Inventory section (from the Pantry or the inventory panel on the Production Records page) and click the transaction-history icon for the log. For the projection, expand a recipe on a production card and click the ingredient's inventory status.

  • If a number looks wrong, it's almost always a unit conversion on the item. See When a number looks wrong.

The model: one item's stock over time

The simplest way to hold all of this in your head is one running balance stretched along a timeline, with today in the middle:

past changes (the transaction log) → today's on-hand → expected changes (the projected timeline)

To the left of today, everything is recorded fact: deliveries you received, stock your kitchens used, transfers, corrections. Add those up and you arrive at exactly what you have on hand right now. To the right of today, everything is an expectation: orders you've placed that haven't arrived yet, and menus you've planned that haven't been cooked yet. Gaia starts from today's on-hand and keeps the running balance going forward.

Both halves are drawn the same way: a date, what happened (or is expected) on that date, and the resulting balance. Both are measured in the same unit. The only real difference is that one is history and one is a forecast, and they hand off at a single number, today's on-hand.

Today's on-hand: where the two meet

"On hand" is the live total of everything you currently have of that item at that school, added up across every lot and pack size and expressed in the item's base unit. It is a live number, not a saved snapshot: receiving, using, transferring, adjusting, or discarding stock all change it immediately.

This one number is the hinge. The transaction log's running balance is built so that its most recent row lands on today's on-hand. The projected timeline uses that same on-hand as its starting point and extends it forward. That's why the two views always agree at "today" even though they're calculated separately: they're reading the same live stock level.

The transaction log: what already happened

The transaction log records every change to an item's on-hand inventory at a school. Each entry shows:

  • The date (and who or what made the change, a user or the system)

  • The transaction type, with an icon

  • The amount that changed

  • The on-hand amount after the change (shown with the change as a small delta, for example "120 +30")

  • A link to the order or production record that caused it, when there is one

The types you'll see:

  • Check-in — stock added. Most often this is receiving a delivery (it links to the order); it can also be a manual check-in.

  • Check-out — stock used. Most often a production record cooking a menu (it links to the record); it can also be a manual check-out.

  • Adjustment — a manual correction to match a physical count. An adjustment row shows the resulting total you set it to, rather than a plus-or-minus amount.

  • Discard — stock removed as waste or spoilage.

  • Transfer out and Transfer in — stock moved to or from another site. The two sides are paired, and the row shows the other school.

Opening it: open the item from the Pantry and open its Inventory section, or open the inventory panel on the Production Records page, then click the transaction-history icon

to see the full log for the item at the current school. You can filter by date range and by transaction type, which is what makes it useful for an audit, a reconciliation, or tracking down an on-hand number that doesn't look right. Entries created by an order or a production record link straight to that record.

How far back it goes: the log lists changes from when Gaia began storing the running balance (early 2026) onward. Older changes aren't shown, because the stored on-hand-after figure they rely on didn't exist yet.

The projected timeline: what Gaia expects next

The projected timeline shows how Gaia expects an item's on-hand to change day by day going forward, and it's how Gaia decides whether an ingredient is Ready or has Insufficient inventory for a menu.

Opening it: go to the weekly production view, expand a recipe on a confirmed production card to show its ingredients, and click an ingredient's inventory status. The projected inventory dialog opens for that ingredient, headed with the item name and "Projected for [date]." (An ingredient marked "Missing Info," meaning it has no vendor products set up, isn't clickable.)

How to read it. It's a running balance with three columns, newest at the top and today's starting point at the bottom:

  • Day (Events): the date of each event. Only dates with something happening get a row, plus a "Today" row for your starting on-hand.

  • Transaction (Details): what happens that day, with an icon. A box is your starting on-hand. A truck is inventory arriving on an order, labeled with the order it came from. A utensils icon is inventory being used by a production record, shown as a reduction.

  • Projected (Previous + Σ Transactions): the balance after that day, equal to the previous balance plus that day's arrivals minus that day's usage.

The final projected number in the header is what Gaia compares against the amount the meal needs, to set Ready or Insufficient.

Reading the example from the bottom up:

  • Saturday, June 27th (Today): the box row shows 0 on hand, so the balance starts at 0.

  • Monday, June 29th: a truck row shows +216 from "Order for Jun 29th, 2026." The order arrives on its delivery date, so the balance becomes 0 + 216 = 216.

  • Tuesday, June 30th: a utensils row shows 120 used by "ES Lunch Regular," so the balance becomes 216 - 120 = 96.

The header shows the result: 96 projected for June 30th.

What pushes the balance up: orders you've placed. A placed order shows up as a truck row on its expected delivery date, which is why an ingredient can flip from Insufficient to Ready as soon as you add it to an order. If an order has no delivery date set, it's assumed to land on the day you're forecasting. Orders that are still drafts only affect the "shopping" total, not the confirmed projection, and an order delivering after the day you're forecasting (or more than a few days in the past) isn't counted. If an order is voided or its delivery date moves, the timeline updates to match.

What pulls the balance down: your upcoming menus. Each future production record that uses this item reserves a quantity against it (a commitment), which appears as a usage row on that record's date and is labeled with the menu plan. Gaia works the amount out from the menu: planned servings, scaled through the recipe to this ingredient, converted into the item's unit. Only future usage counts; anything already cooked is left out, because your current on-hand already reflects it.

Ready vs. Insufficient. If the running balance would ever dip below zero before the day you need it, the ingredient is Insufficient; otherwise it's Ready. A shortfall shows as an orange projected number (it's never displayed below zero). The fix is usually to place or enlarge an order so a truck row covers the gap.

Why everything is measured in one unit

Incoming stock is ordered in packaging units (cases, crates) and outgoing stock is used in serving units (cups, each, ounces). Those can't be added and subtracted directly, so Gaia first converts every arrival and every use into the item's base unit, does the running-balance math there, and then displays the result in the item's serving (shopping) unit. That's the same unit the transaction log uses, which is why the two views line up.

This is why unit setup matters so much here: the timeline is only as trustworthy as the item's conversions. If a conversion is missing or wrong, arrivals and uses end up measured on different scales and the balance stops meaning anything. See Item Units, Conversions, and Packaging for how conversions and the shopping measurement work.

When a number looks wrong

Most timeline problems trace back to the item's setup rather than the timeline itself. The common causes:

  • Every number is scaled too high or too low. The item's serving (shopping) conversion is off. It sets the unit the whole timeline is displayed in, so a wrong one throws off every figure even when the underlying math is fine.

  • On-hand reads 0, or a delivery or usage is missing. The item is missing a conversion path Gaia needs, so it can't translate that unit and drops the amount instead of showing an error. Open the item's Units tab and add the missing conversion. (See Item Units, Conversions, and Packaging, "Fixing conversion problems.")

  • An order isn't showing as incoming. It may have no delivery date (it then lands on the forecast day), it may still be a draft (drafts only affect the shopping total), or its delivery date may be after the day you're forecasting or more than a few days in the past.

  • Usage isn't being subtracted and the projection looks too high. The menu isn't published, there's no production record for it yet, or the recipe has no planned servings, so there's no commitment to draw the balance down.

  • On-hand looks higher than what's actually usable. Expired stock still counts toward on-hand in the projection, so a large on-hand figure can include lots you can't really use.

If the log's balance and the projection's starting on-hand don't match what you physically counted, use an Adjustment to true it up to the real number; that correction becomes the new starting point for the projection.

Related Articles

Did this answer your question?