Skip to content

Somali Shilling (SOS): 2 decimal places

Somali Shilling (SOS) has 2 decimal places: one SOS is 100 minor units, and amounts are stored as integers of those. Intl.NumberFormat reports 0 — the display precision, not the ISO 4217 storage exponent.
ISO 4217 exponent
2
Minor units per unit
100
Intl display digits
0
Symbol (en-US)
SOS

Intl gets this one wrong for storage

Intl.NumberFormat resolves SOS to 0 fraction digits — CLDR’s display precision. The ISO 4217 exponent banks and processors store SOS at is 2. Read the integer 123456 at Intl’s digits and it shows as 123,456; at the storage exponent it is 1,234.56. The library corrects this in one table, so every component formats SOS at 2 decimal places.

SOS in a statement

The same integer in every state a statement can be in. Null is not zero: unknown renders as a dash, never as a zero amount.

ValueStored (minor units)StatementMoney component
Positive1234561,234.561,234 Somali Shilling and 56 minor units
Negative-123456(1,234.56)negative 1,234 Somali Shilling and 56 minor units
Zero00.000 Somali Shilling
Unknown (null)null—not available

Typing SOS

What a person types, and the integer it is stored as at SOS's exponent. Rounded once, at the end.

TypedStored as
1,234.56123456
(1,234.56)-123456
1.2k120000
=1200+340*2188000

Split without losing a minor unit

100.00 SOS split three ways. Rounding each third leaves a remainder; largest-remainder allocation hands it out one minor unit at a time, so the parts always sum to the whole.

  • 33.34
  • 33.33
  • 33.33
  • = 100.00

On a check

One thousand two hundred thirty-four SOS and 56/100 only

The fraction is over 100 because SOS has 2 decimal places. Write any amount in words.

SOS in React

The component reads the exponent from the currency code; you pass the integer and the code, never a float and never a decimal count.

tsx
import { Money } from "@/components/ledger/money";

// 1,234.56 SOS, stored as the integer 123456
<Money accounting value={{ amount: 123456, currency: "SOS" }} />

Also stored at 2 decimal places

Work with it

Tools that read SOS at its own exponent.

Works in your QuickBooks Online or Xero file

Get your books closed every month

Lopifi is building AI bookkeeping that keeps your books closed on US GAAP as transactions happen, with a CPA review every quarter, for $200 a month. We’re not open yet.

$200/month when we open. No card now.