Domicium

Why a payment posts only once

Postings are keyed on the event that caused them, so a retried webhook or a repeated job cannot double-count.

4 min readProperty managersLandlords & owners

The mechanism

Every automatic posting names the thing that caused it: a payment, an invoice, a CAM billing period, an asset month. A unique index allows at most one journal entry per source event.

If the same event arrives again, the posting routine finds the existing entry and returns it without writing anything. The second attempt is a no-op rather than a second set of debits and credits.

What this protects you from

Payment gateways retry. Scheduled jobs get run twice. A support script gets pointed at yesterday's data. None of those produce duplicated income.

  • A retried payment webhook posts the rent once.
  • Re-running depreciation for a month that has already been charged posts nothing.
  • Re-billing a service-charge period that has already been billed posts nothing, and raising a duplicate period is refused outright.

The corollary worth knowing

Because the key is the source event, generating a second owner statement for the same property and period would be a second event and therefore a second accrual. A unique index prevents that: one statement per property per period.

The same logic applies to planned maintenance. A schedule and a due date together produce one work order, so running generation twice in a day creates nothing the second time.

Idempotency is per source event, not per amount. Two genuinely separate payments of the same amount on the same day both post, as they should.

Still stuck?

Email info@domicium.com or WhatsApp +233 54 012 8220. To report a listing or a person, use complaints in your dashboard.

All accounting & tax articles