# Investigate a one-cent mismatch without editing the balance

Trace the original inputs, rounding policy and provider units before applying a correction. A manual balance change can conceal the defect and break later reversals.

By Cobnex editorial. Published 2026-09-10. Updated 2026-09-11.

## Identify the amounts being compared

Find the business transaction, its currency, policy version and exact stored value. Then locate the external request and settlement evidence. Confirm that the values describe the same stage of the transaction.

A quoted total, captured payment and net settlement may differ for valid reasons. Comparing them without their meaning can send the investigation toward rounding when the cause is a fee or partial payment.

Preserve the current evidence before changing anything. Screenshots are useful context, but exact stored values and provider references are needed to reproduce the calculation.

## Reconstruct the calculation in order

Retrieve quantities, rates, discounts and the approved rounding boundary. Recalculate using exact arithmetic in a controlled diagnostic path.

For example, three synthetic lines of 0.335 can total 1.02 when each is rounded first under a half-up rule, while the unrounded sum rounds to 1.01. If two systems use different sequences, the mismatch is a policy inconsistency rather than random numerical noise.

Check whether the database column or API adapter reduced precision before the intended boundary. A correct domain function cannot recover digits already removed during storage.

## Choose an authorised correction

Escalate the proposed financial correction to the responsible business role through the application's established workflow. Engineering should identify the mechanism and affected records, not silently rewrite settled history.

Use a linked adjustment or reversal where the domain requires it. Keep the original transaction evidence and explain why the correction exists.

If a provider scale conversion is wrong, stop the affected write path while assessing scope. Retrying the same malformed amount can multiply the impact without resolving it.

## Prevent the next occurrence

Add the smallest independent fixture that reproduces the defect and verify the corrected path across storage and external serialisation. Review other transactions using the same policy and adapter version.

Document whether the issue affects display only, recorded calculation or actual payment. That distinction determines the response and prevents a cosmetic discrepancy from being handled like an external charge, or the reverse.

Close the case only after the corrected records reconcile and the owner can explain the remaining differences.

## Sources

- [PostgreSQL: numeric types](https://www.postgresql.org/docs/17/datatype-numeric.html)
- [Stripe: currency and amount representation](https://docs.stripe.com/currencies)
