Requirements
Installation
- Download the module zip and extract it.
- Upload the
modules/addons/ruach_smsfolder to<your WHMCS>/modules/addons/. - In WHMCS admin, go to System Settings → Addon Modules.
- Find Ruach SMS for WHMCS and click Activate. This creates the module’s database tables and default templates.
- Click Configure, fill in the settings below, and under Access Control tick the admin roles that may open the module.
- Save. The module is now under Addons → Ruach SMS for WHMCS.
The module starts in dry-run mode. It logs every message it would send but sends nothing until you turn dry run off.
Settings
Events
Messages outside sending hours are queued and sent when the hours open. Queued messages older than 2 days expire instead of being sent late.
Templates
Edit messages under Addons → Ruach SMS for WHMCS → Templates. Each event can be switched on or off. Clear a template and save it to restore the default.Placeholders
Available in every template:
Event-specific:
Message length
One SMS holds 160 standard characters, and longer messages are split into 153-character parts. Any character outside the GSM alphabet, such as₦ or an emoji, switches the whole message to Unicode, which holds only 70 characters per part. Use currency codes (NGN) rather than symbols. The editor shows the character and part count as you type. Placeholders are filled in when the message is sent, so the final length varies.
Message log
Addons → Ruach SMS for WHMCS → Message log lists every message, newest first, with the client, phone number, text and the gateway response. The tiles at the top count the last 30 days. Click a tile to filter the log.
Every successful send, and every message reported as undelivered, is also written to the WHMCS Activity Log and the client’s log.
Delivery reports
The cron checks the delivery status of each sent message every 10 minutes for up to 3 days. Click Check on a message to look it up straight away.Credit balance
Your credit balance appears on the Message log page. It is refreshed every 10 minutes, or straight away when you click Refresh. When you set a Low credit alert, a red banner appears below that level and your admins get an email at most once a day.Opt-outs
Add a client ID under Opt-outs to stop all SMS to that client. Remove it to resume. Clients with the status Closed are never texted.Phone numbers
The module converts numbers to international format using the client’s country:
Numbers that can’t be resolved are logged as Skipped. To make numbers consistent, turn on WHMCS’s international phone number formatting under System Settings → General Settings → Other.
Testing before you go live
- Under Send test, send an SMS to your own number. This works in dry-run mode.
- Create a test client with your mobile number and country.
- With dry run on, trigger events and check that a Dry run row appears in the Message log for each:
- Invoice created: create an invoice and publish it.
- Payment received: use Add Payment on that invoice.
- Expiry reminders: set a service’s next due date 7 days ahead, then click Generate Due Invoices. The reminder appears at the next cron run within sending hours.
- When the log looks right, turn Dry run off.
Troubleshooting
Deactivating and uninstalling
Deactivating stops all messages. Your data is kept unless Delete data on deactivate is on. To uninstall completely, turn that option on, deactivate the module, then delete themodules/addons/ruach_sms folder.

