Skip to main content

Payment Receipts (Email / SMS / WhatsApp)

ECOSIRE Payment Receipts automatically sends a customer their receipt over Email, SMS, and/or WhatsApp the moment a customer Payment Entry (type Receive) is submitted — for example, when a tenant's rent payment or a construction client's progress payment is recorded. Every attempted send writes one Payment Receipt Log row (Sent / Failed, provider message id, redacted response).

The engine is fire-and-forget (a receipt failure can never block or roll back the payment), idempotent (a channel already marked Sent for a payment is skipped), and keeps secrets out of logs.

Channels activate with provider credentials

Email works through your ERPNext site's outgoing Email Account. SMS and WhatsApp only send once you supply the relevant provider credentials (an Africa's Talking SMS account, or a Meta WhatsApp Cloud API phone number + token). Enter them in Settings; a channel with no credentials simply stays inactive.

Before you start

  • Install ecosire_payment_receipts, ERPNext v16, and ecosire_license_client, and activate the ECOSIRE licence.
  • For SMS: an Africa's Talking username, API key, and Sender ID / short code.
  • For WhatsApp: a WhatsApp Cloud API Phone Number ID, access token, and (optionally) an approved template name + language.
  • Contact details on your Customers (email / mobile) so recipients can be resolved.

1. Configure Payment Receipt Settings

Open Payment Receipt Settings as System Manager:

  1. Tick Enable Payment Receipts.
  2. Optionally set Limit to Company to scope receipts to one company.
  3. Choose channels: Send Email Receipt, Send SMS Receipt, Send WhatsApp Receipt.
  4. Email — pick the From Email Account and the Receipt Print Format (attached as the PDF receipt).
  5. SMS (Africa's Talking) — set the environment, Sender ID / Short Code, Username, and API Key.
  6. WhatsApp (Cloud API) — set the Phone Number ID, Access Token, and template name/language if you use a template.
  7. Save. The app validates the licence on save; enter credentials only in these encrypted Password fields, never in notes or screenshots.

2. How it works day to day

You don't do anything extra:

  1. An accountant submits a customer Payment Entry (type Receive) — for instance, against a rent or progress invoice.
  2. A background job resolves the customer's contact, renders the receipt, and dispatches it on every enabled channel.
  3. One Payment Receipt Log row is written per channel attempt.

3. Review & resend

Open Payment Receipt Log to audit each send: Payment Entry, Customer, Channel, Recipient, Status (Sent / Failed), Provider Message ID, amount, receipt number, and any error (with a redacted provider response).

To re-send a specific channel for a payment, use the whitelisted resend action (System Manager / Accounts Manager only) — the safe operator override for a failed send.

Troubleshooting

SymptomCheck
No receipt sent at allEnable Payment Receipts off, licence inactive, or the payment isn't type Receive
Email sent but SMS/WhatsApp notThat channel's credentials are missing or the toggle is off
A channel shows FailedRead the log row's error + redacted response; fix the credential/template, then resend
Duplicate receiptCannot happen for a channel already marked Sent — resend is the explicit override