In production
Ledgerlane — Client Invoice Tracker
Ledgerlane is a production-ready React and TypeScript workspace for a finance and supply-chain executive. It brings client records, invoice intake, payment status, return notes, dashboards, and exports into one operational flow.
The product is deliberately manual-review-first. A person enters and checks each invoice, while its original spreadsheet, image, or PDF proof remains available in Firebase Storage. The workflow makes records easier to trust without sending documents through AI, OCR, or external model calls.
What the app does
- Maintains a client directory with safe deletion checks before financial records can be removed.
- Captures invoices with validation, RM formatting, status, due dates, categories, and optional spreadsheet suggestions that must be reviewed before saving.
- Keeps up to 20 MB proof files per upload and supports Excel, CSV, image, and PDF attachments without parsing sensitive documents.
- Offers consolidated and per-client dashboards with totals, overdue alerts, category breakdowns, monthly trends, and payment status.
- Tracks return notes alongside invoices and exports consolidated or client-specific insights to Excel.
Engineering decisions
- Firebase Auth, Firestore, and Storage sit behind a swappable
DataStoreinterface. - Firestore and Storage rules require a verified allowlisted email, keeping the single-workspace boundary explicit.
- Pure TypeScript insight calculations keep reporting testable and independent from Firebase.
- A local browser demo makes the product reviewable before Firebase configuration exists.
| Intake | Manual review |
| Proof files | Excel, CSV, image, PDF |
| Reports | Excel export |
| External AI | None |
Built with
React · TypeScript · Vite · Tailwind CSS · Firebase · Firestore · SheetJS · Recharts · Vitest