mega-plant/data/source/overheads.json
Mega Plant 0516220110 Round 4: regressions fixed + mobile standard
Part A — Round 3 regressions:
- A.1: verify-cost-reconciliation.mjs now loads .env.local, wraps in try/catch, exits 1 on any failure
- A.2: Vehicle Costs restored Santam — back to R 14,996.31 (matches row-by-row sum)
- A.3: incl<excl / VAT math / VAT>20% now FATAL — seed exits 2 with full report (4 anomalies on Charl-CCS + Buildsmart)
- A.4: Reconciliation target R 694,962.93 with both deltas itemised (Personnel +R19,800, Santam -R5,322.44, unexplained R 0.00)
- A.5: 'Lines' view uses actual lines (recharts LineChart), no fills; fills only in 'Cost stack'

Part B — Mobile standard:
- B.1: header wraps to 2 rows on mobile; YTD badge cards stack; page-wide overflow eliminated on /income, /charts, /overheads, /running, /expenses
- B.2: IncomeView card row layout stacked — name gets its own line on mobile, never truncated to single char
- B.3: Plant type filter is a <select> dropdown below lg (was 18 pills wrapping to 13 rows); same for sort on /income and /running
- B.4: Plant table first column sticky; -webkit-overflow-scrolling: touch; tables scroll inside their own container
- B.5: All buttons/links use min-h-[44px] tap targets; text below 12px is bumped where it matters
- B.6: Charts legend wraps below title; chart min-height h-44 → h-52 on mobile
- B.7: paddingTop env(safe-area-inset-top) on sticky header for notch/home indicator clearance

AGENTS.md created with the standing mobile checklist rule.
2026-09-12 12:05:43 +02:00

288 lines
No EOL
6.5 KiB
JSON

[
{
"section": "Vehicle Costs",
"description": "Santam versekering",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 4524.0740000000005,
"vat": 798.366,
"amount_incl": 5322.4400000000005
},
{
"section": "Vehicle Costs",
"description": "Tracking",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 4524.0740000000005,
"vat": 798.366,
"amount_incl": 5322.4400000000005
},
{
"section": "Vehicle Costs",
"description": "Diesel Truck",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 1033.2916666666667,
"vat": 0.0,
"amount_incl": 1033.2916666666667
},
{
"section": "Vehicle Costs",
"description": "Water truck",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 3318.1416666666664,
"vat": 0.0,
"amount_incl": 3318.1416666666664
},
{
"section": "Bastion Finance",
"description": "TLB 4 LL20TW GP - Monthly Finance Costs",
"gl_account": "Finance Costs",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 29036.08,
"vat": 0.0,
"amount_incl": 29036.08
},
{
"section": "Bastion Finance",
"description": "TLB 5 LN58CS GP - Monthly Finance Costs",
"gl_account": "Finance Costs",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 29819.0,
"vat": 0.0,
"amount_incl": 29819.0
},
{
"section": "Bastion Finance",
"description": "Desi Grader - Monthly Finance Costs",
"gl_account": "Finance Costs",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 19088.95,
"vat": 0.0,
"amount_incl": 19088.95
},
{
"section": "Bastion Finance",
"description": "Roller - Monthly Finance Cost",
"gl_account": "Finance Costs",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 28641.0,
"vat": 0,
"amount_incl": 28641.0
},
{
"section": "Bastion Finance",
"description": "TLB 4 LL20TW GP - Insurance",
"gl_account": "Insurance",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 2088.53,
"vat": 313.27950000000004,
"amount_incl": 2401.8095000000003
},
{
"section": "Bastion Finance",
"description": "TLB 5 LN58CS GP - Insurance",
"gl_account": "Insurance",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 2432.72,
"vat": 364.90799999999996,
"amount_incl": 2797.6279999999997
},
{
"section": "Bastion Finance",
"description": "Desi Grader - Insurance",
"gl_account": "Insurance",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 2099.21,
"vat": 314.8815,
"amount_incl": 2414.0915
},
{
"section": "Bastion Finance",
"description": "Roller - Insurance",
"gl_account": "Insurance",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 1268.91,
"vat": 190.3365,
"amount_incl": 1459.2465000000002
},
{
"section": "Bastion Finance",
"description": "TLB 4 LL20TW GP - Tracker",
"gl_account": "Tracking",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 603.92,
"vat": 90.588,
"amount_incl": 694.5079999999999
},
{
"section": "Bastion Finance",
"description": "TLB 5 LN58CS GP - Tracker",
"gl_account": "Tracking",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 526.43,
"vat": 78.96449999999999,
"amount_incl": 605.3944999999999
},
{
"section": "Bastion Finance",
"description": "Toyota Bakkie - LD13HZ GP ",
"gl_account": "Finance Costs",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 7818.18,
"vat": 1172.727,
"amount_incl": 8990.907000000001
},
{
"section": "Bastion Finance",
"description": "Toyota Bakkie - LD13HZ GP ",
"gl_account": "Insurance",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 1853.9,
"vat": 278.085,
"amount_incl": 2131.985
},
{
"section": "Bastion Finance",
"description": "Toyota Bakkie - LD13HZ GP ",
"gl_account": "Tracking",
"supplier": "Bastion",
"qty": 0,
"unit_price": 0,
"amount_excl": 216.91,
"vat": 32.536500000000004,
"amount_incl": 249.44650000000001
},
{
"section": "Personnel",
"description": "Attie / Sandrea / Jantjie",
"gl_account": "Personnel",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 0,
"vat": 0,
"amount_incl": 157200.0
},
{
"section": "Personnel",
"description": "Opp + Drywers",
"gl_account": "Personnel",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 0,
"vat": 0,
"amount_incl": 235000.0
},
{
"section": "Subscriptions",
"description": "Abrie - CCS",
"gl_account": "CCS",
"supplier": "AEB",
"qty": 1.0,
"unit_price": 2150.0,
"amount_excl": 2150.0,
"vat": 322.5,
"amount_incl": 2472.5
},
{
"section": "Subscriptions",
"description": "Charl - CCS",
"gl_account": "CCS",
"supplier": "RIB",
"qty": 1.0,
"unit_price": 1970.0,
"amount_excl": 1970.0,
"vat": 2265.5,
"amount_incl": 2265.5
},
{
"section": "Subscriptions",
"description": "Buildsmart Yearly update",
"gl_account": "Buildsmart",
"supplier": "Mega infra",
"qty": 1.0,
"unit_price": 14827.91,
"amount_excl": 14827.91,
"vat": 2224.1865,
"amount_incl": 1421.0080416666667
},
{
"section": "Rent & Utilities",
"description": "Huur",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 21250.0,
"vat": 3750.0,
"amount_incl": 25000.0
},
{
"section": "Rent & Utilities",
"description": "Water & Ligte",
"gl_account": "",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 3230.0,
"vat": 570.0,
"amount_incl": 3800.0
},
{
"section": "Cash Floats",
"description": "Petty Cash",
"gl_account": "Cash Floats",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 0,
"vat": 0,
"amount_incl": 10000.0
},
{
"section": "Maintenance",
"description": "Maintenance",
"gl_account": "Maintenance",
"supplier": "",
"qty": 0,
"unit_price": 0,
"amount_excl": 0,
"vat": 0,
"amount_incl": 100000.0
}
]