TotalApp Docs

Harvest & Supply Inventory

Agro-input staging, growing-crop biological asset tracking (IAS 41), silo & storage management, and material consumption analytics — the four ledgers that turn field spend into capitalized harvest value.

What this group does

Four screens, one shared data layer, covering the full input-to-output supply chain: chemicals/fertilizers/seeds are staged and deducted as they're used; growing crops are tracked as biological assets that accumulate capitalized costs (IAS 41-style) until harvest; harvested volume lands in silo/storage as intake lots; and every dollar spent along the way is reconciled through one shared material consumption ledger.

Agro-Input Staging
→
Growing Crop Tracking (WIP)
→
Silo & Storage Management
→
Agro-Material Consumption

Screen preview

A quick look at the screen. Use the toggle in the corner to switch between the dark and light themes.

app.totalapp.app/agriculture/harvests
Targets
9
Planned Yield
420 t
On Schedule
88%

Harvest targets, windows and commitments

Under the hood — where the silo registry actually lives

The silo registry originally lived as a minimal stand-in inside the Agro-Tech Execution group's own data layer, used by Season & Harvest Scheduling for storage reservation before this screen existed. When Silo & Storage Management shipped, ownership of that store moved here — and Agro-Tech Execution's screens now transparently reuse this store, so existing callers (Season & Harvest Scheduling, Farm-to-Fork Traceability) needed no changes. The silo data itself always lives here, even though some cross-screen calls still route through Agro-Tech Execution's own integration layer.

1. Agro-Input Staging

Purpose: Track on-hand stock of fertilizers, pesticides, seeds/seedlings, and soil conditioners staged for field use — expiration, hazard level, reorder threshold.

Key features

  • Codes — ID format STG-2026-XXXX staging lot id and SKU-2026-XXXX SKU id, tracked separately since one SKU can have multiple staging lots (different expiration dates).
  • Categories — Fertilizers, Pesticides, Seeds/Seedlings, Soil Conditioners.
  • Expiration countdown meter — returns days remaining (negative once expired).
  • Derived status — always overrides stored status: Expired/Quarantined if days-to-expire ≤ 0, else Low Stock Alert if quantity ≤ reorder threshold, else Staged/Ready.
  • MSDS hazard levels — None, Irritant, Toxic, Highly Toxic/Corrosive.

Integration triggers

Action / HookWhat it does
Deduct Staging StockDeducts on-hand quantity across the SKU's staging lots (earliest-expiring first), recomputing each lot's derived status. Called from Field & Greenhouse Orders on order completion and from Agro-Chemical Analytics on chemical application.
Reconcile with Chemical AnalyticsPushes the staging lot's active-ingredient profile onto a matching Agro-Chemical Analytics record, and marks it as synced. Real write against Agro-Chemical Analytics' own data.
Trigger Purchase Order ReorderFlips a reorder-triggered flag on a low-stock record. A local flag only — no Purchase/Procurement screen exists yet in Agriculture to route the actual PO to.

2. Growing Crop Tracking (WIP)

Purpose: Track each active planting as a biological asset (IAS 41-style) — accumulating capitalized costs by category as the crop moves through growth stages toward harvest.

Key features

  • Batch codes — ID format WIP-2026-XXXX.
  • Cost capitalization — a list of capitalized cost entries tagged by category Labor, Irrigation, Fertilizer, Land Usage, each entry timestamped with an optional note.
  • GDD maturity gauge — expresses accumulated Growing Degree Days as a percentage of the crop's target GDD, capped at 100.
  • Growth stages — Germination → Vegetative → Flowering → Fruiting → Harvest Ready.
  • Status — Active WIP, Storm Damage Flag, Harvest In Progress.

Integration triggers

Action / HookWhat it does
Capitalize WIP to HarvestOn harvest completion, creates an unverified intake lot in the silo registry, then sets a capitalized-to-harvest flag and status Harvest In Progress on the WIP record.
Sync Accumulated CostsReads unreconciled Agro-Material Consumption records for the WIP's location, sums their total cost, adds it to the accumulated input costs, and marks each consumption record as reconciled with a back-reference to the WIP. Real, local — this data layer owns both the WIP store and the consumption ledger.

3. Silo & Storage Management

Purpose: Manage bulk silo/warehouse storage capacity — fill level, grain condition, aeration, quarantine status — and link stored lots back to traceability.

Key features

  • Silo codes — ID format SILO-2026-XXXX.
  • Fill capacity gauge — expresses reserved tonnage as a percentage of total capacity, capped at 100.
  • Grain condition readings — moisture %, internal temperature (°C).
  • Aeration fan status — Active, Idle, Maintenance Required.
  • Quarantine status — Clear, Mold Risk Warning, Sealed.
  • Storage condition — Ambient, Cold Storage, Controlled Atmosphere, Dry Depot.

Integration triggers

