salesdash.psfarms.co.ke

Sales Dashboard

ready Fresh Apr 21, 12:04 AM Apr 2026 2026-W16
Sales last 7 days KES 5,550

4 sales · 10.25 kg · Apr 11 to Apr 17

Booked next 7 days KES 5,125

4 orders · derived cadence

TODO: replace with forward orders feed

Booked next 14 days KES 13,680

7 orders · derived cadence

TODO: replace with forward orders feed

Active customers this month 5

Apr 2026

Fill risk Tight

1.5 days buffer · 3 kg packed buffer · 47 alerts

Clients

Top Clients

Geoffrey Wanjiku KES 6,530

13.5 kg · 41.4% share

Cilantro Sprouts KES 3,500

7 kg · 22.2% share

Zucchini KES 2,860

5.5 kg · 18.1% share

Sun Organics KES 1,500

2.5 kg · 9.5% share

Fruity Fruits KES 1,400

2.5 kg · 8.9% share

Mix

Client Mix

Top client share 50.3%

Largest single customer

Top three share 76%

Revenue concentration

Market Vendor (City Park) 79%

KES 43,050 · 88 kg

Greengrocers (B+M) 21%

KES 11,470 · 22.25 kg

Supply

Run-Rate vs Supply

Demand is pressing against packed stock.

Demand run-rate 13.75 kg

Four-week weekly average

Packed buffer 3 kg

1.5 days at current pace

Sold vs packed 112.9%

Sell-through

Sold vs harvested 109.6%

Supply conversion

Sellability

HACCP Status

Intervene now

47 alerts and 835 bags removed are constraining sellable output.

Alerts 47

Current cut

Bags removed 835

Incubation pressure

Top risk batch 462

Issue by day 3

Latest month kilos 31 kg

Apr 2026

Supporting detail

Lower Page

Validation, source plumbing, history, and raw client detail stay below the decision layer.

Weekly detail

Recent weeks

Historical weekly revenue, kept below the management strip.

2026-W11 KES 7,730

16 kg · 4 sales

2026-W12 KES 12,710

25.25 kg · 4 sales

2026-W13 KES 8,690

18 kg · 3 sales

2026-W14 KES 8,420

17.25 kg · 4 sales

2026-W15 KES 4,700

9.5 kg · 3 sales

2026-W16 KES 5,550

10.25 kg · 4 sales

Clients

Client table

Raw client table, demoted below the decision layer.

ClientPunnetsKgsRevenueShare
Geoffrey Wanjiku5413.5 kgKES 6,53041.4%
Cilantro Sprouts287 kgKES 3,50022.2%
Zucchini225.5 kgKES 2,86018.1%
Sun Organics102.5 kgKES 1,5009.5%
Fruity Fruits102.5 kgKES 1,4008.9%

Revenue

Recent sales

Most recent resolved sales rows in the current dashboard data.

DateCustomerKgsRevenue
04/17/2026Zucchini3.25 kgKES 1,690
04/15/2026Sun Organics2.5 kgKES 1,500
04/15/2026Fruity Fruits2.5 kgKES 1,400
04/13/2026Geoffrey Wanjiku2 kgKES 960
04/10/2026Cilantro Sprouts4.5 kgKES 2,250
04/08/2026Geoffrey Wanjiku2.5 kgKES 1,200
04/06/2026Geoffrey Wanjiku2.5 kgKES 1,250
04/03/2026Zucchini2.25 kgKES 1,170

Source

Source Intake

Refresh and schema detail, pushed below the decision layer.

Status ready

Readable

Last refresh Apr 21, 12:04 AM

google-sheets-service-account

Revenue rows 24

Apr 2026

HACCP rows 219

2026-W16

Budget - Actual ready

7/7 tabs ingested · 601 rows · Budget/revenue workbook, all tabs ingested to locate the actual revenue sheet

https://docs.google.com/spreadsheets/d/1GbC2zoMES1PGEunsJh7UBB7fRkL1zYVwzczoZDojUnQ/edit?gid=695420185#gid=695420185

PSF - HACCP Logs - IN USE rev. 02.26 ready

34/34 tabs ingested · 1,240 rows · All tabs requested

https://docs.google.com/spreadsheets/d/1IlCrI_aPESNDtPZ9629GSCjsCBhTakxbMP9eTlgzxUg/edit?gid=1811594404#gid=1811594404

Validation

Validation Checks

Schema, source, and cross-check results for the current dashboard data.

Source sync ready

2/2 configured workbooks connected, 41 tabs ingested.

Revenue schema ready

Required revenue columns resolved in 2/2 revenue tabs.

HACCP alerts schema degraded

INC_Alerts did not expose a usable header row, so the build used a positional fallback mapping.

Dispatch coverage degraded

The dispatch tab is present, but it currently has zero usable rows.

Revenue cross-check ready

110.25 kg sold versus 97.63 kg packed (112.9% sell-through).

Freshness window ready

Dashboard refresh generated at 2026-04-21T00:04:41.039Z.

Diagnostics

Data Gaps

Live issues and warnings affecting the current dashboard data.

Label metadata incomplete degraded

73.5% of sold punnets still carry label type `N/A`.

Alerts tab header missing degraded

INC_Alerts is still parseable, but it required a positional fallback because the header row was absent.

Dispatch log empty degraded

LOG 13 - Dispatch has no usable rows, so outbound traceability is incomplete.