An automation should show what ought to have happened and what actually happened. Reconciliation detects missing operations that success notifications cannot reveal.
Define the reference register
In a fictional workflow, each accepted proposal should create a delivery project. Preserve the relationship between proposal and project identifiers. A list of successful runs is insufficient: identify accepted proposals that never triggered a run at all.
| State | Treatment |
|---|---|
| Source without result | Investigate and replay using the same identity |
| Multiple results | Isolate duplicates and establish the correct state |
| Incomplete result | Resume the missing stage |
| Cancelled source | Apply an explicit business rule |
Make exceptions actionable
Provide an exception queue with ownership and a next action. Support should not need to read every technical log to find a missing project. Record recovery decisions and verify their outcomes; dismissing an alert does not necessarily repair the data.
How frequently should reconciliation run?
Match the schedule to business tolerance. Weekly preparation and immediate booking require different response times. Agree the acceptable delay, then choose checks and alerts accordingly. Reconciliation complements automatic retry logic by examining the final relationship between systems rather than assuming a successful execution produced the intended outcome.
Compare windows using the same convention
If the source and destination use different reporting time zones, a daily reconciliation can falsely report missing records around midnight. Compare stable identifiers and clearly defined windows. Recheck delayed work before asking an operator to recreate it.
From this guide to your project
Development ↗
A SaaS is a system: data, users, permissions, billing and operations. Its architecture should support the business model.
Tell us about your ideaExamples are educational and do not describe client results. Content prepared with AI assistance; see our editorial policy. Our method ↗