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.
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.
Read next
- How the ledger worksEvery operational event posts into one double-entry ledger, and a batch that does not balance has no way in.
- Owner statements and management feesFees and owner payables accrue as the rent arrives, so a statement is a query rather than a spreadsheet.
- Bank reconciliation, budgets and fixed assetsImport a statement, match lines to ledger entries, compare budget to actual, and depreciate an asset register that posts.
- Correcting a posted entryPosted entries cannot be edited. You reverse the original with a reason, then post the correct one.
