{{ fmt(dash.kpis.active_farmers) }}
Active farmers
{{ fmt(dash.kpis.verified_acres) }}
Verified acres
{{ fmt(dash.kpis.seed_balance_kg) }}
Seed balance (kg)
{{ dash.enforcement.overdue }}
Overdue enforcement
Reporting coverage
{{ dash.villages.reporting }}
reporting
{{ dash.villages.not_reporting }}
not reporting
{{ pct(dash.villages.reporting, dash.villages.total) }}%
of {{ dash.villages.total }} villages
Key ratios
Lead farmer ratio
{{ dash.kpis.lead_farmer_ratio }}
Extension coverage
{{ dash.kpis.extension_coverage_ratio }}
GAP adoption
{{ dash.kpis.gap_adoption_rate }}%
Weather impact
{{ dash.kpis.weather_impact_pct }}%
Tractor functionality
{{ dash.kpis.tractor_functionality_rate }}%
Acres / working tractor
{{ dash.kpis.acres_per_working_tractor }}
Breakdown by {{ breakdownLevel }}
Export CSV| Area | Villages | Reporting | Farmers | Verified acres | Seed kg |
|---|---|---|---|---|---|
| {{ b.name }} | {{ b.villages }} | {{ b.reporting }} | {{ fmt(b.active_farmers) }} | {{ fmt(b.verified_acres) }} | {{ fmt(b.seed_balance_kg) }} |
| No data | |||||
Purchase share by company
| Company | Corroborated (kg) | Claimed only (kg) | Share |
|---|---|---|---|
| {{ p.company }} | {{ fmt(p.corroborated_qty) }} | {{ fmt(p.claimed_qty) }} | {{ p.share_pct }}% |
| No purchases recorded | |||
{{ queue.length }} submissions awaiting your decision, oldest first.
{{ moduleName(q.module) }}
{{ q.location_name }} · {{ q.location_level }} · week {{ q.reporting_week||'—' }}
Queue empty — nothing awaiting your approval.
| Offence | Severity | Offender | Status | Opened | Follow-up | Days |
|---|---|---|---|---|---|---|
| {{ e.offence_name || '—' }} | {{ e.severity }} | {{ e.offender_identity || '—' }} | {{ e.status }} | {{ (e.opened_at||'').slice(0,10) }} | {{ e.follow_up_date || '—' }} | {{ e.days_open }} |
| No enforcement cases | ||||||
| Location | Status | Field acres | Telemetry acres | Variance |
|---|---|---|---|---|
| {{ r.location }} | {{ r.status }} | {{ fmt(r.field_acres) }} | {{ fmt(r.telemetry_acres) }} | {{ r.variance>0?'+':'' }}{{ fmt(r.variance) }} |
| Run reconciliation to see variance | ||||
Exceptions
Negative stock ({{ exc.negative_stock.length }})
none
Overdue enforcement ({{ exc.overdue_enforcement.length }})
none
Uninspected centres ({{ exc.uninspected_centres.length }})
none
Unauthorised purchase locations ({{ exc.unauthorised_purchases.length }})
none
Inspector scorecards
| Inspector | Subs | Locked | Returned | Return % |
|---|---|---|---|---|
| {{ s.inspector }} | {{ s.submitted }} | {{ s.locked }} | {{ s.returned }} | {{ s.return_rate_pct }}% |
| no activity | ||||
Buying-centre risk
| Centre | Ward | Inspections | Avg compliance | Offences | Risk |
|---|---|---|---|---|---|
| {{ c.centre }} | {{ c.ward }} | {{ c.inspections }} | {{ c.avg_compliance ?? '—' }} | {{ c.offences }} | {{ c.risk_score }} |
| no centres | |||||
Season control
Users & profiles ({{ users.length }})
App releases (APK)
No releases yet. Upload the first APK above.
Administrative hierarchy
| Name | Level | Type | Code | Valid |
|---|---|---|---|---|
| {{ l.name }} | {{ l.level }} | {{ l.council_type||'—' }} | {{ l.code }} | {{ l.valid_from||'—' }} → {{ l.valid_to||'open' }} |