For controllers
The controller’s month-end Stripe reconciliation, fixed
Every month-end, the Stripe balance disagrees with the ledger by some amount, and every month someone re-derives why. Usually the delta decomposes into four recurring causes — each mechanically simple, each generating a different journal entry, each currently consuming analyst hours that repeat forever because nothing upstream classified them. Fixing close means naming these causes once, mapping journals to each, and letting instrumentation do the monthly re-derivation.
Cause one: unreversed transfers → receivable
Refunds issued without reversals strand seller-side transfers. Journal treatment: debit a receivable-from-sellers account, credit the refund expense line, with charge-level detail attached. When recovery executes later, reverse the receivable against cash received — or write it down honestly when payout windows close without volume.
Cause two: kept fees → revenue adjustment
Application fees retained on refunded revenue inflate recognised take. Depending on policy, either book a contra-revenue adjustment acknowledging fees owed back under terms, or document deliberately keeping them — the accounting sin is neither choice but inconsistency between months, discovered during audit sampling.
Cause three: uncovered disputes → loss plus recoverable
Lost disputes debit gross; the recoverable portion (transfer remainder) is a receivable; the dispute fee plus any unrecoverable remainder is loss. Splitting the entry correctly matters because lumping everything into loss overstates expenses while hiding collectible assets — the kind of misstatement examiners enjoy finding.
- Dr Dispute loss (fee + shortfall)
- $75.00
- Dr Recoverable from sellers
- $540.00
- Cr Platform balance
- $615.00
Cause four: FX conversion drag → FX line, not "other"
Cross-border conversions produce small persistent deltas that land in suspense accounts labelled other. Attributing them to an FX line by measuring realised rates against baselines turns mystery into category — and categories negotiate, mysteries just accumulate.
The tolerance rule that kills phantom deltas
Multi-partial rounding legitimately diverges by one or two minor units per charge. Without tolerance, reconciliation chases ghosts forever; with a two-unit threshold, remaining deltas are signal rather than noise. This single convention eliminates most "unexplained" variance lines on its own.
What FeeGuard does about it
Findings arrive pre-classified by cause with evidence ids attached; CSV export maps directly onto the journal structure above; recovery status updates flow back so receivables age truthfully instead of optimistically. Close keeps happening — it just stops containing mysteries.
Common questions
Can I export findings straight into my ERP?
CSV export matches the columns above today; direct ERP connectors sit on the roadmap without promised dates. The import path is deliberately boring on purpose.
Will this survive external audit?
The append-only trail plus evidence-per-finding is designed for examination. Scope decisions remain yours and your auditor’s.
We already reconcile at close. Why change?
Because close-time discovery converts recoveries into write-offs — payout windows close while analysts sleep. Same rigour, moved upstream, better outcomes.