Nordmann Cashflow Console

As of
Cash Buffer Policy: S$1.50M
•
Revolver: S$3.50M / S$10.00M drawn (35%)
AI engine: Active
✨
About this demo
What this is

A presentation-quality demo of Cashflow AI, an AI-assisted cashflow planning & projection platform built (in fiction) for Nordmann Distribution Group. The core feature is an AI projection engine that adjusts expected customer receipts using learned payment behaviour, then plans the forward cash position against a S$1.5M cash-buffer policy and a S$10M revolving credit line. It flags buffer breaches well before due-date tracking would.

This is a demo, not production. The cashflow engine is deterministic — breach, draw and utilisation numbers are precomputed from the mock dataset so the narrative stays consistent every run. The AI Copilot, however, is real: it calls DeepSeek Flash via the opencode-go gateway through a local proxy, with a canned-answer fallback if the proxy is unreachable. The brief is still to show how the product would feel to a finance/treasury decision-maker, not to ship a working treasury tool.

About Nordmann

Nordmann Distribution Group is a mid-sized wholesale distributor (~S$120M annual revenue) with a multi-currency book across EUR, GBP and SGD, 30+ active B2B customers (the demo models 7 representative ones), and supplier relationships in the Nordics, Baltics and Continental Europe. Their CFO and Treasury lead are based in Hamburg; AR collections are run from a regional office in Tallinn.

They run on Microsoft Dynamics 365 Business Central for GL, AR, AP and fixed assets. Cashflow forecasting today is a Friday-afternoon spreadsheet that pulls from Business Central's Customer Ledger Entries and Vendor Ledger Entries, and gets emailed around. It's manual, backwards-looking, and discovers problems the same day they hit.

Pain points we're solving
  • Reactive cash management. Nordmann typically discovers a buffer breach when it happens — sometimes after the wire has bounced. They want 5-10 days of advance warning.
  • No payment-behaviour intelligence. Spreadsheets treat every invoice as if it'll land on its due date. They have two large customers (Vantage Trading, Kestrel Wholesale) who are routinely 1-2 weeks late, and the model doesn't know.
  • Disputed and partial invoices disappear. S$480K currently in dispute with Vantage is treated like normal AR. S$310K of partial payments sit in limbo with no system flag.
  • Single-counterparty concentration isn't visible. Continental Goods is 60% of next 30 days' outflows. That's a relationship risk that doesn't surface anywhere today.
  • FX exposure is monitored quarterly, not daily. EUR long, GBP short, SGD long positions are reviewed in a static QBR. They want forward-looking visibility.
  • Revolver utilisation is a month-end metric. By the time anyone looks, the rate has shifted. They want continuous visibility and early warnings on the utilisation curve.
What the AI Cashflow Console does
Forecasting
  • 60-day daily projection (chart shows the first 14 days; the table shows all 60) plus a 12-month annual summary table
  • Per-invoice AI-adjusted expected dates with confidence score
  • Best / Expected / Worst-case scenarios on the projection — the P10 / P50 / P90 confidence
  • Buffer breach detection with required revolver-draw sizing
  • 12-month annual summary table with CSV export, alongside the full 60-day daily schedule
  • Scenario Analysis panel — slide cash buffer, time horizon, inflow/outflow scaling, and per-customer collection time to model what-ifs live, with baseline deltas on every KPI
Insights
  • Recent payment pattern changes — customers whose payment timing has shifted up or down vs the prior 3-month baseline
  • Ranked at-risk customers — top 5 by S$ at risk × behavioural signal (on-time rate, average lateness, anomaly flags)
  • Customer anomaly flagging on partial / disputed invoices
Conversational AI
  • Real LLM (DeepSeek Flash via opencode-go) — not canned answers, with an offline fallback when the proxy is unreachable
  • Natural-language Q&A on cash position, buffer, revolver, customers, suppliers
  • Conversational memory across questions — follow-ups reference prior context
  • Pushback on suggestions when warranted (e.g., flagging the supplier-relationship cost of a deferral)
  • AI explainability in the customer detail view — every forecast shows its formula derivation (avgDaysLate × (1 − onTimeRate))
  • Dedicated AI Copilot page with starter card, suggested prompts, and a sticky input dock
Connected workflows
  • AR / AP aging with 5-bucket breakdown (Current + 4 overdue ranges) and filters by name, behaviour, on-time rate, days late
  • Per-customer and per-supplier detail views — click any name to see payment history, AI explainability, and (for suppliers) Treasury payment status
  • Revolver headroom with pre-draw sizing on every breach
  • CSV export of the full cashflow schedule for the CFO
Data inputs (in production)

The model is fed from Microsoft Dynamics 365 Business Central via the standard Web Services API. The connectors pull from these tables on a 15-minute refresh cycle:

  • Customer Ledger Entries — open AR invoices, due dates, payment status, partial-payment history. Drives the receivables engine.
  • Vendor Ledger Entries — open AP bills, due dates, supplier priority tags. Drives the payables engine.
  • Customer — credit limits, payment terms, on-time history. Feeds the payment-behaviour model.
  • Vendor — supplier master, critical/strategic tags.
  • G/L Account / G/L Entry — operating cash-flow assumptions (payroll, rent, tax) categorised by GL class.
  • Closed Cartera / Closed Ledger Entries (last 18 months) — historical payment dates vs due dates, used to train the per-customer payment-behaviour model.
Behaviour model: for each customer, we compute avgDaysLate and onTimeRate from the last 18 months of closed ledger entries, then add an expected slip of avgDaysLate × (1 − onTimeRate) to the due date. The AI-adjusted expected date is the due date plus that slip, not the due date itself. In production this would be swapped for a fitted payment-time distribution; the formula keeps the explainability clean.
How to demo this (3-minute script)
1
Open the dashboard. "Nordmann's treasury team starts here every morning — one live view, buffer and revolver front and centre." Let the KPI tiles count up, then point to the new liquidity-ratios row (Quick Ratio, DSO, DPO, CCC) and the right-rail: "Recent payment pattern changes surfaces the customers shifting; the ranked at-risk list tells us where to look first."
2
Point to the AI alert on the chart. "This is the headline. The AI catches a buffer breach five days out that due-date tracking misses entirely." Click the "Why?" on the First Projected Breach tile (after switching to the projection screen) to show the AI reasoning chain.
3
Switch to Cashflow Projection. Flip the Due-date ⇄ AI-adjusted toggle. "Here's the moment — the AI curve dips below the S$1.5M buffer on 14 March." Scroll to the 60-day schedule for the underlying detail and the 12-month table for the strategic outlook; click Export CSV for the annual view. Then open the Scenario Analysis panel and drag the Vantage slider to +10d: "And here's what happens if Vantage pays ten days later — the breach moves and the required draw doubles." For a shorter planning window, slide Time horizon to 30d — the header, table, and KPIs all retarget to 30 days.
4
Open Receivables & Payables. "Here's why — two slow / erratic payers with large invoices due the same week." Use the filter bar to slice by behaviour or days late. Click Vantage Trading Co to open the customer detail view: "This is the AI explainability panel — the formula derivation of the forecast date, plus the customer's payment history bars and trend."
5
Open the AI Copilot (now a dedicated page, not a sidebar). Click "What can we do to avoid the buffer breach?" Then "Summarise our cash position for the CFO." The responses are generated by a real LLM (DeepSeek Flash) and take roughly 25 seconds, so set that expectation with the room. "AI proposes concrete fixes and summarises for leadership — with reasoning you can inspect."
6
Close the loop. "From stale spreadsheets to forward-looking, AI-assisted cash planning — with a week's notice instead of a same-day scramble." Reset all scenario sliders to baseline. Use the ↻ Reset button (top-right) to return to the opening state before the next walkthrough.
Total runtime: ~3 minutes for the full flow. The hands-free Guided Tour button (or __demo.startTour() in the console) runs the same script automatically with a 90-second timer.