In parts of the Iranian market (jewellers, property, some contractors) a contract is written in gold: "10 mesghal of gold by year end". Most accounting software knows only one currency, though. The result is that a receivable in gold is converted to toman, and then, whenever the price of gold moves, the "balance" of that same invoice becomes a different number. The ledger isn't lying, but it isn't telling the truth either.
Keep the contract's unit
The principle is simple: a receivable in gold stays in gold. If the invoice is 10 mesghal and the customer has paid 3, 7 are left, whatever gold costs today. Converting to toman is only needed for reports and totals, not for the debt itself.
Three things to keep apart
- The invoice's unit. An invoice can be issued in any unit: toman, dollars, euros or mesghal of gold.
- The rate on the day of issue. For reporting, the invoice's toman equivalent is saved at that day's rate and doesn't change afterwards.
- Payments. The customer may pay in toman. It has to be clear how many mesghal of the receivable that payment settled on that day.
Why converting the payment matters
Say the receivable is 10 mesghal and the customer pays 20 million toman. If a mesghal cost 20 million toman that day, that's one mesghal. If next month it has risen to 25 million, the same 20 million is no longer one mesghal; it is 0.8. So each payment has to be converted to the receivable's unit at that day's rate and taken off the balance. If it isn't, the difference in rates is left hanging between the two parties.
What to look at in reports
You need two different views side by side: the balance in the contract's unit ("you're still owed 7 mesghal"), and its equivalent in the business's main currency at today's rate ("about 140 million toman"). The first is the truth of the contract and the second helps you plan.
Ricordax accepts an invoice in any unit, even mesghal of gold. The balance stays in the invoice's own unit and totals are shown in the business's main currency. Have a look at the business app.