Shops here price in dinars, buy in dollars, and watch the exchange rate move under both. Many systems handle this with a single rate field: change it, and every price, balance, and report recalculates. That feels convenient until you open last quarter's profit report and find it has changed since you last looked.
Store the rate with the transaction
Orbit POS keeps a history of exchange rates with the date each one took effect. Every sale, purchase, and payment uses the rate that was effective on its own date — and keeps it. A June invoice reads the same in dollars next year as it did in June.
Reports and customer ledgers convert each row at its own rate, so totals in both currencies stay stable no matter what the rate does today.
Cost what you actually paid
The same principle applies to profit. With FIFO costing, each sold item is matched to the purchase batch it came from — including that batch's share of shipping — so margins reflect what the goods really cost, at the rate you really paid.
A quick test for your current system
- Change the exchange rate, then rerun last month's sales report. Did the totals move?
- Can a customer's balance be shown in both currencies with the history intact?
- Does profit use the cost of the actual purchase batch, or an average that hides it?