plinth
Finance2026-09-18 · 2 min read

Housing Society Payment Reconciliation Controls

P
Plinth
Plinth

Housing society payment reconciliation controls

Housing society payment reconciliation is the chain that proves a resident payment belongs to one invoice, changed the outstanding balance once, and produced the matching accounting entry. A robust flow binds the amount before checkout, accepts only a signed provider result, and makes retries safe instead of relying on screenshots or narration text.

Start with a bill-linked intent

When a resident chooses Pay dues, Plinth creates a payment intent from the invoice's current outstanding amount. The intent carries society, flat, payer, invoice, gateway, and idempotency data. The Cashfree order ID is the same intent ID, preserving identity through the provider round trip.

Settle once even when callbacks repeat

Payment providers retry webhooks. Plinth's settlement primitive is idempotent on the gateway payment ID and locks the invoice while applying payment. A replay cannot credit the bill twice. Any amount above the remaining balance is handled by the database payment contract rather than trusted from the browser.

Keep the invoice and ledger together

Successful settlement updates the payment intent and invoice, writes the payment record, and posts the accounting effect through the same server-side path. If that transaction fails, Cashfree receives a server error so it can retry; a half-applied client sequence is avoided.

Separate payment confirmation from bank settlement

Resident payment success confirms collection against the bill. Bank settlement is a later Cashfree Easy Split event carrying UTR, charges, tax, and settlement outcome. Committees should distinguish these stages in reports. Detailed settlement reconciliation belongs in the settlement ledger rather than being guessed from the initial payment callback.

Reconcile offline exceptions deliberately

Cheque and direct transfer remain possible. Record them with method, reference, amount, and receipt date against the bill. Never edit an online payment to imitate an offline correction; use a documented reversal or adjustment path.

Frequently asked questions

Why can a paid bill precede the bank UTR? Payment confirmation and bank settlement are different provider events.

What prevents a duplicate webhook from double-crediting? Unique gateway references, row locking, and idempotent settlement logic.

Should a treasurer rely on a resident screenshot? No. It can support investigation, but the signed provider event and bank records are authoritative.


Read Cashfree Easy Split for societies and online payment troubleshooting.

Get Plinth in your inbox

Monthly digest of governance tips and product updates.