Aglet

What to learn from a checkout currency rounding checklist

The lasting lesson from currency mismatch is an amount contract that keeps numeric value, currency code, precision, rate context, and formatted display together. Preserve fixtures for the smallest rounding and preference cases so future pricing or checkout changes cannot hide a currency switch.

Keep the lesson for the next incident

  1. Write the amount contract

    Define the authoritative currency, minor-unit precision, conversion point, rounding rule, and surfaces that must agree. State how a missing or stale rate is shown. Include an ISO code wherever a symbol alone could be ambiguous.

  2. Keep locale fixtures

    Save fixed cart fixtures for passing, ambiguous-symbol, changed-preference, fractional-precision, and conversion-unavailable cases. Assert numbers and codes together. Link the fixtures to the work record without retaining personal payment or location data.

  3. Define recurrence signals

    Reopen review when payment or order currency differs from review, formatted and numeric values diverge, or a preference change leaves stale output. State currency and locale coverage limits and assign ownership for new precision cases.

What to carry forward

Close learning with the amount contract, preference fixtures, and recurrence triggers that compare numeric and currency-code values. Keep conversion and locale limits visible so a passing domestic fixture does not imply global correctness for future changes.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow