Everyone

Currencies

Add and manage billing currencies in Opterius Commerce, set exchange rates, and understand how amounts are stored.

Last updated 1776211200

Currencies

Admin → Settings → Currencies

Commerce supports multiple currencies. Each currency has its own symbol, formatting rules, and exchange rate relative to your default currency.


Adding a Currency

  1. Go to Admin → Settings → Currencies.
  2. Click Add Currency.
  3. Fill in the fields:
Field Description Example
Code ISO 4217 currency code USD, EUR, GBP
Name Human-readable name US Dollar
Symbol Short symbol $, , £
Prefix Symbol placed before the amount $
Suffix Symbol placed after the amount USD (optional)
Decimal Places Digits after the decimal point 2 (use 0 for JPY)
Exchange Rate Rate relative to your default currency 1.08 (1 EUR = 1.08 USD)
  1. Click Save.

[!TIP] Set the default currency exchange rate to 1.000 — it is the base all other rates are measured against.


Setting the Default Currency

  1. Open the currency you want as default.
  2. Toggle Set as Default.
  3. Save.

The default currency is used for:

  • New client registrations (they can change it on their profile)
  • Products and pricing display in the portal catalogue
  • Revenue totals in reports (all non-default currency amounts are converted using stored exchange rates for display)

How Clients Choose Their Currency

Clients pick their billing currency on their profile page in the portal (Account → Profile → Billing Currency). Once a client has an unpaid invoice, the currency on that invoice is locked regardless of later profile changes.

[!IMPORTANT] Changing a client's billing currency does not convert or reissue existing invoices. Only new invoices from that point forward use the updated currency.


How Amounts Are Stored

All monetary values in the database are stored as BIGINT cents (integer, smallest currency unit). A currency_code column accompanies every amount column.

invoice.total = 4999   →  $49.99 USD
invoice.total = 5000   →  £50.00 GBP

This approach eliminates floating-point rounding errors across invoicing, payments, and refunds.


Exchange Rates

Exchange rates in Commerce are manual — there is no automatic feed. Update rates periodically to keep multi-currency reports accurate.

[!WARNING] Exchange rates are only used for display conversion in reports. They do not affect what a client is charged. If a client's billing currency is EUR, they always pay in EUR at the EUR price you set on the product — not a converted USD price.


Removing a Currency

You can remove a currency only if no clients are currently assigned to it and there are no open invoices in that currency.

If existing paid invoices reference the currency, the currency cannot be fully deleted — it is soft-archived instead. Archived currencies:

  • No longer appear in client profile dropdowns
  • Still render correctly on historical invoice PDFs
  • Still appear in historical revenue reports