Support · Troubleshooting

Amounts look wrong for JPY/KRW/etc.

JPY, KRW and around a dozen peers express amounts without minor units — an amount of 1000 means ¥1000, not ¥10.00. Dividing by 100 for display errs by 100×. Three-decimal outliers invert the trap.

The two currency families

Zero-decimal (JPY, KRW, VND, CLP and peers): amounts are whole units; there is nothing to divide. Three-decimal (BHD, JOD, KWD, OMR, TND): amounts carry three minor places, so naive two-decimal display truncates real money. Both families are handled explicitly in detector math and display.

How findings display

Findings quote minor units with the currency attached, and display formatting follows each currency’s rules rather than a global assumption. A ¥ finding reads as yen, never as hundredths of yen.

Verifying your own amounts

Compare a finding’s raw amount against the Stripe object’s amount field for the same currency — they should match exactly. If your own spreadsheets disagree with both, the spreadsheet is dividing where it should not.

Why this matters beyond display

A reconciliation script that mis-divides reports losses two orders of magnitude off — either an alarming false positive or a silently ignored real one. Currency-unit discipline is reconciliation correctness, not cosmetics.

Common questions

Which currencies are zero-decimal?

JPY, KRW, VND, CLP, ISK, XOF, XAF and peers — the authoritative list lives in Stripe’s currency documentation, and our handling follows it rather than a hard-coded snapshot.