Finance · Accounting

Priced in dollars, paid in local currency: getting the ledger right

An agency does not work in one currency, and converting everything at today's rate silently rewrites the past. The fix is that every movement carries its own rate.

Published · 2 min read

A Hajj and Umrah agency handles money in three currencies at once: the package priced in dollars, the passenger paying in local currency, the Saudi supplier invoicing in riyals. Trying to hold all three in a single balance produces the most common — and hardest to spot — accounting error in the sector.

The wrong setup: one balance, today's rate

The common mistake is to convert every movement into one main currency and hold a single balance, using whatever rate applies at the time of viewing. The problem is that the rate moves.

A passenger paid against a 1,000 dollar debt in January. Look at the statement in March and, because the rate changed, that payment now corresponds to a different dollar amount. Nobody touched anything, but the balance shifted.

The right setup: the rate is written onto the movement

Every movement should carry its own currency and the rate that applied on the day. When the rate moves later, the past movement is not recalculated — because on that day the transaction genuinely happened at that rate.

Balances should also be kept per currency. "This passenger owes 200 dollars and 5,000 in local currency" is both more accurate and more useful than adding them into one number.

Where the rate should come from

A rate typed in by hand is a rate somebody forgets. Pulling the central bank rate automatically each business day matters for consistency and for audit.

Buying and selling rates should be held separately. Which one applies to a collection is the agency's own policy, but the system needs to know both.

Instalments and the exchange rate

If a debt priced in dollars is converted at the rate of each instalment day, the passenger pays a different amount every month. Unless that is explained clearly at the point of sale, it becomes the most frequent complaint an agency hears.

The alternative is to fix the instalments in local currency at the rate on the contract date. That leaves the exchange risk with the agency, and on long plans it can be a serious item.

The software's job is not to impose one of these but to support both — and to state clearly on the passenger's document which one applies.

A closed period should stay closed

Once an accounting period is closed, being able to change a record inside it destroys the reliability of the books. Corrections belong in a reversing entry, not in a retroactive edit.

And this cannot be solved by hiding a button on the screen: every route that writes into a closed period has to be shut, otherwise it leaks through a report or a bulk operation.

Related modules

  • Collections and accounting — Multi-currency ledgers, instalment plans, cash and bank, and per-tour profitability. Exchange rates freeze at entry.

Terms mentioned

  • Account ledger — The running debit and credit record of a pilgrim, agent or supplier.
  • Reconciliation — Two parties comparing their records of the same account and locating the difference.

Let's set it up together

Tell us how your tours, pricing and team are structured; we will show the demo on a setup that resembles your own data.