# Keep your own totals, fed by webhooks

[Choose a reporting strategy](https://devportal-simpay-sbx.winkpg.io/docs/decide/reporting-strategy.md): Whether to ask this platform for payment data on a schedule, or to have it sent to you as it happens, and what each one costs you to run.

Subscribe to the payment events, add each one to a figure you hold, and check that figure against the summary report.

**Your answers so far**

- What does your reporting need from each payment? A periodic total. Counts and amounts over a day, a week, or a month.
- How current do the totals have to be? Someone watches the number move through the day.

**What to build**

Register a webhook destination, subscribe to the transaction events, and accumulate the amounts as they arrive. Then reconcile against the merchant summary report on a schedule, because a running total assembled from a stream is the one number nothing else in your system can check.

**Worth knowing**

- Delivery is at least once. Record the event id you have already handled and ignore a repeat, because a retry after a slow acknowledgement is an ordinary event rather than a fault.
- Acknowledge within five seconds. Put the raw body on a queue and process it after you have answered, because slow handling is retried and a retry is a duplicate you then have to discard.
- Reconcile at least daily. A total that has drifted is still a number, and it keeps being displayed until something compares it with the report.

**Where to go next**

- [Quickstart: webhooks](https://devportal-simpay-sbx.winkpg.io/docs/guides/quickstart-webhooks.md)
- [Blueprint: receive and verify webhooks](https://devportal-simpay-sbx.winkpg.io/docs/blueprints/receive-and-verify-webhooks.md)
- [Merchant summary report, to reconcile against](https://devportal-simpay-sbx.winkpg.io/docs/api/transactionSummaryGetMerchantSummary.md)

- [Start over](https://devportal-simpay-sbx.winkpg.io/docs/decide/reporting-strategy.md): go back to the first question.

## See also

- [All documentation](https://devportal-simpay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
