W/E 27 Apr 2026
Group Closing Balance — FY26 Forecast to Feb 2027
Weekly Cash Movement (Last 12 Weeks)
Inflow vs Outflow by Week
This Week's Entity Snapshot
All Entities — Sorted by Risk
Entity Opening Inflow Capex Opex Closing Runway (wks) FY Closing FY Runway Status

Futuregrowth Loan Facility

Structured debt modelling integration in development. This tab will overlay debt drawdowns, interest accrual, capital repayments, and net cash position against operating cashflow.

⚙ Supabase Configuration
Drop your Excel cashflow file here
Supports GroupCashflowForecast_FY26_V2.xlsx and compatible formats
Supabase SQL Setup
Copy and paste this SQL into your Supabase SQL Editor to create the required tables:
-- ══════════════════════════════════════════ -- Decentral Energy Cashflow Dashboard -- Run this in Supabase SQL Editor -- ══════════════════════════════════════════ -- 1. File upload tracking CREATE TABLE IF NOT EXISTS cashflow_uploads ( id uuid DEFAULT gen_random_uuid() PRIMARY KEY, filename text NOT NULL, uploaded_at timestamptz DEFAULT now(), current_week date, fy_end_date date, storage_path text ); -- 2. KPI snapshots (group level) CREATE TABLE IF NOT EXISTS cashflow_kpis ( id uuid DEFAULT gen_random_uuid() PRIMARY KEY, upload_id uuid REFERENCES cashflow_uploads(id) ON DELETE CASCADE, week_date date NOT NULL, opening numeric(18,2), inflow numeric(18,2), capex numeric(18,2), opex numeric(18,2), closing numeric(18,2), fy_closing numeric(18,2), fy_inflow numeric(18,2), fy_capex numeric(18,2), fy_opex numeric(18,2), weeks_remaining integer, created_at timestamptz DEFAULT now() ); -- 3. Entity-level cashflow data CREATE TABLE IF NOT EXISTS cashflow_entities ( id uuid DEFAULT gen_random_uuid() PRIMARY KEY, upload_id uuid REFERENCES cashflow_uploads(id) ON DELETE CASCADE, week_date date NOT NULL, entity_code text NOT NULL, entity_name text NOT NULL, opening numeric(18,2), inflow numeric(18,2), capex numeric(18,2), opex numeric(18,2), closing numeric(18,2), fy_closing numeric(18,2), runway_weeks numeric(8,1), fy_runway numeric(8,1), status text CHECK (status IN ('CRITICAL','WARNING','OKAY')), created_at timestamptz DEFAULT now() ); -- 4. Weekly chart time-series CREATE TABLE IF NOT EXISTS cashflow_weekly ( id uuid DEFAULT gen_random_uuid() PRIMARY KEY, upload_id uuid REFERENCES cashflow_uploads(id) ON DELETE CASCADE, week_date date NOT NULL, group_closing numeric(18,2), group_inflow numeric(18,2), group_capex numeric(18,2), group_opex numeric(18,2), created_at timestamptz DEFAULT now() ); -- 5. Storage bucket (run separately if needed) -- INSERT INTO storage.buckets (id, name, public) -- VALUES ('cashflow-files', 'cashflow-files', false) -- ON CONFLICT DO NOTHING; -- 6. Row Level Security (enable as needed) -- ALTER TABLE cashflow_uploads ENABLE ROW LEVEL SECURITY; -- ALTER TABLE cashflow_kpis ENABLE ROW LEVEL SECURITY; -- ALTER TABLE cashflow_entities ENABLE ROW LEVEL SECURITY; -- ALTER TABLE cashflow_weekly ENABLE ROW LEVEL SECURITY; -- 7. Index for fast queries CREATE INDEX IF NOT EXISTS idx_entities_week ON cashflow_entities(week_date); CREATE INDEX IF NOT EXISTS idx_entities_code ON cashflow_entities(entity_code); CREATE INDEX IF NOT EXISTS idx_weekly_date ON cashflow_weekly(week_date); -- Done! Your Decentral Energy dashboard tables are ready.