How To Guides
There are more tips, tricks and how-tos in our forum.
Contents
- 1 Regenerate Historical Invoices
- 2 Update Domain Pricing
- 3 Change Tax Rate
- 4 Migrate Payment Gateways
- 5 Advanced Billing Scenarios
- 6 Switching Domain Registrars
- 7 Convert invoice amounts into a different currency
- 8 Credit a client for money received
- 9 Cancel and regenerate invoice
- 10 Skip an invoice
Regenerate Historical Invoices
When switching from a manual billing system or software for which an import script is not available, you may want to have a record of past invoices that you issued before you started using WHMCS.
For more information, see Regenerating Historical Invoices.
Update Domain Pricing
Occasionally, it may be necessary to update the price of existing domain names or products in your system (for example, in line with wholesale price increases). There may also be times where it is desirable to increase the price of specific domain addons (for example, if you wish to start charging for ID Protection after previously offering it for free).
For more information, see Bulk Pricing Updater Addon.
Change Tax Rate
Sometimes, governments change the sales tax rates. This is significant, since you must also update your rates accordingly.
For more information, see Changing Tax Rates on Existing Invoices.
Migrate Payment Gateways
Sometimes, you may want to stop using one payment gateway and switch to another. This is a general guide to the process:
- Enable the new payment gateway module under Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways. Configure it per our documentation.
- Deactivate the old module by clicking Deactivate on the Payment Gateways page.
- The system will prompt you to choose the payment gateway you wish to reassign all existing services and invoices to. Select the new payment gateway. For more information, see Deactivating Gateway Modules.
- Depending upon the type of payment gateway module you're switching to, there may be a third step:
- If you are switching between merchant gateways or third party gateway modules, there is no third step and you are finished.
- If you are switching to a merchant gateway for the first time, the client will need to log in and enter their card details to the "My Details" page in the client area. The system will charge the card when the next invoice is due.
- If you are switching between tokenisation modules, the client will need to log in and pay their first invoice manually, which will store their card details on your processor's servers. The system will attempt subsequent payments automatically. Regrettably, there isn't a way for the migration to be done without client's intervention because the system requires their CVV number for the first payment.
- If you are switching from a merchant gateway to a tokenization gateway, typically clients will need to manually pay their next invoice via the client area. If you store card details or a token for the client, you may wish to delete them via the "Credit Card Information" link on each client's summary page beforehand. There are some exceptions, though, and some payment gateways have card number migration paths:
- Stripe - If you are switching from a merchant or tokenization gateway to a third party gateway, clients will need to manually pay their next invoice via the client area. If you store card details or a token for the client, you may wish to delete them via the "Credit Card Information" link on each client's summary page beforehand.
Advanced Billing Scenarios
Watch the video tutorial for this feature
The above video tutorial shows and explains how to handle two advanced billing scenarios:
- Change a billing cycle from annual to monthly, with the added complication that the system has already generated an annual renewal invoice.
- Consolidate the renewal date of several services onto the same day on a single invoice in the future, even if the client has already renewed some services this month.
Switching Domain Registrars
Domain prices change frequently. If one finds a chosen registrar's price is no longer competitive, it may be desirable to transfer existing domains to a different registrar without the client's knowledge. WHMCS can make the process easier, saving the need to log in to both provider's control panels:
- Navigate to Clients > Domain Registrations and select the domain in question.
- Uncheck the Registrar Lock checkbox and click Save Changes.
- Click the Modify Contact Details button.
- Change the registrant email address to your own and click Save Changes.
- Return to the client's Domains tab and click the Get EPP Code button.
- Note the onscreen EPP Code.
- Select the new domain registrar from the Registrar dropdown menu.
- Click the Transfer Module Command button.
You should see a confirmation message stating the transfer initiated successfully. It is likely that the client's Domains tab will display an error message from the new registrar, but this will disappear once the transfer process is complete.
Note
Once the transfer process is complete, be sure to use the Modify Contact Details button to change the registrant email address back to the client's own address.
Convert invoice amounts into a different currency
It is possible that not every gateway you use will accept all the currencies you offer on your site. Many gateway modules support a Convert To For Processing option so WHMCS can transparently convert the payment amount into a different currency before sending the client to the payment gateway.
For example: Gateway A only operates in USD, but you have configured multi-currency in WHMCS, offering prices in USD, GBP and EUR. When a client places an order for 10GBP and chooses to pay via Gateway A, the system will automatically convert the amount to 15USD before the payment processes. The client is able to make payment via Gateway A where they otherwise would not be able to do so.
To configure this feature:
- Navigate to Configuration () > System Settings > Payment Gateways > Manage Existing Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways > Manage Existing Gateways.
- Under the payment gateway in question, locate the Convert to For Processing setting.
- From the menu, select your desired currency.
- Click Save Changes.
To continue the example from above, one would choose the USD currency from the Gateway A section. The system will send all payments to this gateway in the chosen currency, regardless of which currency the client selected on the order form.
Note
The Convert to For Processing option will appear once you configure a second currency.
Note
The system performs the currency conversion using the Base Conversion Rate in your WHMCS installation at the time of payment.
Credit a client for money received
When you receive money from a client, you should record it in WHMCS as a transaction. But if the payment is not for a specific invoice or the client has accidentally overpaid, the client's credit balance should be increased accordingly. Adding credits via the "Manage Credits" popup would not appear on the transaction record as they are not transactions.
To credit a client and create a transaction:
- Navigate to Billing > Transactions List > Add Transaction tab.
- Enter the details of the credit.
- Check the Credit checkbox.
- Click Add Transaction.
This will ensure your accounting records are accurate and the Account Statement report is balanced.
Cancel and regenerate invoice
Sometimes, you may wish to cancel an unpaid invoice and later need to regenerate an invoice covering the same time period for the service.
To cancel the original invoice:
- Navigate to Billing > Invoices.
- Click on the invoice in question.
- Click the "Marked Cancelled" button.
To regenerate the invoice for the same period:
- Navigate to Clients > Products/Services.
- Click on the service.
- Move the Next Due Date forward by one day. This will ensure the "next invoice date" value in the database resets to match the next due date when using Continuous Invoicing.
- Click Save Changes.
- Navigate to the Client Summary page.
- Click "Generate Due Invoices".
Skip an invoice
Occasionally you may wish to skip an invoice, giving the customer the invoiced period at no charge, but resume charging on the next due date.
If an unpaid invoice already exists:
- Navigate to Billing > Invoices.
- Click the invoice in question.
- Click the "Mark Cancelled" button.
You can now set the Next Due Date for when charging should resume:
- Navigate to the service that you wish to extend at no charge.
- Set the the Next Due Date.
- Click "Save Changes".
The system will create the next invoice on the new Next Due Date without charging for the period between the old next due date and the new next due date.