Medway Food PartnershipSupported by Kent Food Partnership

Food Policy Compliance Dashboard PROTOTYPE

Mockup of the institutional dashboard — built from invoice uploads. Each participating institution sees its own view like this one.
Demonstration data: 26 real dispatch notes (Children & Families Kent → Social Enterprise Kent, Ashford), 13 Apr – 22 May 2026 — a weight-only flow, so £ measures appear once invoice flows are connected.
26
documents processed
24 unique dispatch notes — 2 exact duplicates caught
1,279
line items extracted
1,202 after de-duplication
12,816 kg
food moved over 6 weeks
≈ 30,000 meal-equivalents at 420 g
26 / 26
totals reconciled exactly
extracted line weights = stated note total, ±0.000 kg

What the Medway Sustainable Food Policy asks — and what this service already measures

One monthly invoice forward — or purchasing through AgileChain dynamic procurement — covers five of the eight policy KPIs automatically. The rest is a one-page quarterly declaration.
Policy KPI (Feb draft)Measured automatically?Demo result (this flow)What we need from the caterer
Local Spend — baseline +5% Y1YES when provenance is named0% — surplus documents carry no provenance, so none can be creditedInvoices naming suppliers/origin, or purchasing via AgileChain dynamic procurement
Plant-Rich — >30% spend on fruit/veg/pulsesYES52% by weightInvoices only
Protein Shift — −10% meat volumeYES where units givenmeat 9.8% of weightInvoices only
Freshness Ratio — pre-prepared ≤40% of spendYES24.9% pre-prepared (by weight) — inside triggerInvoices only
Biodiversity — ≥20 plant species per menu cycleYES40+ distinct plant types in 6 weeksInvoices only
Nature Positive — % LEAF Marque / organic producePARTIAL0.45% organic-labelledSupplier certification declarations / register match
Medway Healthy Food Standard (App A) — welfare, MSC, free-range, Fairtrade, RSPO, additivesEXCEPTION-FLAGGED14 lines flagged in this demo (see below)Annual one-page certification declaration; flags target the annual deep-dive spot check
Economic Support — 95% SME invoices paid in 30 daysDECLAREDn/aOne line on the quarterly declaration
Standard audit — exception flags raised on this flow (demo)
The Standard’s product rules can’t be certified from an invoice line — but they can be screened. The pipeline reads product names and flags likely non-compliance for the deep dive, turning the annual spot check from random into risk-based:
  • Eggs (free-range rule): 11 egg lines found — 2 resolved free-range by brand (St Ewe), 9 flagged: line gives no production method, certification to be confirmed by declaration.
  • Fairtrade categories (tea, coffee, sugar, bananas): 5 lines flagged — coffee and banana purchases with no certified marking on the line.
  • Fish (MCS avoid list): species named on every fish line (salmon, cod, prawns, bass, mackerel) — none on the avoid list. 0 flags.
  • Meat welfare (Red Tractor or equivalent): 0 of 183 meat lines carry accreditation text — not flaggable from lines; verified by annual declaration + deep dive.
Design principle: the dashboard exists to support institutions adopting the policy to track progress — not to add audit burden. Caterer pricing is never shown to any buyer; the council sees compliance measures only.

Eatwell plate alignment PROOF-POINT LAYER

Alignment is measured from documents, so it can be confirmed or denied — not asserted.
All food moved, by weight — including what sits outside the plate
46%
13%
10%
11%
12%
7%
Eatwell Guide plate — reference proportions
40%
38%
12%
8%
Fruit & vegStarchyProteinDairyOilsDiscretionary (12% — no place on the plate)Composite & other
Segment by segment — measured vs guide, within the plate-mappable share
Fruit & vegetables
57.4%
40.2%
Starchy carbohydrates
16.0%
38.1%
Protein
12.9%
12.4%
Dairy & alternatives
13.6%
8.2%
Oils & spreads
0.2%
1.0%
Measured (this flow)Eatwell Guide reference
Surplus flows skew fresh: fruit & veg runs ahead of the guide share, starchy staples behind. Discretionary (1,529 kg) and composite (928 kg) are reported honestly rather than force-fitted to a plate segment.

