← All systems

Abdelbar El Hassani

CASE STUDY · FINANCE

A finance operating system, from quote to cash

Payables, receivables, invoicing, cash flow, project P&L and VAT in one system, connected to quoting and follow-ups so no figure is typed twice. £100,000 of live revenue has gone through it.

01 / FINANCE OPERATIONS · FLAGSHIP

● In daily use

A finance operating system with controls built in

Payables, receivables, invoicing, cash flow, project P&L and VAT in one system. Supplier bills are read and checked, client invoices are issued and chased, and nothing is paid until I approve it.

£100k of live revenue. Every invoice checked by code.

Apps Script · Gmail · OpenAI API · Anthropic API · 51 unit checks + 16 end-to-end tests

MONEY OUT

DAILY 17:00Inbox sweep
AIExtracts invoice fields
CODEMaths · VAT · duplicate · bank change
OUTPUTFiled + tagged to project
HUMANApprove and mark paid
OUTPUTSupplier receipt · P&L · VAT

MONEY IN

DRIVEApproved quote or sent invoice filed
CODEBooked as revenue, matched so nothing counts twice
AIQuote turned into a branded invoice
CODEDeposit + balance forecast, overdue tracked
HUMANApprove chaser · mark received
OUTPUTCash flow · P&L · project margin · VAT

Finance OS

Payables · receivables · cash

Home

MONEY IN

Quotes & invoices Projects

MONEY OUT

Supplier invoices Review queue 2 Payments

INSIGHTS

Profit & loss Supplier spend VAT

Good evening,

November overview

Search invoices, suppliers…Synced 17:00

PROFIT · NOVEMBER

£4,480

+12% on October

REVENUE

£12,900

COSTS

£8,420

OWED TO YOU

£6,150

VAT · QUARTER

£4,372

Profit & loss

Monthly profit · £k

−0.1 0.0 +0.8 −0.1 +0.5 JunJulAugSepOctNov

Needs your attention

INV-2291 · Northlight Consulting

Bank details changed since last invoice

Risk

INV-2288 · Greyfield Software

Maths, VAT and duplicate checks passed

Ready to pay

INV-031 · Harbour Group

Client invoice 11 days unpaid · chaser drafted

Chase

OUTSTANDING

£3,980

OVERDUE

£650

DUE IN 7 DAYS

£1,200

DUE IN 30 DAYS

£2,130

AWAITING APPROVAL

2

READY TO PAY

3

Next 7 days

Client paysSupplier bill
Mon 9£2,400
Tue 10£650
Wed 11
Thu 12£1,200
Fri 13£3,750
Sat 14
Sun 15

CASH FORECAST · 30 NOV

£18,240

After known bills and expected client payments

03 / QUOTE TO CASH

● In daily use

From client email to paid invoice, in one closed loop

A client request becomes a priced quote from a rates database, a drafted reply, a filed document, forecast revenue, an invoice and, if needed, a chaser. Every handover between systems is automatic. Every decision is mine.

3 systems, no re-keying

Open Loops agent · rates database · Claude skill · Gmail + Drive MCP · Finance OS

1 · TRIGGERClient emails a request, or I paste it in
2 · AI · OPEN LOOPSPicks it up as a loop and reads what's needed
3 · CODE · RATES DATABASEPrices every line: rate, mark-up, live FX, VAT rule
4 · AI · SKILLBuilds a draft quote in house style, unique number
5 · HUMANApprove, or ask for changes in the loop chat
6 · OUTPUTGmail reply drafted with the PDF attached, copy filed to Drive
7 · CODE · FINANCE OSPicks the quote up from Drive as confirmed revenue and forecasts cash
8 · AITurns it into an invoice; unpaid after 10 days, a chaser loop opens

The chaser goes back to step 2 as a loop, so the circuit closes when the money lands.

Rates database

Demo data · latest rates win

ItemUnitCostPriceMargin
Consultantday£330£45027%
Project managerday£260£35026%
Reporting packday£280£40030%
Training sessionjob£160£25036%
GBP → USD at live rate VAT 20% or none, per client UK or international bank block

INBOX · DEMO

Harbour Group: "Can you quote a 2-day review and a reporting pack for 14 Nov?"

Picked up as a loop at the 12:00 sweep

QUOTATION · DRAFT

Q-014

Consultant × 2 days£900
Project manager × 2 days£700
Reporting pack£400
VAT 20%£400
Total£2,400

ON APPROVAL

✓ Reply drafted in Gmail with Q-014 attached

✓ Filed to Drive › Quotes › 2026-11

✓ Finance OS books £2,400 as confirmed revenue, 50% deposit forecast

DEEP DIVE

THE PROBLEM

  • Supplier invoices arrived by email in every format and were logged by hand.
  • Quotes, invoices and payments lived in different places, so cash flow was a guess.
  • VAT, project margins and who owed what took hours to rebuild each month.

WHAT IT DOES

  • Reads the inbox daily at 17:00, up to 25 emails a run, and books follow-up runs after a backlog.
  • AI extracts each invoice; code checks the maths, VAT, duplicates and changed bank details.
  • Invoices move through clear states: received, needs review, approved, paid, with rejected, duplicate and cancelled paths.
  • Approved quotes on Drive count as revenue, with deposit and balance forecast; a quote becomes a branded invoice in one click.
  • Every project gets its own P&L, with bills split across projects and receipts attached.
  • Quarterly VAT summary in the HMRC 9-box layout, a daily summary email and a 4-week forecast every Monday.

CONTROLS

  • A changed bank detail blocks approval immediately.
  • Nothing is paid by the system: there is deliberately no bank connection, and payments are recorded by a person.
  • Mark-as-paid can never record a payment twice.
  • Failed items retry with back-off, then land in a review queue instead of disappearing.
  • Mail is labelled, never deleted; filing a VAT return stays a human step.
  • 51 unit checks and 16 end-to-end tests run before every change.

STACK

  • Google Apps Script, Sheets and Drive
  • Gmail ingestion
  • OpenAI API for extraction
  • Anthropic API and a Claude skill for branded invoices
  • Rates database, live FX lookup
  • Automated test suite (unit + browser end-to-end)

WHAT I'D BUILD FOR YOUR TEAM

  • Supplier onboarding with the same bank-detail and duplicate controls.
  • Month-end close checklists that chase themselves.
  • A cash forecast the CEO can read in 30 seconds, rebuilt daily from source documents.