Action / HookWhat it does
Reserve Storage CapacityIncrements a silo's reserved tonnage by the expected harvest volume. Called by Season & Harvest Scheduling during harvest planning.
Link Silo Lot to TraceabilityPushes a batch storage record into Farm-to-Fork Traceability, setting the storage silo link and an origin-verified flag on the matched trace record, and a traceability-linked flag on the silo. Real write against Farm-to-Fork Traceability's own data.
Trigger Aeration MaintenanceDispatches an "Aeration Motor Fault / Overheating" work order via the shared, domain-agnostic maintenance service, then sets the silo's aeration-maintenance-triggered flag and fan status to Maintenance Required.

4. Agro-Material Consumption

Purpose: The shared consumption ledger every other screen in this add-on posts into — the single source of truth for "what did we actually spend, on what, and where."

Key features

  • Consumption IDs — ID format AMC-2026-XXXX.
  • Source categories — Chemicals, Fertilizers, Water/Utilities, Power/Electricity, Fuel.
  • Seasonal budget burn gauge — compares actual cost total against (budgeted cost/ha × hectares), can exceed 100 if over budget.
  • Reconciliation modal — a record carries optional back-references to a linked work order, resource counter, and WIP batch, plus a manually-adjusted flag and free-text reconciliation note.
  • Every record is written by another screen — this ledger has no independent "create" flow of its own in the documented pipeline; it is populated entirely by the sync action on Field & Greenhouse Orders and the post action on Resource Counters.

Integration triggers

Action / HookWhat it does
Sync Order Materials to Consumption (source: Field & Greenhouse Orders)On order completion, deducts each material from Agro-Input Staging and writes a matching consumption record here.
Post Resource to Material Consumption (source: Resource Counters)Posts a utility counter's net usage and cost as a consumption record (resource type mapped to source category).
Sync Accumulated Costs (source: Growing Crop Tracking WIP, reads this ledger)Reads unreconciled records for a WIP's location and folds their cost into the WIP's accumulated input costs, marking them as reconciled.

End-to-end data flow

Source screen / hookWritesTarget screen / store
Field & Greenhouse Orders · Sync Order Materials to ConsumptionDeducts stock; creates consumption recordAgro-Input Staging + Agro-Material Consumption
Agro-Input Staging · Deduct Staging StockReduces on-hand quantity per lot, recomputes statusown store (called from multiple sources)
Agro-Input Staging · Reconcile with Chemical AnalyticsSyncs active ingredient onto matched recordAgro-Chemical Analytics
Agro-Input Staging · Trigger Purchase Order ReorderSets reorder-triggered flagown record (local flag only)
Season & Harvest Scheduling · Sync Schedule to WIPCreates growing-crop WIP recordGrowing Crop Tracking WIP
Growing Crop Tracking WIP · Capitalize WIP to HarvestCreates silo intake lotSilo & Storage Management registry
Growing Crop Tracking WIP · Sync Accumulated CostsSums unreconciled consumption cost into accumulated input costsAgro-Material Consumption (read + reconcile)
Season & Harvest Scheduling · Reserve Storage CapacityIncrements silo reserved tonnageSilo & Storage Management registry
Silo & Storage Management · Link Silo Lot to TraceabilityLinks storage silo to a lot; sets origin-verified flagFarm-to-Fork Traceability
Silo & Storage Management · Trigger Aeration MaintenanceDispatches aeration fault work orderShared maintenance service (domain-agnostic)
Resource Counters · Post Resource to Material ConsumptionCreates consumption recordAgro-Material Consumption

Frequently Asked Questions

Why does Agro-Tech Execution still reference silo data and functions?
For backward compatibility. The silo registry moved here when Silo & Storage Management shipped, but Agro-Tech Execution's screens transparently reuse this store so that Season & Harvest Scheduling and other pre-existing callers needed zero changes when ownership moved.
Can Agro-Material Consumption records be created directly on that screen?
The documented pipeline populates this ledger entirely from Field & Greenhouse Orders (materials used) and Resource Counters (utility usage) — both write into it as an integration side-effect. The screen exists to view, filter, and reconcile those records (including a manually-adjusted flag for hand corrections), not as the primary entry point for new consumption.
What happens to a WIP batch's costs once it's harvested?
Capitalizing the WIP to harvest creates an unverified intake lot in the silo registry and flips the WIP's status to Harvest In Progress with a capitalized-to-harvest flag — the accumulated capitalized costs stay on the WIP record as the batch's final cost basis; they aren't separately transferred elsewhere by this action.
How does a low-stock staging item get reordered?
Triggering a purchase order reorder only sets a local reorder-triggered flag on the record today — there is no Purchase/Procurement screen wired up in this add-on yet to receive an actual purchase order, so the flag is currently just a visual badge in the staging ledger.
Does an expired staging lot get auto-deducted from stock?
No — the derived status calculation only recomputes the display status to Expired/Quarantined when days-to-expire ≤ 0; it does not zero out or remove the quantity. Actual stock deduction only happens via the Deduct Staging Stock action, triggered by real consumption events.
Does the aeration maintenance trigger require Agro-Equipment Maintenance to exist?
No — triggering aeration maintenance routes through the shared, domain-agnostic maintenance service (also used by Manufacturing's Maintenance Operations group), which already exists independently of whether Agriculture ships its own dedicated maintenance screens. See Agro-Equipment Maintenance for that group's roadmap status.