From dd5ed501f165122185ca3f16bfcc821fa645ff31 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 07:52:15 +1000 Subject: [PATCH 1/9] fix: demo app improvements - Tour: add interactive highlighting for active elements - Reports: add id for PDF export to work - CFO Dashboard: add sample data for demo mode - AI Insights: add Stage 2 auto-journal entries - Demo slide deck: add deployed app link --- .doc/demo-slide-deck.md | 2 ++ apps/web/app/ai-insights/page.tsx | 24 +++++++++++++++ apps/web/app/cfo/page.tsx | 36 +++++++++++++++-------- apps/web/app/page.tsx | 49 ++++++++++++------------------- apps/web/app/reports/page.tsx | 2 +- 5 files changed, 69 insertions(+), 44 deletions(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index 944784b..31b3fc8 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -75,6 +75,8 @@ Ask questions in plain English: "How did we do this month?" "What's our cash pos ## Getting Started +**Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-projects.vercel.app + 1. Connect bank account (BSB + account number) 2. Transactions import automatically 3. Review occasional AI flags diff --git a/apps/web/app/ai-insights/page.tsx b/apps/web/app/ai-insights/page.tsx index 185523e..5f24736 100644 --- a/apps/web/app/ai-insights/page.tsx +++ b/apps/web/app/ai-insights/page.tsx @@ -32,6 +32,30 @@ const INSIGHTS = [ action: null, severity: "success", }, + { + type: "auto-journal", + title: "Auto journal: Monthly depreciation", + body: "Depreciation of $1,250 calculated for fixed assets based on useful life schedules. Ready to post.", + action: "Post Entry", + severity: "success", + journalPreview: { debit: "6850 - Depreciation", credit: "1510 - Accumulated Depreciation", amount: 125000 } + }, + { + type: "auto-journal", + title: "Auto journal: Superannuation accrual", + body: "Superannuation liability of $3,420 calculated for April wages. Ready to post.", + action: "Post Entry", + severity: "success", + journalPreview: { debit: "6700 - Superannuation", credit: "2110 - Super Payable", amount: 342000 } + }, + { + type: "auto-journal", + title: "Auto journal: GST on BAS", + body: "GST collected of $8,400 and GST paid of $5,200. Net GST payable $3,200. Ready to post.", + action: "Post Entry", + severity: "success", + journalPreview: { debit: "2000 - GST Collected", credit: "2001 - GST Paid", amount: 320000 } + }, ]; const severityStyles = { diff --git a/apps/web/app/cfo/page.tsx b/apps/web/app/cfo/page.tsx index dc10171..cf04bbe 100644 --- a/apps/web/app/cfo/page.tsx +++ b/apps/web/app/cfo/page.tsx @@ -38,20 +38,30 @@ export default function CfoDashboardPage() { const [cashFlow, setCashFlow] = useState([]); const [loading, setLoading] = useState(true); + const DEMO_ANOMALIES: Anomaly[] = [ + { id: "1", type: "Unusual Expense", description: "Large software subscription detected $890 vs typical $50", amount: 890, date: "2025-04-15" }, + { id: "2", type: "Revenue Spike", description: "Unexpected income from new client $12,500", amount: 12500, date: "2025-04-12" }, + { id: "3", type: "Pattern Change", description: "Fuel expenses 40% higher than monthly average", amount: 2400, date: "2025-04-10" }, + ]; + + const DEMO_BRIEFINGS: Briefing[] = [ + { id: "1", period: "April 2025", summary: "Revenue up 12% MoM. Net profit margin improved to 18.4%. Two anomalies detected - review recommended.", created_at: "2025-04-30" }, + { id: "2", period: "March 2025", summary: "Strong month with $51,300 revenue. Expenses controlled. Tax provision of $31,000 set aside.", created_at: "2025-03-31" }, + { id: "3", period: "February 2025", summary: "Seasonal dip in revenue to $47,300. Profit margin steady at 16.2%.", created_at: "2025-02-28" }, + ]; + + const DEMO_CASHFLOW: CashFlow[] = [ + { period: "May 2025", inflow: 52000, outflow: 38000, net: 14000 }, + { period: "June 2025", inflow: 48000, outflow: 41000, net: 7000 }, + { period: "July 2025", inflow: 55000, outflow: 39000, net: 16000 }, + { period: "August 2025", inflow: 58000, outflow: 42000, net: 16000 }, + ]; + useEffect(() => { - Promise.all([ - fetch("/api/cfo/anomalies").then(r => r.json()).then(d => d.anomalies || []).catch(() => []), - fetch("/api/cfo/briefing").then(r => r.json()).then(d => Array.isArray(d) ? d : [d]).catch(() => []), - fetch("/api/cfo/cash-flow").then(r => r.json()).catch(() => ({})), - ]).then(([a, b, c]) => { - setAnomalies(a || []); - setBriefings(b || []); - const cf = c?.current ? [ - { period: c.current.month_year, inflow: c.current.inflows_cents/100, outflow: c.current.outflows_cents/100, net: (c.current.closing_cents - c.current.opening_cents)/100 } - ] : []; - setCashFlow(cf); - }).catch(console.error) - .finally(() => setLoading(false)); + setAnomalies(DEMO_ANOMALIES); + setBriefings(DEMO_BRIEFINGS); + setCashFlow(DEMO_CASHFLOW); + setLoading(false); }, []); return ( diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 35a255d..0b0c24d 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -38,17 +38,7 @@ type InteractiveElementProps = { function TourOverlay({ isOpen, onClose, step, setStep }: { isOpen: boolean; onClose: () => void; step: number; setStep: (n: number) => void }) { const currentStep = TOUR_STEPS[step]; - const stepToElement: Record = { - "overview": "[data-tour=revenue]", - "revenue": "[data-tour=revenue]", - "expenses": "[data-tour=expenses]", - "auto-cat": "[data-tour=auto-cat]", - "profit": "[data-tour=profit]", - "ledger": "[data-tour=ledger]", - "export": "[data-tour=export]", - "chart": "[data-tour=chart]", - }; - const selector = stepToElement[currentStep.id] || "[data-tour=revenue]"; + const STEP_IDS = TOUR_STEPS.map(s => s.id); return (
@@ -114,21 +104,19 @@ function TourOverlay({ isOpen, onClose, step, setStep }: { isOpen: boolean; onCl ); } -function InteractiveElement({ children, tourId, className = "" }: InteractiveElementProps) { - return
{children}
; -} - -function TourHighlight({ tourId, step }: { tourId: string; step: number }) { - const stepIds = TOUR_STEPS.map(s => s.id); - const isActive = stepIds[step] === tourId; - if (!isActive) return null; +function InteractiveElement({ children, tourId, className = "", isActive = false }: InteractiveElementProps & { isActive?: boolean }) { return ( - +
+ {children} + {isActive && ( + + )} +
); } @@ -139,6 +127,7 @@ export default function Dashboard() { const expenses = "31,200"; const profit = "18,450"; const autoRate = 89; + const currentTourId = STEP_IDS[tourStep]; return (
@@ -166,7 +155,7 @@ export default function Dashboard() {
- +
@@ -179,7 +168,7 @@ export default function Dashboard() {
- +
@@ -192,7 +181,7 @@ export default function Dashboard() {
- +
@@ -205,7 +194,7 @@ export default function Dashboard() {
- +
@@ -220,7 +209,7 @@ export default function Dashboard() {
- +

Revenue vs Expenses

diff --git a/apps/web/app/reports/page.tsx b/apps/web/app/reports/page.tsx index 6046bc2..bf9ec88 100644 --- a/apps/web/app/reports/page.tsx +++ b/apps/web/app/reports/page.tsx @@ -92,7 +92,7 @@ export default function ReportsPage() { }; return ( -
+

Reports

From b5a6cee4a8bb5025d407bed5a173f2c57368fc80 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 07:55:57 +1000 Subject: [PATCH 2/9] fix: move STEP_IDS outside component, fix pnpm version --- apps/web/app/page.tsx | 3 ++- package.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 0b0c24d..c5886d1 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -30,6 +30,8 @@ const TOUR_STEPS: TourStep[] = [ { id: "chart", title: "Visual Trends", desc: "See revenue vs expenses over time. Spot patterns and plan ahead.", value: "7 months data", color: "#ec4899" }, ]; +const STEP_IDS = TOUR_STEPS.map(s => s.id); + type InteractiveElementProps = { children: ReactNode; tourId: string; @@ -38,7 +40,6 @@ type InteractiveElementProps = { function TourOverlay({ isOpen, onClose, step, setStep }: { isOpen: boolean; onClose: () => void; step: number; setStep: (n: number) => void }) { const currentStep = TOUR_STEPS[step]; - const STEP_IDS = TOUR_STEPS.map(s => s.id); return (
diff --git a/package.json b/package.json index 325b63e..7417527 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "devDependencies": { "turbo": "^2.0.0" }, - "packageManager": "pnpm@9", + "packageManager": "pnpm@9.0.0", "engines": { "node": ">=18" } From 843e8f483ece40f709c716794a341e5d55b053c5 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 08:15:21 +1000 Subject: [PATCH 3/9] refactor(demo): rewrite slide deck for business owners - Focus on outcomes, not technical features - Use plain language (no Basiq/CDR/Formance mentions) - Add who it's for section - Update demo URL --- .doc/demo-slide-deck.md | 109 ++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 60 deletions(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index 31b3fc8..9041067 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -1,97 +1,86 @@ -# Smart GL - How It Works +# Smart GL - AI-Powered Accounting for Small Business ## The Problem -Small businesses waste hours every week on manual data entry. Transactions sit in bank accounts uncategorised. BAS time means panic and spreadsheets. The core issue: no connection between bank data and accounting records. +**You started your business to do what you love - not to become an accountant.** ---- +Every week, hours disappear into bank statements, categorising transactions, and worrying about BAS. The numbers never match. Your bookkeeper costs more each quarter. And you have no real idea if you're actually making money until someone else tells you. + +**What if your bank feed directly into your accounts? No data entry. No guessing. Always balanced.** -## How Money Moves Through Smart GL +--- -### 1. Bank Connection -Bank feeds pull transactions directly from 135+ Australian banks via Basiq (CDR Open Banking). Every payment that hits the account gets pushed to Smart GL within minutes. No manual import. No CSV uploads. Just flows automatically. +## How It Works (3 Simple Steps) -### 2. Auto-Categorisation -Each transaction hits the system and gets examined by AI. The system looks at the description, amount, and timing - then picks the right account code. 80-89% of transactions sort themselves. The tricky ones get flagged for human review. +### 1. One-Click Bank Connection +Connect your business bank account in 2 minutes. All transactions flow in automatically - no ongoing import. -### 3. Double-Entry Recording -Every transaction creates two entries - debit and credit. This is the core of accounting. The system enforces it automatically. Books always balance. No more guessing whether the accounts add up. +### 2. AI Does The Work +Each transaction gets categorised automatically. 80-89% done for you. The odd ones get flagged for your review. -### 4. Dashboard View -Revenue, expenses, profit - all calculated and displayed. No formulas to write. No spreadsheets to maintain. The numbers are always current because the underlying data is always current. +### 3. Reports At Your Fingertips +Profit, GST, cash position - all updated in real-time. Export anytime. -### 5. AI Assistance -Ask questions in plain English: "How did we do this month?" "What's our cash position?" The system pulls the relevant data and answers. No accounting knowledge required. +**No accounting degree needed.** --- -## Key Features +## What You Get -### Transactions -- Real-time bank feed -- Smart auto-categorisation -- Easy search and filter -- Manual override when needed +### Real-Time Dashboard +- Your profit situation, always current +- Cash flow forecast (what's coming in/out) +- Unusual transactions flagged (catching mistakes before they compound) -### Reports -- One-click P&L -- Balance Sheet -- GST/BAS ready +### Instant Reports +- One-click P&L, Balance Sheet +- GST/BAS ready - no scrambling at BAS time - Export to PDF or CSV -### CFO Dashboard -- Cash flow forecast -- Anomaly detection -- Monthly briefing -- Industry comparison - -### Bank Feeds -- Connect 135+ banks -- Add accounts anytime -- Sync history tracked +### Your Time Back +- No more transaction categorisation +- Faster bookkeeper reconciliation +- Questions answered instantly ("How are we tracking?") --- -## Why This Matters +## Why Small Business Owners Love It | Before | After | |--------|-------| -| Manual data entry | Auto-import | -| End-of-month panic | Real-time numbers | -| Spreadsheet errors | Always balanced | -| Scattered records | One system | -| Guesswork decisions | Data-driven | +| 2-5 hours/week on data entry | 0 hours - it's automatic | +| BAS week = panic mode | Relaxed - numbers are always ready | +| "What's our profit?" = guesswork | Live number, always know | +| Bookkeeper costs $X/quarter | Less reconciliation needed | +| Decisions on gut feel | Decisions on real data | --- -## What It Saves +## Who It's For -- Hours per week on transaction categorisation -- 15+ minutes on each report (generate instantly) -- Stress at BAS time -- Money on unnecessary bookkeeper work +- 1-20 employees +- $200K-$2M annual revenue +- Want to focus on their business, not books +- Australian business (ABN) --- -## Getting Started +## Try It Now -**Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-projects.vercel.app +**Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-prods-projects.vercel.app -1. Connect bank account (BSB + account number) -2. Transactions import automatically -3. Review occasional AI flags -4. Run reports when needed +1. Connect bank account (BPAY - no BSB needed for demo) +2. Watch transactions flow in +3. Try the AI chat: "How did we do this month?" -Demo shows "Coastal Trades" example - a plumbing business with realistic transactions, categorisations, and reports. +Demo shows "Coastal Trades" - a plumbing business with realistic transactions, categorisations, and reports. --- -## What to Try +## Ready to Try? -| Feature | Where | Try This | -|---------|-------|---------| -| See transactions | Transactions | Search for "ANZ" | -| Try AI chat | CFO Dashboard | Ask "How did we do?" | -| Add account | Bank Feeds | Click Add Bank Account | -| Run report | Reports | Export PDF | -| Start tour | Dashboard | Click "Start Tour" | \ No newline at end of file +| What | Where | +|------|-------| +| See real transactions | Transactions tab | +| Try AI chat | CFO Dashboard → "Ask anything" | +| Run a report | Reports → Export PDF | \ No newline at end of file From 39aacab8223a2cc4d5ef301f592a7a542228f6f4 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 08:19:53 +1000 Subject: [PATCH 4/9] refactor(demo): improve opening for business owners - Lead with aspiration, not just pain - Stronger emotional hook - More direct language --- .doc/demo-slide-deck.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index 9041067..e4ee4f7 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -1,12 +1,16 @@ -# Smart GL - AI-Powered Accounting for Small Business +# Smart GL - Finally, Accounting That Works as Hard as You Do + +--- ## The Problem -**You started your business to do what you love - not to become an accountant.** +**You didn't start a business to become an accountant.** + +Every week: hours of data entry, guessing at categories, scrambling before BAS, and wondering "are we actually making money?" -Every week, hours disappear into bank statements, categorising transactions, and worrying about BAS. The numbers never match. Your bookkeeper costs more each quarter. And you have no real idea if you're actually making money until someone else tells you. +Your bookkeeper costs more every quarter. Your bank feed sits in a spreadsheet. And the numbers never quite match. -**What if your bank feed directly into your accounts? No data entry. No guessing. Always balanced.** +**What if your accounts just... did themselves?** --- From 947b816772f525bbc573f99e3baedd3fccbb9f60 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 09:01:51 +1000 Subject: [PATCH 5/9] refactor(demo): rewrite slide deck for seasoned accountants - Focus on practical workflow improvements - Explain AI categorisation clearly (pattern matching, not magic) - Show integration points (Basiq, Formance, Claude) - Address scepticism directly - You're in control table --- .doc/demo-slide-deck.md | 137 +++++++++++++++++++++++++--------------- 1 file changed, 85 insertions(+), 52 deletions(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index e4ee4f7..a0bc415 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -1,90 +1,123 @@ -# Smart GL - Finally, Accounting That Works as Hard as You Do +# Smart GL - AI-Powered Accounting for SMB + +## For Practitioners Who Know The Ropes --- -## The Problem +## The Problem You've Seen Before + +You've been here before: every EOFY, every BAS, every quarter. -**You didn't start a business to become an accountant.** +A client hands you a shoebox of receipts. Or a CSV with 500 transactions, none categorised. Or "the bookkeeper" stopped showing up in March, and now it's July. -Every week: hours of data entry, guessing at categories, scrambling before BAS, and wondering "are we actually making money?" +**The work isn't the accounting. It's the data entry.** -Your bookkeeper costs more every quarter. Your bank feed sits in a spreadsheet. And the numbers never quite match. +Bank feeds exist. But they give you a transaction dump, not a finished set of books. Someone still has to map every description to an account code. Someone still has to split GST. Someone still has to balance. -**What if your accounts just... did themselves?** +What if that someone wasn't you? --- -## How It Works (3 Simple Steps) +## How It Works + +### 1. Bank Connection (Basiq API) + +We connect to 135+ Australian financial institutions via Basiq's Open Banking API. Transactions hit the system within minutes of clearing - not days later, not via CSV download. -### 1. One-Click Bank Connection -Connect your business bank account in 2 minutes. All transactions flow in automatically - no ongoing import. +### 2. AI Categorisation (Claude Sonnet 4) -### 2. AI Does The Work -Each transaction gets categorised automatically. 80-89% done for you. The odd ones get flagged for your review. +Each transaction hits a classification model trained on: +- Merchant category codes (MCC) +- Historical patterns from this specific business +- User corrections (learns from you) -### 3. Reports At Your Fingertips -Profit, GST, cash position - all updated in real-time. Export anytime. +**What's actually happening:** The model looks at the description, amount, timing, and sequence - then picks the most likely account code. 80-89% auto-categorise. The unsure ones flag for your review. -**No accounting degree needed.** +### 3. Double-Entry Recording (Formance Ledger) + +Every transaction creates two postings - debit and credit. Enforced at the API level. No manual balance checking. No "does this add up?" questions. + +### 4. Real-Time Reports + +P&L, Balance Sheet, GST summary - all computed from live data. No "as at" date. No exporting to Excel to fix. --- -## What You Get +## What Makes This Different -### Real-Time Dashboard -- Your profit situation, always current -- Cash flow forecast (what's coming in/out) -- Unusual transactions flagged (catching mistakes before they compound) +| Traditional Bookkeeping | Smart GL | +|----------------------|---------| +| Transactions received in batch | Real-time stream | +| Manual account mapping | 80-89% auto-categorised | +| You find the errors | System flags anomalies | +| Month-end reconciliation | Continuous | +| Fixed account codes | Learns from your corrections | -### Instant Reports -- One-click P&L, Balance Sheet -- GST/BAS ready - no scrambling at BAS time -- Export to PDF or CSV +**The value proposition for you:** +- Less time on categorisation, more time on advisory +- Fewer adjustments at EOFY +- Cleaner trails for BAS audit +- Clients who actually know their numbers -### Your Time Back -- No more transaction categorisation -- Faster bookkeeper reconciliation -- Questions answered instantly ("How are we tracking?") +--- + +## The AI Question + +You're a sceptic. Good. + +**What the AI is doing:** +- Pattern matching on transaction descriptions +- NOT making accounting judgments +- NOT generating financial advice +- Flagging uncertain items for human review + +**What you control:** +- Account code mapping rules +- Auto-approve thresholds +- Override any classification +- Set review workflows --- -## Why Small Business Owners Love It +## Integration Points -| Before | After | -|--------|-------| -| 2-5 hours/week on data entry | 0 hours - it's automatic | -| BAS week = panic mode | Relaxed - numbers are always ready | -| "What's our profit?" = guesswork | Live number, always know | -| Bookkeeper costs $X/quarter | Less reconciliation needed | -| Decisions on gut feel | Decisions on real data | +- **Bank feeds**: Basiq (CDR Open Banking) +- **Ledger**: Formance Ledger v2 (double-entry) +- **AI**: Claude Sonnet 4 (classification) +- **Database**: Supabase (PostgreSQL + vector) + +All standard Australian- compatible. Your existing software can import via API. --- -## Who It's For +## Pricing + +| Tier | Features | +|------|---------| +| Starter | Bank feed + basic categorisation | +| Pro + | Unlimited users, AI chat, forecasting | +| Firm + | White-label, API access, deduped data | -- 1-20 employees -- $200K-$2M annual revenue -- Want to focus on their business, not books -- Australian business (ABN) +Contact for custom pricing on bookkeeper firms. --- -## Try It Now +## Try It **Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-prods-projects.vercel.app -1. Connect bank account (BPAY - no BSB needed for demo) -2. Watch transactions flow in -3. Try the AI chat: "How did we do this month?" - -Demo shows "Coastal Trades" - a plumbing business with realistic transactions, categorisations, and reports. +1. Connect bank (BPAY demo available) +2. Watch transactions flow +3. Try the classification +4. Run a report --- -## Ready to Try? +## You're In Control -| What | Where | -|------|-------| -| See real transactions | Transactions tab | -| Try AI chat | CFO Dashboard → "Ask anything" | -| Run a report | Reports → Export PDF | \ No newline at end of file +| Task | What You Do | What AI Does | +|------|------------|-------------| +| Categorise tricky items | ✅ You decide | Flag for review | +| Set account rules | ✅ You configure | Apply consistently | +| Review anomalies | ✅ You approve | Detect deviation | +| File BAS | ✅ You certify | Report ready | \ No newline at end of file From 6c0de2c682e84395e53a40eb23fbd84923bf585e Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 09:06:47 +1000 Subject: [PATCH 6/9] docs: generate PDF of slide deck --- .doc/demo-slide-deck.pdf | Bin 0 -> 27747 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .doc/demo-slide-deck.pdf diff --git a/.doc/demo-slide-deck.pdf b/.doc/demo-slide-deck.pdf new file mode 100644 index 0000000000000000000000000000000000000000..647d9c5802a64434816633cfbfbc97783e34454c GIT binary patch literal 27747 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

aJgUemJB-07y` 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 H1lE567Xa(7 literal 0 HcmV?d00001 From b4e88ece235fcc2a5cc6b8d341794d51d62be537 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 09:09:32 +1000 Subject: [PATCH 7/9] fix(demo): correct deployment URL, remove pricing section --- .doc/demo-slide-deck.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index a0bc415..57152d3 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -90,18 +90,6 @@ All standard Australian- compatible. Your existing software can import via API. --- -## Pricing - -| Tier | Features | -|------|---------| -| Starter | Bank feed + basic categorisation | -| Pro + | Unlimited users, AI chat, forecasting | -| Firm + | White-label, API access, deduped data | - -Contact for custom pricing on bookkeeper firms. - ---- - ## Try It **Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-prods-projects.vercel.app From 20348b926315ef5823f62ab23ad54fc13bb9bad0 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 09:11:57 +1000 Subject: [PATCH 8/9] fix(demo): correct demo URL to /reports endpoint --- .doc/demo-slide-deck.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.doc/demo-slide-deck.md b/.doc/demo-slide-deck.md index 57152d3..41c8c45 100644 --- a/.doc/demo-slide-deck.md +++ b/.doc/demo-slide-deck.md @@ -92,7 +92,7 @@ All standard Australian- compatible. Your existing software can import via API. ## Try It -**Live Demo**: https://smart-1m1jc7yf5-sensibleanalytic-4114s-prods-projects.vercel.app +**Live Demo**: https://smart-hf50tubpw-sensibleanalytic-4114s-projects.vercel.app/reports 1. Connect bank (BPAY demo available) 2. Watch transactions flow From e44b57cd842464b6b4fb9166c85c1fd328bec4a7 Mon Sep 17 00:00:00 2001 From: Prabhat Ranjan Date: Sun, 26 Apr 2026 09:15:56 +1000 Subject: [PATCH 9/9] docs: regenerate PDF with corrected URL --- .doc/demo-slide-deck.pdf | Bin 27747 -> 27197 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.doc/demo-slide-deck.pdf b/.doc/demo-slide-deck.pdf index 647d9c5802a64434816633cfbfbc97783e34454c..b3cc58085e8b6158e6fbdb218b92a359d7924484 100644 GIT binary patch delta 11422 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