Diamond StoneDiamond StoneAll plans

Diamond Stone: US dollars and other currencies

Date: 2026-11-11. Revision 1. Screens in docs/ui-shell-mockup.html, section "US dollars and other currencies"; flow in docs/system-flows.html.

Many customers, most suppliers abroad and almost all sea freight deal in US dollars. Until now the plan said only "rials, with USD and AED" and one month-end entry. This document plans it through every module.

This is a plan, not accounting or tax advice. Section 11 lists what the accountant and tax adviser must confirm. Rates and bank practice here are from general knowledge and were not checked at a source today.


1. What was planned before, and what was missing

Was planned Was missing
The books are kept in rials, three decimals How a quote, order, invoice or bill is held in another currency
"USD and AED for export and imports" Which rate is used, when, who sets it, and what locks it
A month-end revaluation entry Receipts that arrive short after bank charges; payment in a different currency from the invoice
"Currencies and rates" as an undrawn screen Bank accounts and bank details per currency on documents
A Money field "with rate" How amounts in two currencies are shown without being confused or added together
The tax invoice shows VAT in rials Advances, landed cost, approval limits, credit limits, reports and the portal in more than one currency

2. The one fact that makes dollars simple here

The rial is pegged to the US dollar, at about 1 rial = 2.6008 dollars, or 0.3845 rials per dollar, and has been for decades. The UAE dirham is also pegged to the dollar. So for dollars and dirhams the rate does not move from day to day. What remains is small: the bank's margin between buying and selling, and transfer charges.

That lets the plan be simple for dollars without being wrong for anything else:

3. Rules

  1. Every amount carries its currency. There is no amount without one, anywhere in the data or on screen.
  2. A record stays in the currency it was made in: quote, order, proforma, invoice, receipt, supplier order, bill. The customer deals in one currency from first quote to last statement.
  3. The books are in rials. Each foreign amount is also stored in rials at the rate of its date, with that rate beside it.
  4. The rate is locked on the record. A later change of rate never changes a quote already sent or an invoice already issued.
  5. Amounts in different currencies are never added. A total across currencies is shown in rials and says so.
  6. The customer sees only their own currency. Staff see both.
  7. Each currency has its own number of decimals: rials three, dollars, dirhams and euros two. Held as data, so a currency with none or three can be added.
  8. Limits and floors are set in rials (approval limits, credit, margin floor) and compared after conversion, so a dollar deal cannot slip under a rial limit.

4. Three rates, and who owns each

