Maize programme dashboard MAIZE
Progress by application β issued vs closed
Top chemicals issued (by qty)
Stock alerts (shared store)
Build issue β Maize programme MAIZE
Chemicals to issue
| Use | Chemical (in stock) | Code | Rate/ha | UoM | Total | Pack | Packs | Issue (whole) | On hand | Theo. after | Status |
|---|
Season programme β Maize MAIZE
Edit rates inline; add/remove chemicals and applications. Only the application name is required β an application with no chemicals becomes a selectable group at field-build where you enter chem & rate. Changes save automatically and flow into Build & Issue.
Issue to other programme (non-spray)
HSE camp mosquito spraying, vegetable garden, silo fumigation, etc. Draws from the same shared store; only in-stock chemicals selectable.
| Chemical (in stock) | Code | Qty | UoM | On hand | Theo. after | Del |
|---|
Build an issue then click βPreview issue sheetβ.
Issue ledger / DB 0
| Date | Req | Prog | Field/Target | Stage | Fleet | Lines | Total qty | Status | Action |
|---|
Theoretical stock (shared store)
Theoretical = opening on-hand β issued + returns + received (across BOTH programmes & other issues). Flags show data conflicts from the historical load.
| Product | Code | Cat | UoM | Pack | Opening | Issued | Returns | Received | Theoretical | Flag |
|---|
Returned stock β opened packs (kept separate from Primary stores)
Opened / part-used packs returned from the field. Tracked separately and NOT included in the Primary stores balance above. To issue a partial quantity from here, tick "From returned?" on the relevant line when closing an issue β that draws this pool down instead of opening a new pack from Primary stores.
| Product | Code | UoM | Pack | Returned in | Drawn out | Opened balance |
|---|
β Primary stores count (blind)
PRIMARY STORES (unopened / full packs) only. No theoretical values shown β counters record physical quantities without bias. Print or export, count, then enter results below. Part-used returns are counted separately in β‘.
| Product | Code | Cat | UoM | Pack size | Count (packs) | Count (base UoM) |
|---|
β‘ Returns store count (blind)
PART-USED / opened containers only (the Returns store). Separate physical count, no theoretical shown. Only products with returns activity are listed.
| Product | Code | Cat | UoM | Physical count |
|---|
β’ Process stock adjustments
Compares your physical count to theoretical, computes the adjustment quantum per product, sets the new opening balance, and produces an audit log (qty + value) for Accounting to post to the ledger.
| Product | Code | UoM | Pack | Theo (base) | Count (base) | Adj (base) | Theo (pk) | Count (pk) | Adj (pk) | Unit $ | Adjustment $ |
|---|
Returns store write-offs (opened packs)
Compares the Returns store physical count (β‘) to its theoretical pool balance; the variance is a write-off / recovery for Accounting. Base units.
| Product | Code | UoM | Pool balance | Counted | Variance | Unit $ | Write-off $ |
|---|
Spray fleet DB
| Unit ID | Type | Tank L | Mix tank L | Edit | Del |
|---|
All fleet edits are captured in the single change file produced when you Finish & export Edit Mode. You can still re-import a previously saved fleet file here if needed.
How it works
- Programme toggle (top right) switches between π½ Maize (green) and πΎ Wheat (amber) β different recipe, fields and colour scheme. Both draw from one shared store.
- Dashboard β per-programme KPIs: hectares, events, fields, theoretical value and low-stock alerts.
- Season Programs β the editable chemical recipe per crop (rate/ha, pack, price). Build new programmes and add application stages here.
- Other Programs β issue chem to non-field targets (HSE, gardens, silos, etc.).
- Build/Issue Field Program β pick field + stage; choose Tallboy (mixing tables for 3000 & 4500 L tanks) or Drone (200 L mixing-tank table). Only in-stock chemicals are issuable; out-of-stock recommendations show a substitute picker. Two buttons sit above the build block:
- Issue Sheet β prints the Office, Stores and detailed In-Field copies. Each copy prints on its own page. The In-Field copy is where supervisors record fleet used, operator, actual chemical applied and returns.
- Record of Issues β the issues ledger/DB (pre-loaded with historical Maize & Wheat issues). Close an event to enter actuals + returns. On close you record what came out of Primary stores and what was drawn from the Returns store; any leftover goes into the Returns store (it does not go back to Primary stores). Events can also be edited.
- Detailed Field Report β all chemical applied to a field across every stage and both programmes (issued, actual applied, returns). Print or export.
- Stock β the store is tracked as two separate stores:
- Primary stores β unopened containers / full packs. Theoretical = opening β issued from Primary + received. This is what the normal floor count counts.
- Returns store β part-used / opened containers. Balance = returned at close β re-issued from returns. Returns never re-enter the Primary balance; they are counted separately.
- Stock Count β prepares two blind count sheets, one per store: β Primary stores count (unopened only) and β‘ Returns store count (part-used only, listing just products with returns activity). Each can be printed or exported to CSV, and neither shows theoretical values so counters aren’t biased. β’ Process stock adjustments then compares the Primary count to Primary theoretical, sets the new opening and exports an audit log (qty + value) for Accounting.
- Units β a programme rate may be written in different units to the way stock is held (e.g. a recipe in grams/ha against stock held in Kg). The app converts automatically at issue time (gβKg, mLβL) and always stores the issue in the stock item’s unit. If a recipe unit cannot be converted to the stock unit (e.g. g against a stock item held in L β that needs a density, or it is the wrong stock item), the issue is blocked with a message naming the product and both units. Fix the programme rate UoM or the stock record, then re-issue.
- Fleet β add/edit units. All edits are bundled into the one Edit-Mode change file on exit.
- Edit Mode (top bar, password-protected) β required to change any records. All edits in a session bundle into one change file on exit; send it to the manager to update the master records.
All data is stored locally in your browser. Export CSVs feed the Excel stock updater.
Top bar buttons β updating the app & your data
The date in the header (“Stock & programmes as of …”) is the build stamp of the file you currently have open. Use it to check you are on the latest master before doing anything below.
- π View only β Enable edit β the app opens read-only every time. Enter the password to make any change. Every edit is logged, and on exit one consolidated change file downloads. Send that file to the manager to update the master records.
- β¬ Import update Β· ADMIN ONLY (Edit Mode) β applies a patch file (
Mashamba_import_*.json) sent by the manager: programme changes, new issues, closes, fleet usage. Safe to re-import β it de-duplicates. Use this for data updates when you want to keep everything else on this device. - β» Reset & reseed Β· ADMIN ONLY (Edit Mode) β wipes all local data on this device and rebuilds it from the master file on disk. See below.
Refreshing vs clearing β which do I need?
Code and data reach the app by two different routes. This trips people up, so:
- New features / fixes (code) live in the HTML file β you get them by reloading the file (Ctrl+F5 for a hard refresh). Your data is untouched. Confirm the header build stamp changed.
- New records (data) live in your browser’s local storage. A reload does not change them. Get data updates either by β¬ Import update (keeps this device’s data) or by β» Reset & reseed (replaces it wholesale).
The master file’s built-in records only ever load on a first-ever install. That is why an existing device needs a patch or a reset β simply opening a newer file will not correct its data.
β» Reset & reseed β what it does
- Export first. If this device has issues or closes not yet sent to the manager, enable Edit Mode, make any change, exit and send the change file. A reset discards anything not already in the master file.
- Enable Edit Mode β click β» Reset & reseed. It shows the build stamp it is about to reseed from and asks twice.
- Check that build date. If it is not the build the manager told you to expect, STOP β your Dropbox copy has not synced yet, and reseeding would restore the old data. Wait for Dropbox to finish, reopen the file, and check the header again.
- Confirm. The app re-reads the file from disk automatically (no manual hard refresh needed β it handles that itself), then clears local data and rebuilds every record from the master: programmes, historical issues, closes, fleet usage, stock, and the Returns store.
Both admin buttons require Edit Mode, so neither can be triggered accidentally from view-only.
Field chemical report
All chemical applied to a field across every stage and both programmes β issued, actual applied (where closed) and returns.