Compliance, sorted
The AgriPartners manual
A role-aware guide to running compliance on AgriPartners — from your first block to the morning an auditor sits down beside you. 17 sections; nobody reads all of them. Use the training paths to pick the right ones for each person.
Getting around
AgriPartners adapts to how you work. Managers get a full desktop workspace; field staff get a focused phone app; the platform operator gets an oversight console.
Desktop (Operations) — owners & managers
If you're an organisation owner, compliance manager, HR or H&S manager, document reviewer, auditor or report user, you land in the desktop workspace. In the header you'll find:
- the organisation switcher (top-left) — if you belong to more than one organisation it sets which one you're working in, and the whole app follows it; your choice is remembered between visits;
- global search — press ⌘K / Ctrl-K;
- + Record — one-tap capture of field work (see Recording work);
- the notification centre.
The sidebar is grouped by what you're doing:
| Group | What's in it |
|---|---|
| Overview | Dashboard, Farm Map |
| Operations | Spray & Apply, Harvests, Fertiliser, Irrigation, Energy, Refrigerants, Packaging, Inventory, Stocktakes, Quarantine |
| Spray Oversight | PPP Reviews, PPL Insights, PPP Analytics, Compliance Map |
| Compliance | Audit Workspace, Inspections, Traceability, Reports, Audit Log |
| Sustainability | Water Efficiency, Carbon Footprint |
| Workforce | Workers, Training, Tasks, Responsibilities |
| Records | Documents, Registers |
| Setup | Sites & Blocks, PPL Rules, Users & Roles, Import |
Daily work lives with the work; Setup holds configuration, kept separate. A few roles see extra groups: consultants get a Practice group (their farm portfolio); a packhouse organisation gets Packhouse (Intake, Grower Map); and a grower linked to a packhouse gets Supply (Deliveries).
Audit-tier farms (audit-only subscription) see a reduced sidebar — the full operational and spray-governance groups are hidden.
Mobile app (Field) — site managers & field workers
If you're a site manager or field worker, you land in the mobile app: a compact interface with a bottom tab bar for one-thumb use in the field.
The five tabs:
| Tab | What it's for |
|---|---|
| Home | Your organisation overview |
| Tasks | Jobs assigned to you — open one to record it as complete |
| Inspections | Health & safety checks and incidents |
| Documents | View and download compliance documents and evidence |
| Training | Your training courses and records |
In the header, + Record lets you capture in-block work — a spray, harvest, fertiliser or irrigation — right where it happens (see Recording work). Profile and Sign out live in the menu — tap the ☰ icon in the top-right corner.
Admin console — platform operator
The platform operator (super admin) lands in the operations app like everyone else — app-first — and opens the oversight console from the "Admin console" link at the bottom of the sidebar. The console gives cross-organisation visibility: organisations, users, system health, the audit chain and alerts, plus a "view as" switcher to see any user's surface (useful for support). "Back to app" in the console header returns to the operations app.
Notes
- Your surface is determined by your role — you don't pick it. If you hold both a field role and a manager role, you get the desktop workspace (it does more).
- If a menu item or page says you don't have access, that's expected — you only see what your role permits.
Recording work
The compliance and sustainability numbers only fill in if the work gets logged. AgriPartners makes that a one-tap job from anywhere.
+ Record — the quick way
The + Record button sits in the header on both the desktop workspace and the mobile field app. Tap it, pick what you're logging, and a short form opens:
| Record | Needs | Notes |
|---|---|---|
| Spray & apply | block, product, rate, area | Opens the quick spray form; jumps you to execution. Compliance-checked. |
| Harvest | block | A picking / yield. |
| Fertiliser | block | Nutrition applied to a block. |
| Irrigation | block | Water applied to a block. |
| Energy | — | Fuel or electricity use. |
| Refrigerant | — | A cold-chain F-gas top-up. |
| Packaging | — | Packaging & bins used. |
For the block-level records (harvest, fertiliser, irrigation), you pick the block from a searchable list that shows its crop and flags any block under a PHI hold — so you don't record a harvest you shouldn't.
The field app shows the in-block records only (spray, harvest, fertiliser, irrigation) — the facility records (energy, refrigerant, packaging) are a manager/desktop job.
Everything logged here feeds the same records as the full Operations pages — + Record is just the fast path to them.
Data capture nudges (desktop dashboard)
The dashboard's Data capture card shows which of the seven record streams are being fed and, importantly, which have never been logged — highlighted as amber "start capturing" chips. A stream with data shows when it was last logged. Tap any chip to open + Record straight to that type, so a gap is one tap from being filled.
The Evidence Assistant
When you're preparing for an audit, the tedious part is matching your documents to the right controls and checking each one actually says enough. The Evidence Assistant helps with both — as suggestions you accept or reject. It never decides compliance for you, and it never links or accepts evidence on its own.
Find it in Compliance → open an audit scope → Evidence tab. It works on PDF documents (scanned images without a text layer aren't supported yet).
Suggest control links
AI Suggest reads a PDF and proposes which of the scope's un-evidenced controls it looks like evidence for. Each suggestion is a chip with the control, how relevant it looks, and a one-line reason. Link attaches it (still as pending, for a reviewer to accept the normal way) or Dismiss it.
This saves the hunt for "which control does this document belong to?"
Coverage hints
On any document already linked to a control, AI coverage reads the document against that control's requirement and tells you what it covers and what may be missing — e.g. "covers the water source and lab name; may be missing the sample date."
What it does and doesn't do
- It reads the document and gives an opinion — relevance and coverage.
- It never marks a control compliant, and never accepts evidence. A person still reviews and accepts, exactly as before.
- Treat "may be missing" as a prompt to double-check, not a verdict — the assessment is decision-support, not a compliance determination.
The assistant is only available where an AI provider is configured for your deployment.
Plans & free trials
AgriPartners comes in two plans:
| Plan | What you get |
|---|---|
| Audit | Compliance workspace, documents, findings, audit-readiness — the certification essentials. |
| Full system | Everything in Audit plus live spray-time compliance, the farm map, the operational records, and carbon/water. |
Your plan is set per farm. The full-system groups in the sidebar are simply hidden on the audit plan.
Free trial of the full system
An audit-plan farm can be given a 30-day free trial of the full system, so the owner can see it in action before committing.
- Who starts it: the farm's managing consultant (or the platform operator) starts the trial from the Farm portfolio — an owner can't self-start one. Owners who want it use Request the full system on their dashboard, and the consultant responds with a trial or a full upgrade.
- During the trial: the whole full system unlocks — the header shows a "Trial · N days left" chip so everyone knows it's time-boxed.
- When it ends: the farm returns to the audit plan and the full-system groups hide again — but nothing you captured is deleted. Every spray, harvest and record from the trial is kept; upgrading restores access to it.
- One per farm: a farm can be trialled once. (The platform operator can extend a running trial if needed.)
To convert, the consultant uses Enable Full on the portfolio (or the owner requests it from the dashboard).
Roles & access
Everything you can see and do in AgriPartners comes from the roles granted to you in an organisation. Roles are not decoration — they drive which surface you land on, which sidebar groups appear, and which buttons are enabled.
The roles
| Role | Typically | What it's for |
|---|---|---|
organisation_owner |
Farm owner / MD | Full control of the organisation |
compliance_manager |
Compliance officer | The audit workspace, evidence review, findings, spray oversight |
site_manager |
Farm / block manager | Day-to-day operations on a site; lands in the field app |
hr_manager |
HR | Workers, training records |
hs_manager |
Health & safety officer | Inspections, incidents |
trainer |
Training coordinator | Training evidence |
auditor_readonly |
External auditor | Read-only view for audit day |
document_reviewer |
Whoever signs off evidence | Accepting / rejecting evidence links |
report_user |
Management, retailers | Reports and analytics |
field_user |
Field workers | The field app — tasks, inspections, records |
labour_provider_user |
Labour contractor | Their own workforce records |
packhouse_user |
Packhouse staff | Intake and grower map |
super_admin |
The platform operator | Cross-organisation oversight console |
cresco_group_admin |
Group-level operator | Group oversight |
A person can hold several roles at once, and roles are granted per organisation — so the same login can be a compliance manager on one farm and a report user on another.
How access is actually enforced
Three separate layers, and it's worth knowing the difference when something is hidden:
- Your surface — role decides whether you get the desktop workspace, the field app, or the admin console. See Getting around.
- Capabilities — individual menu items declare a capability (for example
PPP Reviews needs
audit_scopes.read, PPL Rules needsstandards.read). If you don't hold it, the menu item doesn't appear at all — the nav is gated with the same check the page itself uses, so you never see a link that would bounce you. - The farm's plan — audit-tier farms don't get the full-system groups (Operations, Spray Oversight, Sustainability, Farm Map). See Plans & free trials.
"Why can't I see X?" Work down that list: is it a full-system feature on an audit-plan farm? Then is it capability-gated for your role? Then check you're in the right organisation in the switcher.
Granting roles
Setup → Users & Roles has two tabs:
- Members — everyone in the organisation, with their active roles.
- Role Grants — the individual grants, which is where you add and revoke.
Grant Role adds a role to a member. Grants can stop being effective (for example when they're revoked or time-boxed), which is why the Members tab shows only active roles while the Role Grants tab shows the full history. For an audit, the Role Grants tab is the one that evidences who had which authority, when.
A note for compliance officers
Two roles matter most to you and are easy to conflate:
compliance_manager— runs the audit workspace and the spray-review inbox.document_reviewer— accepts or rejects evidence links.
Whoever links evidence can't quietly self-approve it: a link lands as pending and someone with review rights accepts it. If you're the only person with both roles, that separation exists on paper only — worth raising before an auditor does.
Setting up your farm
Do these in order. Later features quietly depend on earlier ones — a block with no crop can't be sprayed against, and an audit scope with no standard has nothing to measure.
The order that works
The dashboard shows a Get started card until the first two are done, so you can follow it rather than this page:
- Add a site and your first block — blocks are the unit everything hangs off: spraying, harvest, the map, traceability.
- Set the current crop on a block — a block isn't execution-ready without one.
- Create an audit scope — pick the standard you're certifying against, so readiness has something to measure against.
Once your first block is set up, that card is replaced by a permanent Your farm card showing your site and block counts, with Manage sites & blocks going straight to the setup page. So there's always a route back — adding a block in month six is no harder to find than adding the first one.
Sites & blocks
Setup → Sites & Blocks. A site is a farm or property; blocks are the production units inside it. Add the site first, then expand it to add blocks.
Per block you set the current crop (this is what the compliance engine reads when it evaluates a spray) and optionally draw the geometry so the block appears on the Farm Map and Compliance Map.
Blocks carry a row type — production, pollinizer, sentinel or
service — which matters for how areas are treated in reporting.
Get the block names right the first time. They show up in every record, every export and every audit pack from here on.
Users & roles
Setup → Users & Roles. Invite the team and grant roles. See
Roles & access for what each role opens up — and for
why an auditor should get auditor_readonly rather than a borrowed login.
Import
Setup → Import bulk-loads two things from CSV:
- Workers
- Sites
Upload the file (click or drag & drop) and the importer walks you through it. This is for the initial load — it isn't a sync, so ongoing changes are made in the app.
Standards & controls
Compliance → Audit Workspace → Standards & Controls. The standards are provided for you; you pick which one a given audit scope certifies against. Select a standard to browse its controls, grouped by section.
Controls are the backbone of everything downstream: evidence links, the checklist, gap analysis, findings and traceability all key off a control.
PPL rules (full system only)
Setup → PPL Rules is the farm's own spray rulebook, layered on top of the reference PPPL data. See Spray governance — it's configuration a compliance officer or agronomist owns, not a daily task.
What "ready" looks like
- At least one site, with blocks, each with a current crop.
- Blocks drawn on the map (needed for the map views).
- Team invited with correct roles.
- An audit scope created against the standard you're certifying to.
Next: The audit workspace
The audit workspace
Compliance → Audit Workspace is where a compliance officer spends most of their time. It's one page with six tabs, and they're meant to be worked roughly left to right.
| Tab | What it answers |
|---|---|
| Standards & Controls | What am I being measured against? |
| Audit Scopes | Which audit, which standard, which year? |
| Evidence | Which documents prove which controls? |
| Findings | What's wrong, who's fixing it, by when? |
| Audit Checklist | Control-by-control: pass, fail or N/A? |
| Gap Analysis | Where do I actually stand? |
Standards & Controls
Pick an active standard to see its controls, grouped by section. This is a reference view — browse it to understand what a control actually requires before you go hunting for evidence.
Audit Scopes
A scope is one audit: a name, a standard, an audit year, a status and an optional scheduled window.
New Scope creates one. Status runs draft → scheduled → in_progress → completed (or cancelled). Everything else in the workspace is filtered by the
scope you select, so create this first.
What is being certified
Some standards ask different things of a farm, a cellar and a trading business. WIETA's Environmental Stewardship principle, for example, covers farms and wine production facilities but not trade. Two optional settings on the scope decide which requirements you are shown:
- Business type — tick any that apply: Farm, Estate, Wine production facility, Trade, Temporary employment services.
- Number of employees — a few requirements only apply above or below a headcount, such as a health and safety committee at 20 employees, or a simplified route for small producers.
Leave them blank and you are shown everything. That is deliberate: being shown a requirement that does not apply costs you one Not Applicable, while having one hidden costs you an obligation you never knew about.
You can change these later. Requirements you have already assessed keep the answer you gave them — the system will not overwrite your judgement — but anything still unassessed is re-filtered to match.
Evidence
The heart of it. Pick a scope — the cards along the top show each scope's coverage (controls with evidence / total controls) so you can jump straight to the weakest one.
Below, controls are listed by section with a status icon each:
- ✅ has accepted evidence
- 🕐 has evidence, still pending review
- ✖️ nothing linked
Linking evidence
Three ways, depending on the shape of the job:
- Link Evidence — one document → one control.
- Bulk Link — one document → many controls at once. Select uncovered ticks every control that currently has nothing, which is the fastest way to attach a broad policy document.
- AI Suggest — the Evidence Assistant reads a PDF and proposes controls it looks like evidence for. Advisory only; see The Evidence Assistant.
Every link lands as pending, regardless of how it was created.
Reviewing evidence
Someone with review rights (see Roles & access) gets Accept / Reject on a pending link, with optional reviewer notes. If you don't hold that right you'll see "Awaiting review" instead — that's the separation of duties working, not a bug.
Evidence statuses: pending accepted rejected expired.
Two things worth knowing
- Shared evidence. A link badged Shared was auto-shared from an equivalent control in another standard, via an approved cross-standard mapping. You proved it once; it counts in both places.
- Generate Policy. On a control with nothing linked, this drafts a policy document for it. It arrives as a draft that still needs human review — and the audit pack flags it as AI-assisted. Never hand one to an auditor unread.
Findings
The non-conformance register, with a summary strip across the top: total, open, overdue, critical-open, resolved.
Raise Finding captures title, description, severity (critical,
major, minor, observation), the scope, an optional control, a due date and
an assignee. Raising a finding auto-creates a corrective task — you don't
have to remember to open one separately.
Status runs open → in_progress → resolved → closed, changeable inline from the
table. A finding past its due date is flagged Overdue in red.
Click a row for the full corrective-action detail, including sign-off.
Findings raised by the system rather than by a person show a source instead of a scope name — most usefully PPL Override, meaning someone overrode a spray rule and the platform opened a finding about it automatically. Those are the ones an auditor will go looking for.
Audit Checklist
A focused, one-control-at-a-time pass through the scope: mark Pass, Fail or N/A, add notes, and it auto-advances to the next control. Progress and pass/fail/NA counts are shown as you go.
From inside the checklist you can attach evidence to the control you're on — either an existing document or a fresh upload — without leaving the flow. Attachments made here may come back already accepted where your rights allow it; the toast tells you which happened.
Controls marked not-applicable drop out of the working set.
Export the checklist to CSV or PDF from within the tab.
Scored standards (IPW)
IPW is not pass/fail. Every guideline scores 0–5, gets multiplied by a weight, and the farm certifies at 70% of the weighted total. Pick an IPW scope in the checklist and you get the scoring sheet instead of the pass/fail one.
The total reads the way Appendix F.1 does — 217 of 285 (76.1%) — because that is the form you already complete on paper, and the points are what you can check against it. The denominator matters: it is 285 normally, and 319 only if Table B applies, which is guideline 2.3 for farms with more than 3 ha of natural areas to conserve. 2.3 starts marked n/a; turn it on and your total is out of 319.
- Weights are shown next to any guideline worth more than ×1 — the spray programme (13.3) is ×10, so it moves your score ten times as far as a normal guideline.
- The WUE bonus (9.4) is counted separately and shown as
+5 bonus. It adds to your points without adding to the total you are scored out of, which is why a score can go past 100%. - Not applicable removes a guideline from the total rather than scoring it zero.
Some failures block certification outright. Guideline 9.1 covers authorisation or registration of water abstraction under the National Water Act. Score 0 there — no proof available for audit — and you cannot certify whatever your total is, because unregistered abstraction is unlawful. The checklist says so plainly rather than leaving you to read it out of a percentage.
Threshold standards (GLOBALG.A.P.)
GLOBALG.A.P. keeps the pass/fail sheet — its criteria really are pass/fail — but it does not certify on an overall percentage. Every criterion carries one of three compliance levels, and there are two separate rules:
| Level | Criteria | Rule |
|---|---|---|
| Major Must | 118 | 100% must pass |
| Minor Must | 53 | 95% must pass |
| Recom. | 20 | tracked, required for nothing |
Both rules have to be met on their own. Passing overall is not enough, and this is the trap: fail one Major Must out of 118 and you are still at roughly 99% of all criteria — over any bar you would set by eye — and you do not certify. The panel above the checklist shows each level against its own target rather than one number, so you can see which rule you are short on.
Two things that behave differently from a percentage you might expect:
- Not applicable leaves the sum. Mark a criterion n/a and it drops out of both the numerator and the denominator, so you are never penalised for criteria the standard says do not apply to you.
- Not yet assessed counts against you. A blank criterion is not a pass. Sixty untouched Major Musts read as short of 100%, because nobody has demonstrated otherwise — the panel says how many are blank so you can tell "work to do" from "failing".
Recommendations show muted, and failing all twenty does not stop you certifying.
Gap Analysis
The honest scoreboard, and the tab to open first if someone asks "are we ready?"
Every control lands in one of four states:
| State | Meaning |
|---|---|
| Compliant | Signed off — counts toward readiness |
| Evidence Available | Something's attached, but it isn't compliant yet |
| Gap | Nothing at all |
| N/A | Excluded from the calculation |
Readiness % = compliant requirements ÷ applicable requirements. N/A is excluded, so marking something not-applicable no longer drags your percentage down.
Requirements, not every line. Some standards nest: WIETA has 76 requirements, but underneath them sit indicators and guidance notes — 615 lines in total. You assess the detail, and each requirement takes the state of its weakest applicable line. Readiness counts the 76, so your percentage means the same thing as it does on every other standard, and does not swing because one requirement happens to have more guidance notes than another.
A requirement where nothing applies to you — every line under it excluded by your business type — drops out of the calculation entirely rather than counting against you.
For a nesting standard the list shows one card per requirement, closed. Each card carries its own state, taken from the weakest applicable line underneath it — so a closed card can never look better than what is inside. Open it to work through the detail. Lines that do not apply to your business type stay visible but greyed, so you can see what you are not being asked as well as what you are. Requirements where nothing applies sink to the bottom and say "nothing applies".
Standards that do not nest — SIZA, GLOBALG.A.P., SMETA, BRC — are unchanged and still group by section.
The summary bar splits evidence two ways:
- Document Evidence — files you uploaded and linked.
- Ops Evidence — proof pulled from work you actually did: spray executions, inventory movements, quarantine cases, stocktakes, PPL rules.
That second column is the point of the platform. Auto-Link Evidence sweeps your operational records and attaches them to the controls they satisfy, and tells you how many it linked. Controls with ops evidence waiting show a Review action; open the control for the detail panel and link it.
Each section shows its own completion percentage, so you can see whether the gap is concentrated in one area.
Documents & registers
Two different things live under Records, and the difference matters:
- Documents — files you hold (policies, certificates, lab results).
- Registers — structured records you keep, entered as rows against a defined set of fields.
An auditor asks for both. A water-analysis certificate is a document; the chemical application log is a register.
Documents
Records → Documents. Upload, preview, download.
Upload takes the file plus:
- Title — defaults from the filename; make it something you'd recognise in a dropdown a year from now, because this is the label you'll pick from when linking evidence.
- Document Type (optional) — categorises it.
- Site (optional) — leave blank for organisation-wide.
- What is this evidence for? (optional) — an audit and a control. Fill this in and the document is attached as evidence the moment it uploads, exactly as if you had gone to the control and attached it there. Search the control list by code or by a word from the title.
The table shows type, evidence, size, uploader, date and version. PDFs and images preview in-app with the eye icon; everything else downloads.
Uploaded is not the same as attached
This is the one thing on this page worth reading twice.
Putting a file in the library does not make it evidence. A document only counts toward an audit once it is attached to a control — until then the control still reads as unevidenced, and your readiness figure is calculated as though the document isn't there.
The library tells you which is which:
- Attached — the document is evidence for at least one control somewhere.
- Not attached — it is filed, and nothing more.
If any document is unattached, a banner at the top of the page counts them. That banner going away is a real piece of progress, not housekeeping.
Two ways to attach:
- Answer What is this evidence for? when you upload, or
- Go to Compliance → the control → Attach evidence, which uploads and attaches in one step. If you have owner or compliance-manager rights your attachment is accepted immediately; everyone else's waits for review.
Leaving it unattached is a legitimate choice — a quote, a delivery note or a policy nobody audits you against belongs in the library and nowhere else. What you should not do is attach a document to a control it doesn't actually satisfy to clear the banner. That inflates your coverage, and coverage is the number you will be walking an auditor through.
Document lifecycle
Documents carry their own status — Draft, Pending Review, Approved, Rejected — which is separate from the status of any evidence link pointing at them. A document can be Approved in its own right while a particular link to a control is still pending, and vice versa. The audit pack reports both columns for exactly this reason.
Expiry
Documents with an expiry date drive the expiring-document alerts on the dashboard and feed evidence freshness in gap analysis. Certificates that lapse silently are the classic audit failure — this is the mechanism that stops it.
Registers
Records → Registers. A set of pre-defined register types, grouped by category — chemical logs, PPE issue, working hours, and others.
Each register card shows its code, its name, and badges for the control codes it's linked to — so you can see at a glance which registers are load- bearing for your standard.
Open one to see its entries and add new ones. Each register definition brings its own field schema, so the entry form matches the record type rather than being a generic notes box.
Registers are the evidence that you operate a control continuously, not just that you wrote a policy about it once. When gap analysis says a control has document evidence but isn't compliant, a maintained register is usually the thing that closes it.
Health & safety
Compliance → Inspections (the page is titled Health & Safety). Three tabs.
Inspections
Schedule Inspection creates one from scratch or from a template. Each
inspection has a title, description, scheduled date and status —
scheduled → in_progress → completed, or cancelled.
Inspections show as cards; open one to work through it and record the result.
Field staff reach the same inspections from the Inspections tab in the mobile app, which is where most of them actually get completed.
Incidents
Report Incident — deliberately styled as a destructive/urgent action, because it is one.
An incident carries a severity: near_miss, minor, major, critical,
fatality. Status runs reported → investigating → resolved → closed, with the
incident date and a location detail.
Record near-misses. A register with only serious incidents in it reads to an auditor as under-reporting, not as a safe farm.
Templates
Reusable checklists. Each template has a name, category, description and a set of checklist items; scheduling an inspection from a template pre-populates it.
Build the templates once, and the recurring inspections stop depending on whoever happens to be doing them remembering every item.
Spray governance
This is the part of AgriPartners that does something a filing cabinet can't: it evaluates a spray before it happens and can stop it.
Two names you'll see:
- PPP — Plant Protection Product. The decision about a specific spray.
- PPL — Plant Protection Logic. The rulebook the decision is made against.
The Spray Oversight sidebar group is the compliance officer's control room — separate from the Spray & Apply doing-screen under Operations.
The decision
When someone records a spray, the platform evaluates it against the applicable PPPL and your own PPL rules, and returns one of five outcomes:
| Outcome | Meaning |
|---|---|
| Allowed | Go ahead |
| Allowed with conditions | Go ahead, but conditions apply — work the checklist |
| Requires review | A compliance reviewer must approve it first |
| Blocked | Not permitted |
| Insufficient data | Not enough information to decide — the panel lists what's missing |
The compliance panel shows the outcome, a plain-language summary and the top reasons, with View details for the full decision record.
Enforcement modes
The same evaluation can be applied with different force, and the panel always prints the current mode next to the badge:
| Mode | Effect |
|---|---|
off |
Not evaluated |
shadow |
Evaluated and recorded, non-blocking — labelled as such |
advisory |
Shown as advice |
enforce |
Actually blocks |
Check the mode before you trust the badge. In shadow the panel will happily
show Blocked while the spray still goes through — that's the mode doing its job
during rollout, but it means a red badge in shadow mode is not evidence that
anything was prevented.
Overrides
Some PPL rules are marked overridable and some are not — you can see which in the Overridable column on the rules table.
Overriding an overridable rule requires a justification and automatically raises a finding, tagged PPL Override, visible in the Findings tab. It is not a silent bypass; it's a logged exception with a paper trail. Non-overridable rules can't be overridden at all.
PPP Reviews (the inbox)
Spray Oversight → PPP Reviews. The recurring job: everything sitting at requires review.
Counts across the top for pending / approved / rejected / withdrawn, and filters by status, organisation, date range, and free-text search over justification, product and block.
Open a request for the detail and the decision. If you don't hold review rights for that organisation you can look but not action it — the page checks the same permission the server enforces, so what you see matches what you can do.
Work this inbox daily. A pending review is somebody standing in a block waiting.
PPL Rules
Setup → PPL Rules — your farm's own rulebook, on top of the reference data.
Rule types:
| Type | Limits |
|---|---|
| Max Apps/Season | Applications per season |
| Max Qty/Season | Quantity per season |
| PHI Days | Pre-harvest interval |
| Banned | Banned active ingredient |
| Market Restriction | Restrictions for a destination market |
Each rule targets an active ingredient (or product), optionally narrowed by crop, market/region and season, with a threshold value and unit — and the overridable flag discussed above.
Filter by ingredient / crop / market, by rule type, and by active state. Only roles that can manage PPL see the Add Rule button; for everyone else it's visibly disabled with a tooltip rather than hidden.
PPL Insights
Spray Oversight → PPL Insights — is the rulebook actually working?
Four headline numbers: active rules (and how many are inactive), non-overridable rules, executions with overrides, and open PPL findings against total PPL findings.
Rising overrides usually mean the rulebook is out of step with how the farm really operates — worth investigating as a rules problem, not just a discipline problem.
PPP Analytics
Spray Oversight → PPP Analytics — trends in review decisions over time: volume, outcomes and turnaround. Use it to show an auditor that reviews are handled consistently rather than rubber-stamped.
Compliance Map
Spray Oversight → Compliance Map — block-level PPP status on the map, with operational overlays for recent executions, reviews and active quarantine.
- Filter by product, active ingredient and date range.
- Toggle between latest decisions and worst outcomes in the window — "worst" is the honest view when preparing for an audit.
- The time range applies to decisions, executions and reviews. Quarantine always shows current active restrictions, regardless of the window.
Blocks without geometry can't be drawn — the page tells you how many are missing, which is your prompt to go finish them in Sites & Blocks.
If there's no PPPL data for the scope you've filtered to, the map falls back to all registered products from the master list and says so in an amber banner. Don't read that state as "everything is registered for this crop".
Who can see a PPPL
A PPPL is not shared reference data. It is the list a packhouse issues to the growers it packs for, and it says what those growers may spray, at what rate, for which markets. That is commercial information belonging to the two parties named on it.
So a PPPL is readable by:
- the packhouse that issued it, and
- any grower with an active link to that packhouse.
Nobody else — not other growers, not other packhouses. A link that has been suspended stops the grower seeing the list from that moment; it does not have to be deleted.
The registered product master (the Act 36 register) is different, and stays visible to everyone. It's a public register, and it's what the map falls back to above.
If a PPPL was uploaded without being attached to a packhouse, nobody sees it until a platform administrator attributes it. That's deliberate: an unattributed list is one whose owner nobody has established.
Traceability & reports
Two pages that turn everything you've captured into something you can hand over.
Traceability
Compliance → Traceability. One row per control, showing the full chain:
Control → Evidence → Finding → CAP → Sign-off
Pick an audit scope; four counters summarise it:
| Counter | Meaning |
|---|---|
| Total Controls | In the scope |
| With Evidence | At least one evidence link |
| With Findings | At least one finding raised |
| Fully Closed | Checklist result recorded and evidence attached and every finding closed |
The table shows each control's checklist result, evidence count, and then the findings chain — severity → status → whether a corrective task (CAP) exists → whether it's been signed off. Search filters by code, title or section.
Fully Closed is the number that matters. A high evidence count with a low fully-closed count means you have paperwork but open loops.
Reports
Compliance → Reports. Filter by audit scope (or All), then four tabs:
Evidence Coverage
Coverage per scope as a card and progress bar — controls covered out of total. Export CSV or PDF.
Findings Register
Every finding, searchable, filterable by severity and status. This is the export an auditor usually wants first.
Evidence Links
(appears once you've selected a specific scope) — the raw control → document link list with statuses and dates.
PPP Decisions
The spray-decision record — the evidence that spray governance was actually operating, not just configured.
Full Summary PDF
Top-right, independent of the tabs: a single compliance summary across scopes.
The audit pack
With a specific scope selected, Audit Pack appears next to the scope picker. This is the deliverable — one PDF, generated on demand, with the sections you tick:
| Section | Contents |
|---|---|
| Scope Summary | Scope, standard, year, status, period, coverage % |
| Audit Checklist | Every control with result and notes, plus pass/fail/NA counts |
| Evidence Links | Control → document, status, date linked |
| Findings Register | Title, severity, status, control, found and due dates |
| AI-Generated Policies | Appendix — see below |
The pack carries your organisation's branding.
The AI-generated policies appendix
If any evidence came from Generate Policy, the pack lists those documents in a separate appendix, with a printed notice that they were AI-assisted and that anything still Draft or Pending Review needs human review before it counts as approved documentation. It shows both the document status and the evidence status, and a four-way count of Draft / Pending Review / Approved / Rejected.
This is deliberate. Handing an auditor a generated policy is fine; handing one over without disclosing it is not, and the pack won't let you do it silently. Review and approve those documents before audit day so the appendix reads Approved rather than Draft.
If the PDF doesn't appear: it opens through a print window, so allow pop-ups for the site and try again. The dialog stays open so you don't lose your section selection.
Sustainability
Two pages under Sustainability, both computed from records you already keep. Neither has its own data entry — if a number looks low, the fix is upstream in Recording work.
Full-system plan only.
Water-use efficiency
Sustainability → Water Efficiency. Irrigation per kilogram harvested and per hectare, by block. Lower is better.
Pick a period (a year, or all time) and optionally set a target in L/kg. The farm average is then colour-coded against it:
- green — at or under target
- amber — up to 20% over
- red — more than 20% over
Farm totals show m³ of water, tonnes harvested, the L/kg farm average (with its gap to target) and m³/ha applied, then a per-block table underneath.
Needs irrigation events and harvests recorded against blocks. Harvests must be in kg or tonnes to contribute.
Carbon footprint
Sustainability → Carbon Footprint. Your farm's greenhouse-gas footprint, computed in-house. No data leaves the platform.
Pick a period; you get a total in t CO₂e and a carbon intensity in kg CO₂e per tonne harvested.
The seven sources
| Source | Scope | Comes from |
|---|---|---|
| Fuel combustion | 1 | Energy records |
| Electricity | 2 | Energy records |
| Fertiliser field N₂O | 1 | Fertiliser applications (kg N) |
| Fertiliser production | 3 | Fertiliser applications (kg N) |
| Refrigerants | 1 | Refrigerant top-ups |
| Packaging & bins | 3 | Packaging records |
| Agrochemicals | 3 | Spray records × PPPL concentration |
The methodology
Published and documented, not a black box — the page prints the factors it used:
- Fuel & electricity — DEFRA 2023/24 (diesel 2.68, petrol 2.31, paraffin 2.54, HFO 3.17 kg/L; LPG 2.94, coal 2.88 kg/kg) and 1.06 kg CO₂e/kWh for the Eskom grid.
- Fertiliser nitrogen — field N₂O at 6.2 kg CO₂e/kg N (IPCC 2019 Tier 1, direct + indirect, AR5 GWP 298) plus production/embodied at 5.6 kg CO₂e/kg N (DEFRA).
- Refrigerants — top-up mass × GWP-100 (R404A 3922, R134a 1430; ammonia and CO₂ ≈ 0). A top-up is treated as leakage.
- Packaging — material mass × embodied factor (cardboard 0.8, PET 3.3, wood 0.45 kg/kg).
- Agrochemicals — kg active ingredient (spray amount × PPPL concentration) × 10 kg CO₂e/kg AI.
Excluded by design: P₂O₅/K₂O embodied emissions (only nitrogen is captured), and biogenic biomass CO₂ (reported as near-zero).
Agrochemical coverage
The methodology panel reports how many sprays resolved a concentration out of the total. Products whose concentration can't be matched from the PPPL simply don't contribute — they don't break the total, but they do understate it. If that ratio is poor, re-ingest the PPPLs so more products carry a concentration.
Check this number before quoting a footprint to anyone.
By commodity
Where you have more than one crop, the per-commodity table splits the footprint the way retailer scope-3 reporting wants it:
- Direct — fertiliser and agrochemicals, assigned to the crop they happened on.
- Allocated — farm-level sources (energy, refrigerants, packaging) have no crop, so they're shared across commodities by each crop's share of yield.
- Total and kg CO₂e/t intensity per commodity.
The allocation is a yield-share assumption, not a measurement. Say so if you publish per-commodity intensities.
The public calculator (/carbon-calculator)
There is a free, no-login version of the calculator at /carbon-calculator.
It takes annual totals typed in by hand — litres of diesel, kWh, kg of nitrogen —
and produces the same breakdown and a printable one-page report.
It is not a lighter version of this page, and the difference is worth being clear about with anyone you send it to:
| Public calculator | This page | |
|---|---|---|
| Where the numbers come from | typed in, once | recorded activity — energy records, fertiliser applications, refrigerant top-ups |
| Period | whatever the person had in mind | scoped explicitly |
| Per commodity | no | yes, with yield-share allocation |
| Evidence behind it | none | the underlying records, retained and auditable |
Both use the same factor table (src/lib/carbon.ts), so they will never
disagree about arithmetic — only about provenance. A buyer asking for a footprint
usually wants the second kind, which is the honest thing to say when the free
tool produces a number someone likes.
It runs entirely in the browser: nothing typed into it reaches us, which is why it needs no account and why we can say so plainly on the page.
Workforce
Four pages under Workforce: who works here, what they're trained on, what they've been asked to do, and who's accountable for what.
Workers
Workforce → Workers (Worker Registry). Tracks workers, contracts, age verification and training records for SIZA compliance.
Four summary cards: total, active, seasonal, and under 18.
The under-18 count turns red when it isn't zero. That's not a bug — minors on a farm are a specific compliance obligation, and the registry surfaces it rather than letting it sit in a spreadsheet. Make sure each one has the documentation the standard requires.
Add Worker captures the worker's details including date of birth (which drives age verification) and contract type.
Bulk-load the initial workforce from CSV via Setup → Import.
Training
Workforce → Training. Worker training and competency, hosted on the Tshomela learning platform and embedded here.
Be clear on the split, because auditors ask:
- Tshomela delivers the training — courses, video, quizzes, grading.
- AgriPartners stores the evidence that training happened, so it can be produced at audit.
AgriPartners is not an LMS. It holds, per worker: the training type, the date, an optional expiry/renewal date, a certificate reference, and a link to the stored certificate document.
Records can arrive two ways:
- Automatically from Tshomela — matched by South African ID, which creates the training record and stores the certificate.
- Manually, via the Worker Training dialog, for training completed elsewhere. It's an evidence form, not a course.
Expiry dates matter. They drive expiring-document alerts and feed evidence freshness in gap analysis. Training that lapsed six months ago is a finding waiting to happen.
Field staff see their own training in the Training tab of the mobile app.
Tasks
Workforce → Tasks. Corrective actions, follow-ups and compliance tasks.
Filter by search, status, priority (critical, high, medium, low)
and assignee. Open a task for its Comments and Activity tabs — the
activity trail is what evidences that a corrective action was actually worked,
not just closed.
Remember that raising a finding auto-creates a corrective task — most of what lands here comes from the Findings tab rather than from someone clicking New Task.
Field staff get their assigned jobs in the Tasks tab of the mobile app and complete them there.
Responsibilities
Workforce → Responsibilities. Accountability assignments with RACI mapping.
Two views:
- RACI Matrix — the grid, for seeing coverage and gaps at once.
- List View — each responsibility with its Responsible person, a Backup, and status.
Assign creates an assignment; assignments can be revoked, which records the revocation rather than deleting the history.
Auditors ask "who is responsible for this?" and expect a name, not a department. A named responsible person with a named backup — and evidence the backup exists for when someone's on leave — is what this page is for.
Operational records
The Operations group (full-system plan only). Everything here is both an operational record and potential audit evidence — gap analysis pulls from these streams as ops evidence, and the sustainability pages compute from them.
Recording work covers the fast path (+ Record). This chapter covers the full pages behind it.
The record streams
| Page | What it holds | Also feeds |
|---|---|---|
| Spray & Apply | Instructions and their executions | PPP decisions, agrochemical carbon |
| Harvests | Pickings and yields | Water efficiency, carbon intensity, commodity split |
| Fertiliser | Nutrition applied, incl. kg N | Field N₂O + embodied carbon |
| Irrigation | Water applied per block | Water-use efficiency |
| Energy | Fuel and electricity | Scope 1 & 2 carbon |
| Refrigerants | Cold-chain F-gas top-ups | Scope 1 carbon |
| Packaging | Packaging and bins used | Scope 3 carbon |
Block-level records (spray, harvest, fertiliser, irrigation) are available in the field app; facility-level ones (energy, refrigerants, packaging) are a manager/desktop job.
Spray & Apply
The doing-screen, split into Active and Completed instructions.
An instruction breaks into instruction lines (per block), which are then executed. Open an execution for its detail and history. Every execution carries its PPP compliance decision — see Spray governance for what the outcomes mean and when they actually block.
Recording a spray issues the product from chemical inventory, which is what makes the inventory, agrochemical-carbon and traceability numbers line up.
Inventory & stocktakes
- Inventory — current chemical stock balances, driven by receipts and by issues from sprays.
- Stocktakes — a counted reconciliation against those balances. Open one for its detail and line-by-line counts.
Both are ops evidence for stock-control and chemical-handling controls.
Quarantine
Operations → Quarantine. Active block-level restrictions — most commonly a PHI hold after a spray.
Two tabs: Active and All.
This is why the block picker in + Record flags blocks under a PHI hold: so nobody records a harvest off a block that isn't clear yet. Quarantine also shows on the Compliance Map as a current state, regardless of the date filter.
Why this matters for audits
Documents prove you wrote down a policy. These records prove you followed it. When gap analysis shows Ops Evidence against a control, it's pulling from:
- spray executions
- inventory movements
- quarantine cases
- stocktakes
- PPL rules
Use Auto-Link Evidence in gap analysis to sweep them onto controls rather than attaching them by hand.
Consultants, packhouses & supply
Three optional sidebar groups that appear only when they apply to you. If you run a single farm and pack your own fruit, none of this will show up.
Practice — the consultant's farm portfolio
Appears when you belong to a consultancy. Practice → Farm portfolio.
Your client farms in one place. If you belong to more than one consultancy, a picker at the top switches between them.
Add farm creates a client farm with its plan:
- Audit — R1,500/mo
- Full — from R5,000/mo, priced by farm size band
From the portfolio you also run plan changes for your clients: starting a 30-day full-system trial, or Enable Full to convert. An owner can't self-start a trial — they raise Request the full system from their dashboard and you respond. See Plans & free trials.
The portfolio is the consultant's home page. Working from here rather than switching organisations one at a time is the whole point of the group.
Reading the Readiness column
Readiness is how much of the audit work is done — compliant requirements out of the ones that apply, averaged across that farm's scopes. It is the same number the farm's own Gap Analysis tab shows, so you and your client are never reading two different figures. See The audit workspace.
Underneath the bar you get one of two lines:
- "72% evidenced" — the share of controls with an accepted document attached. Worth knowing, but it is not readiness. A farm can have a document on every single control and still fail, because holding evidence is not the same as the evidence passing.
- "does not certify — ...", in amber, with the bar amber too. At least one of that farm's scopes cannot certify as it stands. The text names what is short, so you know where to go — for example Major Must at 99.2% of 100% required.
A high percentage is not a pass. GLOBALG.A.P. certifies on 100% of Major Musts and 95% of Minor Musts. A farm can therefore sit at 99% readiness and still be unable to certify, on one failed Major Must. That is why the verdict travels beside the number instead of being guessed from it — no percentage, at any threshold, can say "does not certify".
Stalling — the farms to look at first
The Stalling card at the top counts farms needing attention now, and each one carries a stalling badge beside its name.
A farm is stalling when its next audit is within 30 days and either one of its scopes cannot certify, or its readiness is genuinely low.
The case this exists for: full evidence, one failed Major Must, and an audit in three weeks. On every other measure that farm looks finished. It cannot pass, and it is the one you want to see first.
Packhouse — Intake & Grower Map
Appears when your organisation actually receives from grower farms.
Intake
Packhouse → Intake. Consignments arriving from your grower farms. Two counters: awaiting decision and PHI-flagged.
For each consignment you accept, hold or reject.
Fruit flagged under a PHI hold is marked, so you can decide before it enters the pack line. This is the single most valuable screen in the packhouse group — it moves the pre-harvest-interval check from a phone call to something the system asserts.
Consignments appear automatically when a linked grower dispatches a load, or you can Record intake manually.
Grower Map
Packhouse → Grower Map. Your supplying farms geographically, for seeing where your intake is coming from.
Supply — Deliveries
Appears on a grower organisation that supplies a packhouse.
Supply → Deliveries. The consignments you've dispatched and their status — the other end of the packhouse's intake screen.
Dispatching a consignment is what makes it appear in the packhouse's intake queue, PHI flag and all.
The audit log & notifications
Audit log
Compliance → Audit Log. A tamper-evident event log with cryptographic hash chain verification.
Every significant action lands here as an event. Each event's hash incorporates the one before it, so the events form a chain — altering a past record breaks every hash after it.
Verify Chain re-computes and validates all event hashes on demand, and reports either:
- ✅ All N events verified — chain intact
- ⚠️ N events failed verification — possible tampering
If you belong to more than one organisation, a picker chooses which one you're verifying.
This is the answer to "how do I know these records weren't edited after the fact?" Run the verification in front of the auditor rather than showing them a screenshot of a previous run — the whole value is that it's computed live.
The platform operator has a broader Audit Chain and Integrity Center in the admin console covering all organisations.
Notifications
Two pages, at the bottom of the sidebar:
- Notifications — the history of what you've been sent.
- Preferences — what you want to be told about, and how.
The notification centre in the header is the live view.
Worth tuning early: expiring documents, overdue findings and pending PPP reviews are the alerts that stop things rotting quietly. A compliance officer who has turned everything off is relying on memory.
Profile
Profile holds your own details. In the mobile field app, Profile and Sign out live under the ☰ menu in the top-right rather than in a sidebar.
Audit-day runbook
For the compliance officer. Everything here uses features covered earlier — this is the order to do them in.
Four weeks out
- Gap Analysis → select the scope → read the Readiness %. Remember it's compliant ÷ applicable, so it only moves when controls are actually signed off — not when evidence is merely attached.
- Auto-Link Evidence. Sweep operational records onto controls before you start attaching anything by hand. It'll tell you how many it linked.
- Work the Gap controls first (nothing at all), then Evidence Available (attached but not compliant).
- Bulk Link → Select uncovered for broad policy documents that cover many controls at once.
Two weeks out
- Findings → filter to open and overdue. Every one needs an assignee and a realistic due date. Overdue findings on audit day are worse than findings.
- Check PPL Override findings specifically. An auditor will look for overrides, and you want the justification and the corrective action already in place.
- Documents → check nothing load-bearing has expired. Same for training expiry dates in the worker registry.
- PPP Reviews → clear the pending inbox to zero.
One week out
- Audit Checklist → work through control by control. Pass / Fail / N/A with notes. It auto-advances, so this goes faster than it looks.
- Any AI-generated policies — review and approve them so they show as Approved rather than Draft in the audit pack appendix. Do not skip this; the pack discloses them either way.
- Traceability → check the Fully Closed count. Evidence + checklist result + all findings closed. This is the number that reflects a genuinely finished control.
- Responsibilities → every responsibility has a named Responsible and a named Backup.
The day before
- Reports → Audit Pack. Generate with all sections ticked. Read it. It's the document the auditor will work from, so you should see it first. (Allow pop-ups — it opens through a print window.)
- Export the Findings Register (CSV or PDF) separately — it's usually the first thing asked for.
- Create an
auditor_readonlyaccount for the auditor. Don't lend them a login with edit rights.
On the day
- Audit Log → Verify Chain, live, in front of them. "All N events verified — chain intact" answers the tamper question in one click.
- Gap Analysis for the section-by-section view when they work through a standard's sections.
- Traceability search box when they ask about a specific control — it gives you control → evidence → finding → CAP → sign-off in one row.
- Compliance Map set to worst outcomes if they ask about spray governance. Showing the worst case yourself reads far better than being shown it.
- Raise anything they find as a Finding while you're sitting there — it auto-creates the corrective task, and the timestamp evidences that you responded immediately.
The honest checks
Things worth knowing before an auditor points them out:
- Is PPP in
enforcemode? Inshadow, blocked decisions were recorded but nothing was actually prevented. The panel prints the mode — check it before you claim sprays are being blocked. - Agrochemical carbon coverage. If most sprays didn't resolve a concentration, your footprint is understated. The figure is on the Carbon Footprint page.
- Separation of duties. If the same person links and accepts all evidence, the pending → accepted workflow is a formality. Better to fix it than to explain it.
- Blocks without geometry. They can't appear on the compliance map, so map coverage isn't farm coverage.
The audit workspace · Traceability & reports · The audit log
Training paths
Don't hand anyone all 17 sections. Use the path for their role.
auditor_readonly account. Point them at 17 so they know what you'll be showing them.