MindPalaceX · The Workshop
The Idea Wall →

On the Idea Wall · ▲ 0 votes

PortalLedger — the spec

A client-facing invoice and expense management portal built for small teams of 2–10 people. Teams generate and send invoices to clients, upload and extract data from their own receipts, and produce expense reports by period — all from one workspace. Clients get a scoped view of what they owe; the team sees everything.

---

Decisions locked

QuestionAnswer
ShapeClient portal
AudienceSmall teams, 2–10 people
Core loopWeekly review of outstanding invoices and payment status
Must-have count5 features, defined below
v1 success metric5 paying customers within 30 days of launch

---

The core loop

  1. Team member opens the dashboard and scans outstanding invoices flagged by age or status.
  2. They create or edit an invoice using the auto-calculating template, then send it directly from the platform via email.
  3. The platform tracks email open and view events; the team sees delivery status alongside payment status.
  4. Meanwhile, receipts from business expenses are uploaded; OCR extracts vendor, date, and amount automatically.
  5. At the end of the period the team runs an expense report filtered by date range, pulling both invoices issued and receipts captured.
  6. Client logs in through their portal view, sees only their own invoices, and confirms or queries payment.

---

v1 scope

Invoice template with auto-calculations
A structured invoice builder with line items, quantities, rates, tax, and totals calculated in real time. Lives on the Invoice Create/Edit screen; saved invoices appear on the Invoice List screen.

Receipt upload and OCR extraction
Team members upload receipt images or PDFs; OCR parses vendor name, date, and total and pre-fills the expense record for confirmation. Lives on the Receipts screen.

Email invoice delivery with tracking
Send any invoice to a client directly from the platform; the system records sent timestamp, email open event, and portal view event. Delivery and open status surface on the Invoice List screen beside each record.

Expense report generation by period
Select a date range and generate a report combining issued invoices and captured receipt expenses, exportable as PDF or CSV. Lives on the Reports screen.

Client portal view permission toggle
Each client record has a toggle that grants or revokes portal access. When enabled, the client authenticates and sees only their own invoices — no team data, no other clients. Managed on the Client detail screen; rendered on the Client Portal screen.

---

Deliberately later

  • Client payment status dashboard — payment recording belongs in v1 data but a dedicated dashboard visualization earns its build time once real usage patterns show what teams actually track.
  • Project-based expense categorization — project structure adds schema complexity; validate that teams need it before wiring it into receipts and reports.
  • Bulk receipt batch upload tool — single-receipt OCR must prove accurate and trusted before batching multiplies any extraction errors at scale.

---

Data model sketch

  • clients — id, name, email, portal\_access\_enabled, created\_at
  • invoices — id, client\_id, issue\_date, due\_date, line\_items (JSON), subtotal, tax, total, status (draft / sent / viewed / paid)
  • invoice\_emails — id, invoice\_id, sent\_at, opened\_at, viewed\_at, recipient\_email
  • receipts — id, team\_member\_id, upload\_url, vendor, receipt\_date, amount, currency, ocr\_raw (JSON), confirmed
  • expense\_reports — id, generated\_by, period\_start, period\_end, export\_url, created\_at
  • payments — id, invoice\_id, amount, payment\_date, method, notes
  • team\_members — id, name, email, role (admin / member)
  • client\_portal\_sessions — id, client\_id, token, expires\_at, created\_at

---

Screens

  • Dashboard — weekly snapshot of outstanding invoices, recently uploaded receipts, and delivery status alerts.
  • Invoice List — all invoices with status, open/view tracking indicators, and quick actions.
  • Invoice Create / Edit — the auto-calculating template builder with send controls.
  • Receipts — upload interface, OCR-extracted field review, and confirmed expense list.
  • Reports — date-range selector, report preview, and PDF/CSV export.
  • Clients — client records, portal access toggle, and linked invoice history.
  • Client Portal — authenticated view restricted to a single client's invoices and their statuses.

---

How to use this document

  • Bring it into Mind Palace, where the guided platform and its AI coach pick up from exactly this document and build the product with you step by step.
  • Hand it to a developer as the complete v1 brief — scope, data model, and screens are defined and ready to execute.
  • Keep it as the single source of truth while you build, so every feature decision is measured against what is written here.

This is Cornel's. Build yours.

A spec like this is step 3 of Mind Palace's nine — the other six take a weekend: working software, a real offer, first customers.

Want to build this with Cornel?

Tell us who you are and we'll broker the introduction — their contact details stay private until they say yes.