Rate Used for Set by For dollars
Company rate Quotes, orders, bills, everyday conversion, the figure staff see beside a foreign amount The accountant; a change needs the owner One fixed rate. Proposed 0.3845
Tax rate The rial value of VAT on an invoice in another currency Read from the source the tax rules name (reported to be the Central Bank's rate; to confirm) The same in practice
Bank rate What the bank actually gave when money was converted Comes from the bank statement; never typed in advance Slightly worse than the peg

For a floating currency the company rate is fetched each morning from one source (to choose), or entered by the accountant if the source fails. A missing rate for a date stops the posting and asks; nothing is guessed. A sent quote in a floating currency raises a Halo ring if the rate has moved more than a set amount since it was sent.

5. Selling in dollars

Step What happens
The customer Has a currency on their record, set when they are created (rials by default; dollars proposed for any customer outside Oman). Changing it later affects new quotes only
Prices Held in rials. A dollar quote converts each price at the company rate and rounds to the cent. A separate dollar price list is possible later as a setting; with the peg it gains little
The quote Made in the customer's currency. Sales may switch it before sending. The rate is stored on it. Staff see the rial value and the margin in rials beneath
Changing currency after sending Not possible. A new version of the quote is made
Approval The owner sees the dollar amount as the customer will, and the rial value and margin. The limit is checked in rials
Proforma and invoice In dollars, with the dollar bank account's details (section 8). Amount in words in dollars. For a sale that carries VAT, the VAT is shown in rials with the rate used, as the tax rules require
The portal Everything in dollars. No rial figures
The advance Arrives in the dollar account and is recorded in dollars, and in rials at that day's rate
Credit limit Held in rials; the customer's open dollar balance is converted to compare
Statement In dollars

When the payment arrives

International transfers rarely arrive as the exact invoice amount.

What arrives What the system does
The exact amount Matches it
A little less, because banks along the way took fees If the shortfall is within the tolerance (proposed: 35 dollars or 0.5 %, whichever is less), it proposes: receipt for the amount received, the rest to bank charges, invoice paid. The accountant accepts. Above the tolerance, the balance stays open and the customer is told
A different currency (invoiced in dollars, paid in dirhams or rials) Matched at the bank's rate for that day; the difference goes to exchange differences
Dollars, but the company has no dollar account The bank converts on arrival. The receipt is recorded at the bank's rate and the difference from the invoice's rate goes to exchange differences
More than invoiced Held as the customer's credit in their currency

The default terms of sale say that all bank charges are the buyer's (docs/DOCUMENTS.md section 6). The tolerance exists because that clause is not worth enforcing for a few dollars.

6. Buying, freight and landed cost

Matter Rule
Supplier Has a currency, like a customer
Supplier order and bill In the supplier's currency, rate stored on each
Advance to a supplier Kept at the rate on the day it was paid. It is not revalued (it is a right to goods, not money owed)
Sea freight, port and line charges Usually quoted and billed in dollars; entered as such
Customs duty In rials, on the value customs works out at its own rate. That rate is entered from the customs declaration, not assumed
Landed cost Always in rials: stone at the rates it was actually paid or billed, plus freight, insurance, duty and clearing, shared across the slabs. The screen shows each part in its own currency and in rials
Back-to-back orders Often dollars on both sides. The margin is shown in dollars for the deal and in rials for the books
Paying a supplier From the dollar account where there is one. The payment run groups by currency and by account; whoever prepares still cannot release
Letters of credit In dollars. The documents are produced in the credit's currency with its exact wording

7. In the books

Under IFRS for SMEs (the section on foreign currency), as the accountant will confirm:

Event Treatment Entry
Any foreign invoice, bill, receipt or payment Recorded in rials at the rate on its date As the normal entry, in rials
An invoice settled at a different rate from the one it was booked at The difference is a gain or loss Dr or Cr Exchange differences (realised)
A short receipt within tolerance A cost Dr Bank charges ยท Cr Receivable
Month end: money owed to us or by us, and foreign bank balances Restated at the month-end rate Dr or Cr Exchange differences (unrealised)
Month end: stock, advances paid and received, fixed assets Not restated; they stay at their original rate None
Conversion rounding (two decimals against three) To a rounding account, in baisa Dr or Cr Rounding

For dollars and dirhams the month-end entry is close to nothing while the peg holds. It is still run, because the euro and others do move, and because an auditor expects the step.

Reports. Money owed to us and by us, by age, per currency and in rials. Cash by currency and account. Exchange differences for the period, realised and unrealised. A schedule of balances in foreign currency for the audit pack. Every management figure is in rials; tapping it shows the split by currency.

8. Bank accounts and bank details

9. How money is shown

Where Rule
Format 3,250.00 USD and 1,249.625 OMR: the figure, then the code, smaller and muted. Codes, not symbols: "$" is used by many currencies
A foreign amount, to staff The amount in its currency; beneath it, smaller, โ‰ˆ 1,249.625 OMR. In a tight list, the foreign amount alone with its code
A foreign amount, to the customer Their currency only
Telling them apart The code is always present. An amount not in rials also carries a small tinted currency mark, so 3,250 dollars is never read as 3,250 rials (a mistake of 2.6 times)
Totals and dashboards In rials. "Includes 3 in USD" opens the split
Entering money The Money field has the currency beside the amount, taken from the record. As the person types, the rial value shows beneath. Changing the rate by hand needs permission and a reason
Review before posting Both currencies and the rate are shown in full
The Omnibar's action Names the amount in the record's currency: "Approve 3,250.00 USD"
Search "3250 usd" answers with the rial value at the company rate
Arabic Western digits; the code stays in Latin letters; the amount is kept left to right
Amount in words on documents In the document's currency, in both languages

10. Module by module

Module Change
Customers, suppliers A currency on each. Default by country
Catalogue and prices Prices in rials; shown converted for a foreign-currency customer. A buffer per floating currency (none for dollars)
Quotes, orders Currency and rate on each; margin always worked out in rials
Approvals Both amounts shown; limits in rials
Portal The customer's currency throughout
Documents Currency, rate where tax needs it, matching bank details, amount in words. The commercial invoice and packing list for export in the sale's currency
E-invoicing (2027) The format carries the document currency, rials as the tax currency, and the rate. Already held
Purchasing and shipping Supplier currency; freight in dollars; landed cost in rials
Money Section 7; bank accounts per currency; payment runs per currency
Store (samples) Rials. A visitor abroad may be shown a dollar estimate; the charge is in rials. A setting
Website No prices, as before. Calculators that show a cost take the visitor's currency as an estimate only
HR Pay is in rials. A travel expense in another currency is claimed in that currency and converted at the receipt's or card's actual rate
Inbox and AI The document reader must find the currency on a bill and never assume rials; a bill with no readable currency is flagged. Drafted replies quote in the customer's currency
Halo A sent quote whose floating rate has moved; a receipt that arrived short; a missing rate. A figure shortcut may show a rate
Reports In rials, with the split

11. Settings

Under Control โ†’ Money โ†’ Currencies.

Setting Default
Currencies in use OMR, USD, AED. Others are added with their decimals
Company rate for each pegged currency USD 0.3845; AED from the two pegs. Each "in force from" a date
Rate source for floating currencies To choose; the accountant enters by hand until then
Who may change a rate; who approves Accountant; owner
Who may change a rate on one record, and the reason required Accountant only
Default currency for a new customer or supplier By country: rials in Oman, dollars elsewhere
Prices for foreign-currency customers Converted from rials; rounded to the cent
Buffer on floating currencies 2 %
Alert when a sent quote's rate has moved 1 %
Short-receipt tolerance The lesser of 35 USD and 0.5 %
Bank account for each currency, shown on documents Chosen once per currency
Month-end revaluation Automatic step in the close; the accountant reviews
Show the rial value to staff beside foreign amounts On
Store: show a dollar estimate to visitors abroad Off

12. For the accountant and tax adviser

  1. That the books are in rials, and the treatment in section 7.
  2. The rate to use for dollars: the peg figure, or the bank's.
  3. The rate source the tax rules require for VAT on a foreign-currency invoice, and how it must be printed.
  4. Revenue where an advance was received at one rate and the balance at another.
  5. Whether the month-end restatement is reversed the next day or carried.
  6. Which account takes short receipts: bank charges, or a discount.
  7. Landed cost: which rate values stone paid partly in advance and partly on the bill.
  8. The rate customs uses, and where it is recorded.

13. Decisions for the owner

  1. Which currencies at the start. Proposed: rials, dollars, dirhams; euros when the first supplier needs them.
  2. Whether there is, or will be, a dollar bank account. It decides whether dollar receipts are converted on arrival.
  3. Dollars by default for every customer outside Oman. Proposed: yes.
  4. The tolerance for short receipts. Proposed: 35 dollars or 0.5 %.
  5. Prices converted from rials, or a separate dollar price list. Proposed: converted.
  6. Whether customers in Oman may be quoted in dollars (project buyers sometimes ask). Proposed: yes, with VAT shown in rials.

14. Mistakes this guards against

Mistake Guard
A dollar figure read as rials, or the reverse The code on every amount; a currency mark on anything not in rials; both shown at review and approval
Adding dollars to rials in a total Refused by the rules library; totals are in rials
A rate changed and old quotes silently repriced The rate is locked on each record
A rate typed wrongly (0.3485 for 0.3845) A rate more than 1 % from the last one for a pegged pair is refused without the owner
A dollar invoice sent with the rial account's details Bank details follow the document's currency automatically
A short receipt left open for months over a few dollars The tolerance and a proposed entry
A deal approved under the rial limit because it was in dollars Limits compared in rials
A bill read by the document reader with the wrong currency The currency is a required, checked field; the supplier's usual currency is compared
The peg assumed forever Rates are data with dates; nothing in the code knows the number

Samples in dirhams and riyals (added 11 November 2026)

To be listed as products in the UAE and Saudi Arabia, samples would need prices in those currencies on their own addresses. This would change the default "samples in rials" above; it is a decision in docs/WEBSITE.md section 20.