Case Study · Our Own Product · Fintech Platform
PropWise
Drop an FNB bank statement PDF and every transaction is parsed, classified against 76 SA-specific property categories, allocated to the right property, and charted, across trusts, companies and personal names. No AI API calls. No data leaves the server.
The bank statement import is the product
Landlords with units spread across trusts, companies and personal names reconcile FNB PDFs by hand, one line at a time, guessing which property each R99 bank fee belongs to. PropWise reads the PDF, classifies every line, allocates it, and validates its own output against the statement’s printed turnover totals as a checksum. Everything else on this page exists to make what comes out of that import useful.
Working Slice · The Classifier
Type a bank line. Watch a rule claim it.
These are seven real production rules, in real priority order: first match wins, and the amount-range rule only fires when no keyword hits. Try “Magtape Debit Sbsa Homel”, or an amount between 9000 and 9500 with no description.
The rules are user-configurable in Settings, so the parser learns each landlord’s recurring lines. Regex over AI on purpose: zero per-document cost, no rate limits, and no statement ever leaves the server.
Working Slice · Lease Health
The RAG dot every screen shares
More than 60 days is green, 30 to 60 amber, under 30 or expired red, vacant grey. Map pins, property cards, kanban tiles and the tenant ribbon all read this one status.
Working Slice · Cashflow
Money as it moved, not as it was meant
Grouped by transaction date after advance rent payments made months show R0. Demo data; the production chart runs the same Recharts config on the real 193 transactions.
Why generic bookkeeping loses
It knows what a sectional title levy is
The entity tree
SA landlords hold property under trusts, companies, CCs and personal names, and SARS wants financials per entity. The hierarchy is the data model, not a report filter.
76 categories, tax flags included
Every category carries a deductibility flag for IRP6 provisional tax. A levy is deductible; a personal drawing is not. Tax season becomes a filter, not a forensic project. ✓ marks deductible.
The Tour · Captures Landing Soon
One screen, one claim
The signature screen
Drop a PDF, review a classified statement
The review dialog lists every parsed transaction with its auto-assigned colour-coded badge, inline overrides for category, property and tenant, and a summary bar checking total credits, debits and net against the statement itself.
Ten seconds, whole portfolio
One screen answers the morning questions
How much rent is in, what is overdue, which leases are expiring: the tenant ribbon, portfolio kanban, hero stat cards and cashflow chart put the entire multi-entity portfolio on one dark screen, filterable by entity and period.
Accurate to the rand
Hover any month, see the truth
Nov: income R 27 800, expenses R 10 908,97, net R 16 891,03. ZAR-formatted, transaction-date-grouped, and matching the bank because the parser checksums itself against the statement’s printed totals.
AI-native
Ask your portfolio a question
The MCP API (code complete, pending deployment) exposes the portfolio to Claude with per-key permissions: query cashflow, list overdue rent, or log a plumbing expense against a property by talking. Demo conversation; figures fictional.
Design decisions
Zero per-document cost, no rate limits, no statement leaves the server. SA documents are predictable enough that regex wins.
Trusts and companies need per-entity tax reporting. The hierarchy went into the data model.
IRP6 needs deductible vs not. The category system carries the metadata.
Advance rent made paid months show R0. Charts now reflect bank movement, not accrual intent.
Faster, simpler, and the API layer stays reusable for the future mobile app.
Google charges per map load. Pins on free tiles do the job.
Next.js 15 · TypeScript · Tailwind v4 · shadcn/ui (23 components) · Supabase: Postgres + Auth + Storage + RLS · Zustand · TanStack Query · Recharts · Leaflet · pdf-parse · Geist
More screens
Built as a white-label commercial product for landlords and estate agents, not a personal tool. Every fix permanent and systemic; the FNB parser is sacred and working.