
Initiatives / Systems & Infrastructure
Ledger
One operational view of purchasing and finance activity, making ownership, approvals and reconciliation easier to follow.
- Team
- Finance, with Systems & Infrastructure
- Project leads
- Samuel Roberts, Avinaba Das
- Stack
- Next.js, React, TypeScript, PostgreSQL, Drizzle ORM, Authentik
Features
Ledger brings purchase requests, approvals, purchase orders, supplier records, virtual cards and reconciliation into a single workflow. A request moves from submission and approval into ordering, collection and reconciliation without losing its project, supplier, budget or responsible person. Role-based screens separate the work of members, approvers, finance staff and executives, while status indicators show what needs attention and who owns the next action.
Tech stack
Ledger is built with Next.js, React, TypeScript and Tailwind CSS. PostgreSQL stores the operational data, Drizzle ORM provides typed queries, and versioned migrations make database changes repeatable and reviewable. PostgreSQL constraints protect relationships between requests, order lines, purchase orders, cards, allocations and invoices. Authentik provides organisation sign-in and group-based access control, on an internally hosted on-prem service.
Reliability
The automated test suite covers request submission, approval decisions, supplier management, purchase orders, virtual cards, permissions and reconciliation. Playwright browser tests exercise complete user workflows, while database tests check migrations, constraints and important financial relationships, running against an isolated PostgreSQL database populated with synthetic records so realistic scenarios can be repeated without exposing production information.

