Most Zimbabwean businesses live in two currencies. Prices are set in US dollars, some customers pay in ZiG, suppliers may want either, and at the end of the month somebody has to turn it all into one set of numbers that makes sense. When that happens in a spreadsheet, it is slow and error-prone, and it depends on one person remembering which rate they used on which day. This guide explains how a proper system handles it.
The problem with two currencies in a spreadsheet
The trouble is not the arithmetic. It is the history. A spreadsheet typically holds today’s rate in one cell, and every formula uses it. Change the cell tomorrow and last week’s invoices quietly change value too. Nobody can say afterwards exactly what a customer was charged in ZiG on a particular day, or why the month’s totals moved.
Add several people entering sales, a few different rates in circulation and mobile money payments arriving at odd hours, and reconciling the month becomes a job in itself.
Where the exchange rate comes from
The Reserve Bank of Zimbabwe publishes interbank exchange rates for the ZiG each business day, including bid, ask and average rates against the US dollar. In early October 2026, for example, the published USD/ZWG average was around 26.8 ZiG to the dollar. Many businesses use this published rate as their reference.
Which rate you should use, and whether you use the bid, ask or average, depends on your tax position, your contracts and how your accountant prepares your returns. That is a business decision, not a software one. What the software must do is apply whatever rule you choose consistently and record it.
Storing the rate with every transaction
This is the single most important design rule. Every quote, invoice, receipt and payment should store three things: the amount in the currency it was made in, the exchange rate that applied at that moment, and the source and date of that rate.
Once that is stored, nothing in the past can shift. An invoice issued in July shows exactly what it showed in July. Reports can convert everything into USD or ZiG using the rate recorded on each transaction, so totals are stable and explainable. If an auditor or a customer asks how a figure was reached, the answer is on the record.
The same rule applies to partial payments. If a customer pays a USD invoice partly in USD cash and partly in ZiG through EcoCash, each payment is stored separately with its own currency and rate, and the system works out what is still owed.
Rounding and price display
Converting $19.99 into ZiG rarely produces a tidy number. Decide once how prices are rounded when shown in ZiG, whether to the nearest whole ZiG, the nearest five or something else, and let the system apply it everywhere: on the website, on the invoice and at the till. Inconsistent rounding is one of the most common reasons customer and business disagree about what is owed.
Decide too whether prices shown in ZiG are fixed for the day or recalculated every time the rate is updated. Either can work; mixing them confuses customers.
Invoices, receipts and fiscalisation
If your business is VAT-registered, your invoicing has to fit ZIMRA’s fiscalisation rules. VAT-registered operators must issue fiscalised tax invoices through ZIMRA’s Fiscal Device Management System, and from June 2025 those invoices have had to include buyer details such as name, address and TIN where applicable (summary of the requirement).
A custom system can work alongside your fiscal device or certified solution, so that invoices raised in the system carry the right details and currency. The exact requirements for your business, including how currency is shown on fiscal invoices, should be confirmed with your accountant and ZIMRA before anything is built.
Reporting in one currency
Owners and accountants usually want one headline currency, typically USD, for management reports. Because every transaction carries its own rate, a well-built system can produce a sales report, a debtors list or a profit view in USD at the click of a button, while still showing the original ZiG amounts underneath for anyone who needs them.
It can also show where currency is costing you money: how much revenue arrived in each currency, how long ZiG balances were held before being spent or converted, and whether your ZiG prices are keeping up with the rate.
Common mistakes to avoid
Converting everything to one currency on entry. If a ZiG payment is stored only as its USD equivalent, you lose the record of what the customer actually paid. Store the original amount and currency, always.
Letting staff type the rate by hand on every sale. It invites typos and inconsistency. Set the rate centrally once a day and let everyone use the same one.
Ignoring the gap between quote and payment. A quote issued in ZiG on Monday and paid on Friday may be worth something different. Decide whether quotes are fixed in USD, fixed in ZiG, or valid for a set number of days, and print that rule on the quote.
Leaving reports until month end. When currency is tracked properly, a daily view of takings by currency costs nothing extra and catches mistakes while they are still easy to fix.
What this looks like in a custom system
In practice, the business sets its base currency and its rate rule once. Each morning the rate is fetched or entered and reviewed. Staff quote and invoice in whichever currency the customer prefers, payments are recorded in the currency they arrive in, and the system handles conversion, rounding, balances and reports. No one maintains a rate cell in a spreadsheet, and month end becomes a review rather than a reconstruction.
For payments, the same system can connect to Paynow so EcoCash, InnBucks and card payments update invoices automatically; our guide to taking Paynow and EcoCash payments explains how. And if dual currency is only one of several spreadsheets running your operation, our internal business systems page shows what replacing them looks like.
Questions we get asked
Which rate should we use?
Most businesses use the Reserve Bank of Zimbabwe's published interbank rate as their reference, but the right choice depends on your tax position and contracts. Agree the rule with your accountant, then let the system apply it consistently.
Can the system pull the rate automatically?
It can fetch the published rate each business day and store it, with a person able to review or override it. Whatever the source, the rate used for every transaction should be saved with that transaction.
Can customers pay in either currency through Paynow?
Paynow connects to the main local payment methods, but which currencies are enabled depends on your merchant account. Check with Paynow for your business, and see our guide to taking Paynow and EcoCash payments.