Sourcing metrics ASSUMPTION LAYER

Solid fill = what these documents evidence today. Dashed markers = assumed year-1 and year-5 targets [to confirm with partners].
Named Kent grower or producershare of food volume traceable to a named local grower/producer
Y1 [20%]
Y5 [60%]
measured today: 0.0% (0 kg of 12,739 kg traces to a named grower on-document)
Agroecologically grown (certified or verified)certified organic or equivalent verified practice
Y1 [10%]
Y5 [40%]
measured today: 0.45% (58 kg carries an organic label)
Invoices alone may miss these details — a line can name a product without naming the farm. KFP is engaging growers to use AgileChain, which will enhance this view considerably: purchases made there carry provenance automatically, and everything else is matched against the county grower register.

What moved, by food group

kg across the 24 unique notes, grouped from the notes’ own food taxonomy
Fruit & vegetables
6,705 kg
Discretionary (sweets, snacks, drinks)
1,529 kg
Dairy & eggs
1,458 kg
Prepared & sauces
1,330 kg
Meat, fish & protein
1,265 kg
Bread & starchy
452 kg
Non-food
77 kg

Cold-chain split

Chilled · 7,814 kg (61%)Ambient · 3,676 kg (29%)Frozen · 1,326 kg (10%)

Flow by week

kg per week commencing, 13 Apr – 22 May 2026 (unique notes)
13 Apr
20 Apr
27 Apr
04 May
11 May
18 May

Data-quality flags raised automatically

  • Exact duplicates: notes 1981662 and 1962359 were each uploaded twice; second copies excluded from all totals.
  • Near-duplicate pairs held for review: 1990468/1989883, 1988915/1987981, 1977112/1976161, 1973922/1973248 and 1961361/1961141 share most content on the same or adjacent days — flagged for a human decision, not silently merged.
  • Weight-only documents: no £ values exist on these notes; spend metrics await supplier invoices, which carry prices and flow through the same pipeline.

Reconciliation — the accuracy check

Sum of extracted line weights vs the total printed on each note. One row per document; duplicates greyed.
NoteDateLinesExtracted kgStated kgDiffStatus
199046822/May/2652473.243473.243+0.000MATCH
198988322/May/2653477.243477.243+0.000MATCH
198891520/May/2676664.767664.767+0.000MATCH
198798120/May/2676666.567666.567+0.000MATCH
198587615/May/2657576.180576.180+0.000MATCH
198551418/May/2667443.400443.400+0.000MATCH
198166213/May/2637342.424342.424+0.000MATCH
198400915/May/2659581.580581.580+0.000MATCH
198166213/May/2637342.424342.424+0.000DUPLICATE
197989711/May/2641428.900428.900+0.000MATCH
197968111/May/2641430.900430.900+0.000MATCH
197711206/May/2642544.640544.640+0.000MATCH
197616106/May/2643572.640572.640+0.000MATCH
197392201/May/2658624.530624.530+0.000MATCH
197324801/May/2659624.770624.770+0.000MATCH
197095129/Apr/2646756.522756.522+0.000MATCH
196867927/Apr/2635544.075544.075+0.000MATCH
196725124/Apr/2648373.948373.948+0.000MATCH
196483122/Apr/2644504.556504.556+0.000MATCH
196242820/Apr/2656613.432613.432+0.000MATCH
196235917/Apr/2640526.614526.614+0.000MATCH
196235917/Apr/2640526.614526.614+0.000DUPLICATE
196136117/Apr/2643539.734539.734+0.000MATCH
196114117/Apr/2645548.659548.659+0.000MATCH
195902815/Apr/2640502.540502.540+0.000MATCH
195657513/Apr/2644454.060454.060+0.000MATCH