
Currency exchange
Seven currencies in an Excel file only its creator understood. Now operations are logged from a phone.
- Areas
- Industry
- Financial services
- Scope
- Operations modeling, database, and mobile app
- Date
- 2025
A currency exchange business couldn’t see in real time how much it owed or was owed by each counterparty. We modeled its operation on double-entry bookkeeping and built an app to record every movement the moment it happens.
The starting point
A complex operation, held up by a single file.
A currency exchange business working with several currencies and a network of partners, suppliers, and lenders ran its entire daily operation in Excel. The file was handmade and highly customized, with dozens of special cases piled up over time: monthly tabs mixed with per-currency tabs, manual entry, and logic only its creator understood.
The biggest problem was operational. There was no way to see the state of the accounts in real time or how much each counterparty was owed. Data entry was slow, and that delay led to reconciliation problems and errors that were hard to trace.
On top of that, the information could only be viewed from a computer and wasn’t available until late at night, once the whole day had been entered.
What we needed to solve
Understand how the money moves before building anything.
Before building, we interviewed the client several times to understand how the business really worked: the types of clients, how each supplier operated, how each currency was handled, and how each movement raised or lowered the counterparty balances depending on where the money came from and where it went.
We mapped every component and party involved in a transaction.
- ~2 hPer day to enter and reconcile transactions in the old file (client’s estimate).
- 7Currencies in play in each transaction, across foreign currencies, crypto, and pesos.
- 1Handmade file held up the entire operation, with logic only the person who built it understood.
Key decision
Instead of patching the spreadsheet, model the entire operation on double-entry bookkeeping: the classic accounting principle where every movement is recorded in two accounts that must balance. We adapted it to the client’s operations. Only with that foundation in place did we solve the visibility problem with an app.
What success looks like
For the business to record every transaction in a consistent system, see the status of its accounts and what it owes or is owed at any moment, and stop depending on a fragile handmade file.
What we did
First the model, then the app.
A catalog of transactions. We modeled the operation from scratch on double-entry bookkeeping. For each type of movement, the catalog defines which currency comes in and which goes out, from which account or source, and whether an exchange rate or commission applies. Every movement is recorded as a balanced entry, and the system automatically flags any entry that doesn’t balance for review.
A single source of truth. On that model we built the new database: a transaction ledger, running balances by counterparty and currency, cash and balances, daily and monthly profit, commissions, arbitrage returns, adjustments, and pending items.
An app to log transactions on the spot. With the database structured, we built an app connected to it to log transactions in real time from a phone. The app guides entry with linked dropdowns, calculates the exchange rate, lets users attach the receipt, and doesn’t allow records to be deleted, only edited. It also includes dashboards for balances, counterparty accounts, reconciliation, lenders, profit, commissions, and arbitrage.
| Account | Debit | Credit |
|---|---|---|
| Cash · USD | 1,000 | |
| Exchange · EUR | 990 | |
| Commission | 10 | |
| Net | 0 | Balanced |
What changed
From two hours a day to about five minutes, according to the client.
The currency exchange business went from a handmade Excel file to a structured system built on double-entry bookkeeping, with an app as the entry point. Operations are logged in real time from a phone, and at any moment they can see the state of each account and how much they owe or are owed, by currency and by counterparty.
Because every entry has to balance, a data-entry error shows up right away instead of surfacing late during reconciliation.
Time savings are client estimates and are presented as approximate.

- ~5 minDaily entry and reconciliation time today, down from about two hours (client’s estimate).
- 1Single, synchronized data source with multi-user access, instead of a fragile file.
- 24/7Access to account status, profit, and commissions from anywhere, in real time.