Within 6–8 weeks, for an agency managing 20–40 active clients: 45–55% less time spent on weekly reconciliations, 70–80% less time spent preparing transaction records and invoices, and 40–50% fewer overlooked small recurring SaaS charges.
Â
Internal financial-control platform for the CFO and operations team of a digital agency. The core workflows include monitoring cash flow and spending across any reporting period, identifying problematic payments, separating agency expenses from pass-through client budgets, and generating transaction-confirmation exports on demand. The platform serves as the single source of truth for transactions and supporting documents, making P&L and margin calculations transparent, traceable, and evidence-based.
Â
A performance marketing agency managing 20–40 active clients across Google Ads and Meta campaigns. Every day, the team processes dozens of small transactions, including SaaS subscriptions, one-off services, contractor payments, and advertising-related expenses. Financial data was previously reconciled manually, which meant smaller charges could be missed and gradually erode profitability. The client also needed a clear separation between agency operating expenses and pass-through client budgets to make margins easier to understand and defend.
Â
Small SaaS charges go unnoticed
Â
Individually trivial, collectively a real margin hit and an end-of-month surprise.
Â
Pass-through vs. agency expense ambiguity
Â
Without an evidence-based classification model, transit client payments and actual agency costs become indistinguishable in the P&L.
Â
Problematic payments discovered too late
Â
Declined charges typically surface only after a SaaS provider has already cut access — triggering a chain of operational disruptions.
Â
Proof-package requests turning into manual work
Â
Pulling transactions and invoices for a given period was repeatedly turning into manual searches across statements, screenshots, and spreadsheets.
Â
No repeatable weekly cadence
Â
The CFO needed cashflow and cost structure visibility on a fixed weekly rhythm, not as a one-off spreadsheet exercise.
Â
We built a headless system in which Directus serves as the operational center and rules engine — managing everything from raw data and roles through classifications, status vocabularies, and document templates. A React/TypeScript interface sits on top of that model as the user-facing application. Node.js (Express) handles integrations and background automation: imports, document generation, notifications, and event triggers.
Â
Architecture
We built the domain model in Directus around clients and vendors, invoices, transactions, expense categories tagged on two axes (Agency vs. Client Pass-Through), statuses, and service dictionaries. Directus also enforces the CFO's evidence rules: mandatory transaction classification, validation of critical fields, consistent status vocabularies, and traceable paths for the standard recurring charge types.
Â
Expense classification
Â
We designed the workflow so that a transaction only enters the operational layer once it carries a defined ownership and category. Classification can happen automatically through rules or through controlled manual labeling in Directus with roles and audit history — making it possible to see at a glance whether a given charge belongs to the agency or to a client's pass-through budget.
Â
Status control layer
Â
We treated statuses as a live signal layer so the system can expose a focused view of problematic payments and trace each one back to context — which SaaS service, when, what exactly was charged. The goal was a single source view where any concerning charge surfaces immediately.
Â
Import into a unified structure
Â
We designed a controlled import pipeline bringing transactions into one schema with unified fields, statuses, and counterparties. Vendor-name and description normalization rests on Directus-managed dictionaries and mappings, so a recurring SaaS charge does not appear as five different vendors across five statements.
Â
Proof package generation
Â
We implemented proof generation as a first-class system feature: select a period and filters → matching transactions are fetched → relevant invoices are attached → a client-ready document is generated. Template and counterparty details live in Directus, so format changes do not require frontend deployments.
Â
React interface
Â
We concluded that the interface should not invent financial logic — it should display it. We designed weekly cashflow aggregates, a transaction log with filters, drill-down to invoice level, and visible status control. All evidence and consistency live in the Directus data model and rules.
Â
We walked through the agency's weekly and monthly financial-control cycle, then mapped where the CFO was losing hours, what was still being checked by hand, and what questions came from the owner and the account team, documented the recurring critical situations: small SaaS charges, duplicate payments, transactions without context, and declined charges noticed too late. Output: the operational scenarios the system had to close first, and the minimum field set that makes a transaction defensible.
Â
+5 Resource
The company reduced the CFO’s manual financial workload and turned transactions and approval flows into a repeatable operational process. The impact was measured against the agency’s real day-to-day operations while serving a portfolio of 20–40 active clients.
Â
time spent on weekly reconciliation of expenses and incoming funds
time spent on preparing transaction + invoice proof packages
Â
in missed small SaaS charges over the first 6–8 weeks of production use
Â
in time to close the financial month
every transaction carries classification, status, and counterparty context; every classification or status change is logged
Â
for transactions and supporting documents — P&L and margin defensible without a side-spreadsheet exercise
Or send us a message and we'll get back to you within 15 minutes during business hours