Automated Payment Reconciliation¶
How JengaStack eliminates manual bank reconciliation by matching M-Pesa receipts directly to Odoo accounting journals.
Matching Rules¶
When an IPN confirmation callback arrives from Safaricom:
1. Invoice Number Match: If the customer entered the invoice reference (e.g. INV/2026/0042) in the account field, Odoo immediately matches and marks the invoice as PAID.
2. Phone Number + Amount Match: If the payment originates from the customer's registered phone number for the exact invoice balance, Odoo creates the payment journal entry automatically.
3. Unmatched Payments: If a customer pays without an invoice reference, the payment is posted to an Unallocated M-Pesa Receipts suspense account. An alert appears on the POS screen allowing cashier allocation with one click.