Skip to main content

§ masterplan.md

Clean Accounting SaaS

A corporate SaaS landing page for freelancers with pricing tables, feature comparisons and a demo scheduler.

All ideas
Clean Corporate

01

App overview and objectives

Bookkeeping software for small businesses that do not have a bookkeeper: invoices, expenses, bank reconciliation, tax estimates and reports, with defaults sensible enough to use without training.

02

The problem worth solving

Existing accounting tools are built for accountants and terrify sole traders. A product that speaks in business language rather than double-entry vocabulary opens a large, underserved market.

03

Target audience

  • Primary — Sole traders and small businesses doing their own books.
  • Secondary — Accountants who want clean data from their clients.

04

Roles and permissions

  • Visitor — read-only public pages, can sign up.
  • Member — owns their own records, cannot see other users' data.

05

Core features

  • Invoice creation, sending and payment tracking with reminders
  • Expense capture including receipt photo and extraction
  • Bank feed import and guided reconciliation
  • Tax estimate for the current period
  • Core reports: profit and loss, balance, aged receivables
  • Accountant access with a read-only or edit role

Deliberately later

  • Payroll
  • Multi-currency
  • Inventory
  • Automated filing where supported

06

Technical stack

React app, Postgres with a strict double-entry ledger underneath a simplified interface, server functions for all posting logic.

Why: You can hide double-entry from the user, but the ledger must be correct and immutable underneath or the numbers will not survive an audit.

Alternatives: Simple income-and-expense tracking (much easier, breaks at the first accountant review) or building on an accounting API (fast, limits the product to a skin).

07

Conceptual data model

Organisation — name, tax jurisdiction, fiscal year, currency

Account — organisation, code, type, name (chart of accounts)

JournalEntry — organisation, date, description, lines (account, debit, credit)

Invoice — customer, items, tax, due date, status, payments

Expense — vendor, amount, tax, category, receipt file

BankTransaction — feed, date, amount, description, matched entry

08

Integrations

  • Bank feeds or statement import
  • Payment provider for invoice payment
  • Receipt text extraction
  • Email delivery

09

UI design principles

  • Predictable structure, strong trust signals, consistent 8px spacing rhythm.
  • Restrained brand colour on actions only; neutral surfaces everywhere else.
  • Fast, accessible, and boring in the best way — nothing gets in the user's path.

10

Security considerations

  • Immutable journal: corrections are reversing entries, never edits or deletes.
  • Full audit log of who changed what and when, exportable.
  • Role-based access per organisation with row-level security; accountant access is explicitly granted and revocable.

11

Development phases

Phase 1 — Prove the core

  • — Invoice creation, sending and payment tracking with reminders
  • — Expense capture including receipt photo and extraction
  • — Bank feed import and guided reconciliation
  • — Static content and design system in place
  • — Basic analytics

Phase 2 — Make it real

  • — Tax estimate for the current period
  • — Core reports: profit and loss, balance, aged receivables
  • — Accountant access with a read-only or edit role
  • — Accounts, sign-in and password reset
  • — Empty, loading and error states everywhere

Phase 3 — Polish and launch

  • — Performance, accessibility and SEO pass
  • — Legal pages, contact route and 404 handling
  • — Wire up: Bank feeds or statement import
  • — Wire up: Payment provider for invoice payment

Phase 4 — Grow

  • — Payroll
  • — Multi-currency
  • — Inventory
  • — Automated filing where supported

12

Challenges and solutions

Risk — Tax rules differ by country and change yearly

Solution — Isolate jurisdiction rules in versioned configuration and launch in one country only.

Risk — Users make accounting mistakes

Solution — Guardrails, plain-language warnings, and a health check that flags unbalanced or unreconciled periods.

Risk — Data migration from incumbents

Solution — A tested import for the two most common competitors' exports.

13

Future expansion

  • Lending based on verified cash flow
  • Accountant partner directory
  • Industry-specific templates

14

Page list (13 pages)

  1. 01 APP (signed in) Dashboard — Cash position, overdue invoices, tax estimate.
  2. 02 PUBLIC Invoices — Create, send and track.
  3. 03 PUBLIC Expenses — Capture and categorise.
  4. 04 PUBLIC Reports — Profit and loss, balance, receivables.
  5. 05 APP (signed in) Settings — Organisation, chart of accounts, access.
  6. 06 AUTH Sign up — Create an account with email or a social provider.
  7. 07 AUTH Log in — Return to the account, with error and lockout states.
  8. 08 AUTH Reset password — Request a reset link and set a new password.
  9. 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
  10. 10 PUBLIC Contact — Contact form plus real address, phone and email.
  11. 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
  12. 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
  13. 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.

15

Page map

PUBLIC       AUTH               APP (signed in)      LEGAL & SYSTEM
───────────  ─────────────────  ───────────────────  ───────────────────
├─ Invoices  ├─ Sign up         ├─ Dashboard         ├─ Privacy policy
├─ Expenses  ├─ Log in          ├─ Settings          ├─ Terms of service
├─ Reports   └─ Reset password  └─ Account settings  └─ 404 not found
└─ Contact

key flows:
  Dashboard ──▶ Invoices
  Dashboard ──▶ Expenses
  Invoices ──▶ Reports
  Settings ──▶ Dashboard