Case study·3 min read·September 18, 2026

From tracking each job site's cash by hand to real-time approval control

A construction company tracked its job sites' cash across two apps that didn't talk to each other. We built them a system with dual-currency accounts, per-job budgets, and a buyer-to-treasurer approval workflow.

A construction company in Mendoza, Argentina runs several job sites at once, each with its own budget, its own people buying materials, and its own money moving between accounts in pesos and dollars. All of that cash flow lived in two different apps that didn't talk to each other, plus a separate spreadsheet for tax records.

Each buyer logged their own spending independently. The treasurer found out late - or never found out - what had been charged against which job. And when the accountant needed a month's detail for a filing, someone had to cross-check two sources by hand and hope they matched.

The problem wasn't the money, it was the process

Nobody was stealing or hiding anything. The problem was that there was no single place where an expense got logged, reviewed, and approved before being treated as final. Anyone could log anything, and nobody had a simple way to know if a job's budget had already been exceeded or how much was left.

What we built

  • A real approval workflow: the buyer logs the expense with a receipt (photo taken on site), the treasurer approves or rejects it with a reason. Nothing counts as final without that step.
  • Dual-currency accounts: every account holds pesos and dollars at once, with the balance calculated on the fly - never a stored number that can drift out of date.
  • Budget by job site and by category, with committed and paid amounts tracked separately: it's clear at a glance whether a job is running over budget before it's too late.
  • A dedicated view for the accountant: exports the period's receipts, already formatted, without having to ask anyone for anything.
  • Built mobile-first, because the buyer photographing a receipt is standing on a job site, not sitting at a desk.

The technical decision

The previous system held years of history - thousands of transactions the company needed to keep, not lose in a clean-slate migration. We reused that data model as a starting point and migrated the full history into the new database, so the team doesn't lose a single old transaction in the switch.

Where it stands today

The system is live in production, with the historical data migrated and the approval workflow running end to end. The team is finishing onboarding every buyer and the accountant before retiring the old apps for good.

Do you run several job sites or branches with money tracked by hand, in spreadsheets that don't talk to each other? Get in touch.

Did this article resonate with you?

Book a free 30-minute diagnosis.

Book a session →