Personal tools
Namespaces

Variants
Actions

Advanced Billing For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(About Advanced Billing For WHMCS)
 
(292 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<meta name="keywords" content="advanced billing for whmcs, advanced billing configuration, advanced billing management, advanced billing installation, advanced billing guide, modulesgarden advanced billing, advanced billing wiki, advanced billing tutorial, advanced billing tips, whmcs billing module wiki, advanced billing common problems, about advanced billing, advanced billing documentation, advanced billing  faq, advanced billing help"></meta>
+
<meta name="keywords" content="advanced billing for whmcs, advanced billing configuration, advanced billing management, advanced billing installation, advanced billing guide, modulesgarden advanced billing, advanced billing wiki, advanced billing tutorial, advanced billing tips, whmcs billing module wiki, advanced billing common problems, about advanced billing, advanced billing documentation, advanced billing  faq, advanced billing help"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Advanced Billing For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Advanced Billing For WHMCS Module."></meta>
  
=About [http://www.modulesgarden.com/products/whmcs/advanced_billing/features Advanced Billing For WHMCS]=
+
=About [https://www.modulesgarden.com/products/whmcs/advanced-billing Advanced Billing For WHMCS]=
<h4 style="color: #ff0000; font-weight:bold; text-align:center;">Article update is ongoing on this page, watch out for broken links and unclear descriptions!<br />
+
We are sorry for the inconvenience caused.</h4>
+
 
{|
 
{|
|style="padding: 10px 0px 10px 0px;"|'''Advanced Billing For WHMCS''' is a module that allows you to set up additional billing options for your products like disk usage or number of email accounts basing on server resource usage.<br />
+
|style="padding: 10px 0px 10px 0px;"|'''Advanced Billing For WHMCS enables you to implement flexible billing models based on the actual usage of resources such as bandwidth, CPU, and other server capabilities.<br />
In other words, our product will let you charge customers on the grounds of the resources used by them. What is more, it offers hourly billing, ticket billing and credit billing.<br />
+
This module supports multiple currencies and offers various billing options, including hourly billing, credit billing, and recurring billing.<br/> It automatically generates invoices according to your preferred settings and at customizable intervals, sending them directly to your customers.<br/>
The module will also automatically generate invoices on the basis of the data gathered by the synchronization.
+
Additionally, clients can set up email reminders to notify them when they reach or exceed specified resource usage limits.<br/>
 +
 
 +
Advanced Billing For WHMCS is compatible with many popular modules, including cPanel, Plesk, and SolusVM, as well as a variety of ModulesGarden products.<br/>
 +
 
 +
The Wiki page for '''Advanced Billing For WHMCS 3.x''' can be found [https://www.docs.modulesgarden.com/Advanced_Billing_3.X_For_WHMCS here].<br/>
 
|}
 
|}
<!--Comment-->
 
 
*'''Core Features:'''
 
*'''Core Features:'''
 
{|
 
{|
Line 16: Line 17:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Ticket Billing
+
|style="padding: 0px 0px 0px 30px;"|✔ Specific Resources Billing For Integrated WHMCS Modules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Configuration Per Product
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure And Manage Individual Product Billing
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manage Extensions And Configure Them Per Product
+
|style="padding: 0px 0px 0px 30px;"|✔ View Billing Calculated Per:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Current List Of Billable Items For Next Invoices
+
|style="padding: 0px 0px 0px 45px;"|✔ Single Service
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Resources Usage History Of Any Item
+
|style="padding: 0px 0px 0px 45px;"|✔ Cloud-Based Service Item - [https://www.modulesgarden.com/products/whmcs/proxmox-ve-cloud-vps Proxmox VE Cloud VPS For WHMCS], [https://www.modulesgarden.com/products/whmcs/solusvm-2-vps-and-cloud SolusVM 2 VPS & Cloud For WHMCS]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View List Of Current And Archived Billable Items For Next Invoices
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ View Item Resource Usage History
 
|}
 
|}
 
{|
 
{|
Line 34: Line 41:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Logs
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Summary Calculation Method
 
|}
 
|}
*''''Recurring Billing' Extension Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Bill On Terminate Account
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Time Period Between Resource Usage Checks
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Bill When Invoice Is Generated For Hosting
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Multithreaded Cron Job Settings
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Bill Each X Day Of Month
+
|style="padding: 0px 0px 0px 30px;"|✔ Set Clearance Automation For Item Archive
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Bill Each X Days
+
|style="padding: 0px 0px 0px 30px;"|✔ Customize Module Language Files With "Translations" Tool
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Generate An Invoice
+
|style="padding: 0px 0px 0px 30px;"|✔ Control Staff Access Level To Specific Resources With ACL
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View And Manage Logs
 +
|}
 +
 
 +
*''''Credit Billing' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Generate Invoice Every X Days
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Minimum Amount Of Credits To Charge
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Notify Clients Via Email About Low Credit Amount On Their Account
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Suspend Account When Client Is Out Of Credits - With Override Support
 
|}
 
|}
 
{|
 
{|
Line 56: Line 79:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Automatically Apply Credits
+
|style="padding: 0px 0px 0px 30px;"|✔ List Summary Credit Billing Charges Of Any Hosting
 
|}
 
|}
*''''Credit Billing' Extension Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Generate Invoice Each X Days
+
|style="padding: 0px 0px 0px 30px;"|✔ Refund Credit Payment To Client
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define Minimal Amount Of Credit To Charge
+
|style="padding: 0px 0px 10px 30px;"|✔ Use Client Credits To Pay Invoices
 
|}
 
|}
 +
*''''Fixed Pricing' Configuration:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Sent Email When Client's Credit Balance Falls Below Defined Credit Amount
+
|style="padding: 10px 0px 0px 30px;"|✔ Bill Clients With Fixed Amount For Active Service Usage After X Hours
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Number Of Hours For Service To Be Active
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Apply Credits If Available In Client Balance
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Add Tax To Generated Invoices
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Invoice Payment Due Date
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Define Fixed Payment Amounts In Available Currencies
 +
|}
 +
*''''Prepaid Billing' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Enable Clients To Top Up Account With Credits Available For Hosting
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Minimum Amount Of Credits To Top Up Account
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Generate Billing Overview Every X Days
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Access Billing Overview Of Credit Usage By Client
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Notify Clients Via Email About Low Credit Amount On Their Account
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Suspend Account When Client Is Out Of Credits
 
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Suspend Account When Client Is Out Of Credits
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Refill Client Credit Balance With Their WHMCS Credits
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Define Invoice Payment Due Date When Topping Up Account
 +
|}
 +
*''''Recurring Billing' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Bill On Account Termination
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Bill When Invoice Is Generated For Hosting
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Bill On Specific Day Of Month
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Bill Every X Days
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Minimum Billing Amount
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Generate Invoice
 
|}
 
|}
 
{|
 
{|
Line 75: Line 154:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ List Summary Credit Billing Charges Of Any Hosting
+
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Apply Credits
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Refund Credit Payment To Client
+
|style="padding: 0px 0px 0px 30px;"|✔ Display Advanced Billing Information
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Refill Client's Credit Balance Using Their Credit Card
+
|style="padding: 0px 0px 10px 30px;"|✔ Apply Discounts To Client Groups
 
|}
 
|}
 +
*''''Notifications' Configuration:'''
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Client Can Enable/Disable Auto Refilling And Define A Single Refill Amount
+
|style="padding: 10px 0px 0px 30px;"|✔ Allow Clients To Create Multiple Resource Usage Reminders:
 
|}
 
|}
*''''Resource Usage' Extension Features:'''
+
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Frequency Of Resource Checks
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Frequency Of Notifications
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Resource Usage Limits
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Define Maximum Number Of Reminders That Clients May Create
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Send Email Reminders To Clients Once Limit Is Reached Or Exceeded
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Choose Reminder Email Template
 +
|}
 +
*''''Usage Records' Configuration:'''
 
{|
 
{|
 
|style="padding: 10px 0px 0px 30px;"|✔ Define Period For Counted Resource Usage
 
|style="padding: 10px 0px 0px 30px;"|✔ Define Period For Counted Resource Usage
Line 94: Line 192:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Show History Of Resource Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ Show History Of Resource Usage
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Display Usage Records Pricing
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ Show Usage Details Per Subitem
 +
|}
 +
 +
*''''Free Limit' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 10px 30px;"|✔ Use Product Configurable Options To Define Maximum Amount Of Usage Records That Will Not Be Charged
 +
|}
 +
*''''Graphs' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ View Graphs In Admin And Client Area
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Generate Time Graphs Of Chosen Resource Usage
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Show Data For Selected Time Period
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View Disk Storage Used To Archive Data
 +
|}
 +
*''''Product Auto Upgrade' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Live Upgrade/Downgrade Of Products Along With Their Configurable Options Depending On Used Resources
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Admin Area:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Product Auto Upgrade Groups
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Enable/Disable Product Auto Upgrade Groups
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Create Product Auto Upgrade Options
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Assign Product To Option - Configurable Options Support
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Options Upgrade/Downgrade Rules
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Set Up Minimum Upgrade/Downgrade Interval
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Enable/Disable Any Product Auto Upgrade Option
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Drag & Drop To Reorder Options
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Define Client Area Features
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ View List Of Hosting Accounts Altered By Product Auto Upgrade
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Access Product Auto Upgrade History Of Any Hosting
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Client Area:
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Enable/Disable Product Auto Upgrade And Product Auto Upgrade Options
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Manage Product Auto Upgrade Option Rules
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Set Up Minimum Upgrade/Downgrade Interval
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ View Product Auto Upgrade History Per Product
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 45px;"|✔ Set Up Notifications Rules
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 45px;"|✔ Define Minimum Notification Interval
 +
|}
 +
*'''Service Cancellation' Configuration:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Allow Clients To Instantly Terminate Their Services, Stop Billing And Issue Applicable Refund
 +
|}
 +
 
*'''Supported Modules:'''
 
*'''Supported Modules:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/autoscaling/features Autoscaling] Stand-Alone Extension - Automatically Adjust Your Clients' Products Depending On Usage
+
|style="padding: 10px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/cpanel-extended cPanel Extended] & cPanel Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ cPanel & [http://www.modulesgarden.com/products/whmcs/cpanel_extended/features cPanel Extended] Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets DigitalOcean Droplets] Integration: Hourly, Memory, Disk, Backups, Volumes, vCPUs, Size, Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Parallels Plesk Panel & [http://www.modulesgarden.com/products/whmcs/parallels_plesk_panel_extended/features Parallels Plesk Panel Extended] Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/directadmin-extended DirectAdmin Extended] & DirectAdmin Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ DirectAdmin & [http://www.modulesgarden.com/products/whmcs/directadmin_extended/features DirectAdmin Extended] Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/easydcim-dedicated-servers EasyDCIM Dedicated Servers] Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile IN/OUT/TOTAL Bandwidth Overages
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/parallels_cloud_server/features Parallels Cloud Server] Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/easydcim-colocation EasyDCIM Colocation] Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile Bandwidth IN/OUT/TOTAL Overages, Power Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ SolusVM & [http://www.modulesgarden.com/products/whmcs/solusvm_extended_vps/features SolusVM Extended VPS] Integration: Hourly, Disk Usage, Bandwidth, Memory Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/hetzner-cloud-servers Hetzner Cloud Servers] Integration: Backups, CPU Usage, CPUs, Disk, Disk Bandwidth Read, Disk Bandwidth Write, Disk IOPS Read, Disk IOPS Write, Floating IP Addresses, Hourly, Ingoing Traffic, Memory, Network Bandwidth In, Network Bandwidth Out,<br/> Network PPS In, Network PPS Out, Outgoing Traffic, Snapshots, Volumes
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/solusvm_extended_cloud/features SolusVM Extended Cloud] Integration: Available Disk Size, Disk Usage, Available Bandwidth, Available Memory, Cores, IP Addresses, Disk Usage, Bandwidth Used, Memory Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/openstack-projects OpenStack Projects] Integration (V1.9.0 And Higher): CPU Time, Disk Device Read Bandwidth, Disk Device Read Requests, Disk Device Write Bandwidth, Disk Device Write Requests, (Custom) Floating IPs, Image Size, (Custom) IP Addresses, Load Balancers, Memory,<br/> Memory Usage, (Custom) Network Incoming Bytes Bandwidth, (Custom) Network Incoming Packets, (Custom) Network Outgoing Bytes Bandwidth, (Custom) Network Outgoing Packets, OS Images, Snapshot Size, Storage Volumes, VCPU Cores, Volume Size
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/proxmox_vps/features Proxmox VPS] Integration: Hourly, Disk Usage, Bandwidth IN, Bandwidth OUT, Memory Usage, Backups Usage, CPU Number, CPU Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/openstack-vps-and-cloud OpenStack VPS & Cloud] Integration: Hourly, vCPU Cores, Memory Usage, CPU Utilization, Incoming Bandwidth, Outgoing Bandwidth, Disk Root Used, Disk I/O Read, Disk I/O Write, Floating IP Address, Fixed IP Address, Backups Number, Load Balancers
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/proxmox_cloud/features Proxmox Cloud] Integration: Disk Usage, Disk Size, Bandwidth IN, Bandwidth OUT, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/plesk-extended Plesk Extended] & Plesk Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/openstack_vps/features OpenStack VPS] Integration: Hourly, VCPU Cores, Memory Usage, CPU Utilization, Incoming Bandwidth, Outgoing Bandwidth, Disk Root Used, Disk I/O Read, Disk I/O Write, Floating IP, Fixed IP, Backups Number
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-ve-cloud-vps Proxmox VE Cloud VPS] Integration: Disk Usage (LXC), Disk Size, Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage, CPU Cores Usage, Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/rackspace_email/features Rackspace Email] & [http://www.modulesgarden.com/products/whmcs/rackspace_email_extended/features Rackspace Email Extended] Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud Proxmox VE VPS & Cloud] Integration: Hourly, Disk Usage (LXC), Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Backups Usage, CPU Number, CPU Usage, CPU Cores Usage, Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/zimbra_email/features Zimbra Email] Integration: Hourly, Mailboxes, Aliases, Storage
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/rackspace-email-extended Rackspace Email Extended] Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/solusvm-extended-cloud SolusVM Extended Cloud] Integration: Available Disk Size, Disk Usage, Available Bandwidth, Available Memory, Cores, IP Addresses, Disk Usage, Memory Usage (except KVM virtualization), Bandwidth Used
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/solusvm-extended-vps SolusVM Extended VPS] & SolusVM Integration: Hourly, Disk Usage, Available Disk Size, Memory Usage (except KVM virtualization), Available Memory, Bandwidth Used, Bandwidth Total, CPU Number, Swap-Burst, IPv4, IPv6, Internal IP Addresses
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/solusvm-2-vps-and-cloud SolusVM 2 VPS & Cloud] & SolusVM 2.0 Integration: Backups, CPU Units, Disk, Hourly, Images, IPv4, IPv6, Memory Usage
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Virtualizor Integration: Bandwidth Usage, CPU Units, CPU Cores, CPU Usage, Disk Size, Disk Usage, RAM Size, RAM Usage, Network Speed IN, Network Speed OUT, I/O Disk Read, I/O Disk Write, IPv4 Addresses, IPv6 Addresses
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/virtuozzo-hybrid-infrastructure-s3 Virtuozzo Hybrid Infrastructure S3] Integration: OPS Other, OPS GET, OPS PUT, OPS LIST, OPS Total and Uploaded, Downloaded, Storage
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/virtuozzo-hybrid-server Virtuozzo Hybrid Server] Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/zimbra-and-carbonio-email Zimbra & Carbonio Email] Integration: Hourly, Mailboxes, Email Aliases, Domain Aliases, Storage
 
|}
 
|}
 
*'''General Info:'''
 
*'''General Info:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 10px 0px 0px 30px;"|✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, [https://www.modulesgarden.com/products/whmcs/cpanel-extended#features cPanel Extended], DirectAdmin & [https://www.modulesgarden.com/products/whmcs/directadmin-extended#features DirectAdmin Extended]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Fast Billing Calculation Via Multithreading Cron Jobs
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Currency Support
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support With Custom Translations Tool
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.3 Back To PHP 8.1
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One"
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.13 Back To WHMCS V8.9
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V14 Or Later
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V5 and Later
+
|style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/advanced-billing#open-source-version Open Source Version]
 
|}
 
|}
  
 
=Installation=
 
=Installation=
 
{|
 
{|
|style="padding: 10px 0px 0px 0px;"|'''In this tutorial we will show you how to successfully install and manage Advanced Billing For WHMCS.'''<br />
+
|style="padding: 10px 0px 0px 0px;"|'''In this tutorial, we will show you how to successfully install and manage [https://www.modulesgarden.com/products/whmcs/advanced-billing Advanced Billing For WHMCS.]'''<br />
 
We will guide you step by step through the whole installation and configuration process.
 
We will guide you step by step through the whole installation and configuration process.
 
|}
 
|}
 
{|
 
{|
|style="padding: 20px 0px 20px 15px;"|'''1. Log in to your client area and download Advanced Billing For WHMCS.'''
+
|style="padding: 20px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory.
Files in your WHMCS directory should look like this.
+
The content of the package to upload should look like this.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Advanced Billing for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Advanced Billing For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
File is located in '' 'modules/addons/AdvancedBilling/license_RENAME.php' ''. Rename it from '' 'license_RENAME.php' '' to '' 'license.php' ''.
+
File is located in '' 'modules/addons/AdvancedBilling4/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_2_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key you have to edit a previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
Enter your license key between quotation marks as presented on the following screen. You can find your license key in your client area '' 'My Products' ''.
+
Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area'' 'My Products'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_2_2.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system.'''<br />
 
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system.'''<br />
Log in to your WHMCS admin area. Click '' 'Setup' '' then choose '' 'Addon Modules' '' .<br />
+
Log in to your WHMCS admin area. Click '' 'System Settings' '', then choose '' 'Addon Modules'. ''<br />
Afterwards find '' 'Advanced Billing' '' and press '' 'Activate' '' button.
+
Afterward, find '' 'Advanced Billing' '' and press the '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step you need to permit access to the module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step, you need to permit access to this module.'''<br />
To do so, click on '' 'Configure' '', choose desired admin roles and press '' 'Save Changes' ''.
+
To do so, click on the '' 'Configure' '' button, tick the desired admin roles, and press '' 'Save Changes'. ''<br />
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_4.png]]
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''<div id="kotwica"></div>7. The final step is to configure the cron job.'''<br/>
 +
Navigate to: '''WHMCS → Addons → Advanced Billing → Settings → [[#Cron_Job_Settings|Cron Job Settings]]''' page to obtain the correct cron command. <br/> Once you have the command, manually add it to your server's crontab. We recommend setting it to run every 5 minutes:
 +
  php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron 
 +
 +
'''''Note:''' This cron starts a background, continuous process. The 5-minute interval is a backup mechanism that ensures the process restarts automatically if it stops for any reason.<br/> In normal operation, only one process remains active at a time.''
 +
|}
 +
 +
=Configuration and Management=
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''7. The last step is setting up a cron job, you can find it in your WHMCS → '' 'Addons' '' → '' 'Advanced Billing' '' as shown on the following screen.'''
+
|style="padding: 10px 0px 30px 15px;"|'''Advanced Billing For WHMCS is a module that allows you to set up flexible billing models based on your client's actual usage of resources like bandwidth and CPU.'''<br/>
 +
Refer to the manual below to learn how to configure the module and make full use of its extensive features.
 
|}
 
|}
 +
==Products==
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_7.png]]
+
|style="padding: 10px 0px 20px 15px;"|To enable Advanced Billing For WHMCS features for a product, navigate to '' 'Addons' '' → '' 'Advanced Billing' '' → '' 'Products' '' and click on the '' 'Add Product' '' button.<br/>
 +
Select your product from the dropdown list.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Well done, you have just successfully installed Advanced Billing For WHMCS! '''
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Once your products are added use the action buttons to:
 +
*'''Set Pricing'''
 +
*'''Configure Settings'''
 +
*'''Show Related Items'''
 +
*'''Delete Product from the List'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_7.png]]
 +
|}
 +
===Pricing===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Set pricing for each usage record for a product.<br/>
 +
The pricing list includes information on each usage record:
 +
*'''Name'''
 +
*'''Unit'''
 +
*'''Billing Status'''
 +
*'''Extended Pricing'''
 +
Click on the '' 'Edit' '' button to set up billing for a usage record.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_8.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Under the general tab you can:
 +
*'''Enable or Disable Billing for the Record'''
 +
*'''Select Billing Type'''
 +
**Last - calculates the total based on the most recent reading only.
 +
**Summary - sums all collected records and bills based on the cumulative amount.
 +
**Hourly - averages hourly readings and bills according to that average.
 +
*'''Select Unit'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_9.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|The pricing tab is where you set:
 +
*'''Price''' - the value per unit that clients will be billed with.
 +
*'''Free Usage Amount''' - the number of set units that, when exceeded, will enable billing.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_10.png]]
 
|}
 
|}
  
=Configuration and Management=
+
===Product Configuration===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Now let's learn more about module's functionalities. We will present you the possibilities of our product on cPanel Extended For WHMCS example.<br />
+
|style="padding: 10px 0px 10px 15px;"|The '' 'Settings' '' action will take you to the configuration window where you can adjust various features for the product.
Please note that billing features are different in each module but the core functionality of Advanced Billing is the same for each.<br />
+
First, choose your module from '' 'Enable Advanced Billing for' '' dropdown menu as it is shown on the following screen.<br />
+
For presentation purposes we have chosen '' 'cPanel Premium' '' with cPanel Extended module.
+
 
|}
 
|}
 +
 +
====Product Settings====
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_8.png]]
+
|style="padding: 10px 0px 15px 15px;"|Set general product settings related to summaries, cron frequency and client area integration.
 +
*'''Cron Frequency''' - define how often the cron will run for the product. Use seconds as the unit.
 +
*'''Summary Calculation Method''' - choose how summaries are calculated:
 +
**Total Sum
 +
**Total Average (Hourly only)
 +
*'''Client Area Integration''' - toggle to enable client area integration for the product, this option does not add features on its own but is a requisite for other functions to be displayed in the client area.
 
|}
 
|}
==Core==
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Our module core has been redesigned to allow collecting the records and invoices' management.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_11.png]]
All other features are handled by extensions, which can be easily enabled/disabled, and are configured per product.
+
 
|}
 
|}
===Configuration===
+
 
 +
====Module Settings====
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Core configuration consists of 2 tabs.<br />
+
|style="padding: 10px 0px 15px 15px;"|Configure product module-specific settings such as:
You can access resource usage pricing from any tab.
+
'''cPanel Extended'''
 +
*Application Manager
 +
*cPanel Theme
 +
'''Proxmox VE Cloud VPS'''
 +
*Free IPv4 Addresses
 +
*Free IPv6 Addresses
 +
'''OpenStack'''
 +
*OpenStack Timezone
 +
*Local Timezone
 +
and more.
 
|}
 
|}
====General Settings Tab====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Here you can find information about the module used by your product. If the module is not supported, '' 'Basic Module' '' mode will be used instead.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_12.png]]
'' 'Basic Module' '' enables you to bill your client for hourly usage of the product only.<br />
+
|}
In this tab you can also enable/disable Advanced Billing for product.<br />
+
 
To disable it, simply unmark '' 'Enable' '' checkbox and press '' 'Save Changes' '' button, as shown on the following screen.<br />
+
====Credit Billing====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Credit Billing allows your clients to be charged with their credits instead of the standard methods.<br/>'''''Note:''' This function is separate from the WHMCS 'Credit Balance'.''<br/>
 +
Enable the functionality with the '' 'Enable Credit Billing' '' toggle and configure the details:
 +
*'''Create Invoice Every''' - dictates how often invoices are generated for the product.
 +
*'''Minimum Credit''' - the minimum amount that will be charged from the client account credit balance.
 +
*'''Low Credit Notification''' -  if this value is higher than the credits on the client's account, an email will be sent to your client regarding the low credit amount.
 +
*'''Email Interval''' -  defines how often low credit notification email will be sent, the interval refers to the number of days.
 +
*'''Autosuspend''' - when the credit balance reaches 0, the product ordered by the client is automatically suspended and an invoice reminding of the lacking amount will be generated.<br />'' '''Note:''' This function also takes account of the '[https://docs.whmcs.com/Products_Management#Overide_Auto_Suspension 'Override Auto-Suspend'] feature.''
 +
*'''Due Date''' - determines how many days after the invoice is generated the payment is due.
 +
*'''Use Client Credits''' - if enabled, the invoices can be paid with the client credits. If disabled, the default payment method will be used.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_9.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_13.png]]
 
|}
 
|}
  
====Module Settings Tab====
+
====Fixed Pricing====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|''This tab is visible only for cPanel/cPanel Extended modules.''<br />
+
|style="padding: 10px 0px 15px 15px;"|Fixed Billing charges clients a set amount after a specified number of hours of active service usage.<br/> This feature lets you define a fixed price per product, billed automatically once the usage threshold is reached.
Here you can set Application Manager (Softaculous/Installatron) and cPanel theme. '' 'x3' '' is a theme's default value.<br />
+
*'''Auto Apply Credits''' - enable to automatically apply user credits if available.
To use different theme simply enter its name as shown on the screen below.
+
*'''Tax''' - if enabled, the tax will be added to the created invoice.
 +
*'''Hours''' - define a number of hours that must pass before the service is billed at a monthly rate.
 +
*'''Due Date''' - define payment due date.
 +
*'''Currency''' - set the pricing amount in any currency to bill clients after a declared number of hours has passed.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_12.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_14.png]]
 
|}
 
|}
  
====Used Resource Pricing====
+
====Prepaid Billing====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In the bottom part of the screen you can set up billing for specific server resource usage like e.g. bandwidth.<br />
+
|style="padding: 10px 0px 15px 15px;"|Prepaid Billing enables charging clients directly from their prepaid credit balance.<br/> It also provides summary billing, combining charges into a single summary instead of generating separate invoices.
*'''Free Limit''' - is used to set amount of usage records for which customer won't be charged.<br />
+
*'''Billing Overview Interval (Days)''' - define how often billing overviews should be refreshed.
In our example, customer won't be charged for 1GB (1024MB) bandwidth.<br />
+
*'''Minimum Credit''' - determine the minimum amount that will be charged from the client's account.
*'''Price''' - defines how much your client will have to pay for specific resource. Note that we provide two types of charging: units per hour and units used since last cron run.<br />
+
*'''Low Credit Notification''' - define the credit balance low point when an email notification will be sent.
For example, user pays for subdomain quantity each hour, but when traffic is generated, bandwidth used since the last cron run will have to be paid once only.<br />
+
*'''Email Interval''' - set interval for email notifications, measured in days.
*'''Displayed Unit''' - category defines how record usage will be displayed. It does not affect free limit and pricing, they are calculated in basic unit.<br />
+
*'''Autosuspend''' - suspend the account automatically if the user does not have sufficient funds.
If you select '' 'GB' '', free limit will be still 1024 MB, and price will be MB/hr, '''not''' GB/hr.<br />
+
*'''Due Date''' - number of days between the invoice being generated and due date.
*'''Status''' - allows you to enable/disable billing for this resource.<br />
+
To proceed, choose your usage records, units, status, set up the prices and free limits. Afterwards, press '' 'Save Changes' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you could notice on the screen below, '' 'Configure' '' column has been added.<br />
+
|style="padding: 0px 0px 15px 15px;"|The client area will include the summations and a way for the client to top up his credit balance.<br/>
It allows you to set up different free limits and pricing depending on resource origin.<br />
+
After the client indicates the amount of credits to be added to his account, an invoice will be generated for it.<br/>
Currently only Parallels Cloud Server submodule supports this feature.
+
Only after the invoice is paid, will the client receive the credits.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_13_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_13_1.png]]
 
|}
 
|}
  
===Items===
+
====Recurring Billing====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To view counted usage, go to '' 'Items' '' tab.<br />
+
|style="padding: 10px 0px 15px 15px;"|Recurring Billing automatically charges clients on a regular schedule for their products.<br/> This feature simplifies ongoing payments by setting up recurring billing cycles.
Each cron run will create an item for each customer, if it does not exist at the moment, and add new records to existing ones.<br />
+
*'''Invoice on Termination''' - when the account connected with your module is terminated, an invoice for the account will be generated.
In that way you can see current server resources usage from the last billing period.<br />
+
*'''Billing Type''' - enables you to choose how to bill your client.
Automatic generation of invoices is basing precisely on previously created items.<br />
+
**'''Bill On Invoice Generated''' - new items will appear on the renewal invoice for the hosting account just as it is generated by WHMCS.
To view more details click on '' 'Show usage records' '' as shown on the following screen.<br />
+
**'''Bill On Specific Day''' - generates invoices each month on the day specified in the 'Billing Type Value'.
You can also easily remove billing for specific hosting. To do so, press '' 'x' '' in '' 'Delete' '' column.
+
**'''Bill Every X Days''' - generates an invoice each X days where X is the number specified in the 'Billing Type Value' field.
 +
*'''Due Date''' - the number of days in which your customers will have to pay the invoice.
 +
*'''Auto Generate Invoice''' - if enabled, the invoices are automatically generated and sent directly to your customers.
 +
*'''Auto Apply Credits''' - automatically applies any available credits when an invoice is created. Works only if the 'Auto Generate Invoice' option is enabled.
 +
*'''Show Advanced Billing Information''' - this will replace any 'Billing Cycle' with 'Hourly Billing' on the product management page in the client area.
 +
*'''Apply Group Discount''' - enable if you want to apply the discount to the invoice set in the [https://docs.whmcs.com/Client_Groups client group].
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_14.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_16.png]]
 
|}
 
|}
 +
 +
====Notifications====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"| After pressing 'Show usage records', you can learn some detailed information on Bandwidth, Storage, Domains and many others.
+
|style="padding: 10px 0px 15px 15px;"|Notifications allow clients to set up email reminders that are sent when their resource usage reaches or exceeds specified limits.<br/> This feature helps clients stay informed about their usage and avoid unexpected charges.
 +
*'''Reminder Limit''' - limit how many reminders a client can create.
 +
*'''Email Template''' - email template that will be used.<br/>
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In order to view the price for a specific element of the record, simply hover your mouse over it. <br />
+
|style="padding: 0px 0px 15px 15px;"|The predefined '' 'Advanced Billing Resource Usage Reminder' '' features variables that you can also use in your own templates:
The following screen shows the situation after running cron only 2 times. Note that the first record is always empty as its task is to initialize billing for the account.
+
*'''{$reminder_name}''' - the name of a reminder set by a client.
 +
*'''{$type}''' -  the resource type for which the limit has been set by a client. E. g. '' 'Storage' '', '' 'Bandwidth' '' etc.
 +
*'''{$usage}''' - the current recorded usage value of the resource type the limit is set for.
 +
*'''{$limit}''' - the limit value defined by a client whose reaching or exceeding results in sending the notification.
 +
*'''{$unit}''' - the unit of the billed record. E.g. '' 'MB' '', '' 'GB' '' etc.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_16.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In addition to the above information you can check when each cron was run.<br />
+
|style="padding: 0px 0px 15px 15px;"|Once the function is enabled, clients will see the '' 'Reminders' '' table where they can add and manage their notifications.<br/>
You can also order creation of invoice for product through pressing '' 'Bill On Demand' ''.<br />
+
To add a new notification click on the '' 'Add Reminder' '' button.
''Note: Bill on demand feature is not available for credit billing.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Provide the following:
 +
*'''Name''' - name your reminder, it is used in the default notification template.
 +
*'''Checks Frequency''' - how often a resource check is performed, in hours.
 +
*'''Reminders Frequency''' - limits how often a reminder can be sent, in hours.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17_3.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Once the reminder is added, it can be managed using the action buttons:
 +
*'''Edit Reminder'''
 +
*'''Define Limits'''
 +
*'''Delete'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17_4.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|While defining the limits, you can scroll the list of resources horizontally.<br/> The fields for each include:
 +
*'''Used''' - current recorded usage of the given resource.
 +
*'''Operator''' - logical operator used for the argument.
 +
*'''Value''' - the value for the logical operation.
 +
For example, we can set the reminder to be sent after the bandwidth is '' 'is more' '' than 20000MB, as shown on the screen below.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_17_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Make sure to enable the reminder after the limits are defined for it.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_17_6.png]]
 
|}
 
|}
  
===Awaiting Invoices===
+
====Usage Records====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Usage Records displays clients' resource usage data and usage history directly on the product page in the client area.<br/> This feature allows clients to easily track their resource consumption over time.
 +
*'''Display Summary From''' - defines the period for which usage records will be counted.
 +
*'''Usage Records Precision''' - the number of decimal digits indicating the precision of usage records.
 +
*'''Records History''' - displays history of usage records.
 +
*'''Display Usage Records Pricing''' - displays usage record pricing for the product during the order process.
 +
*'''Show Usage Details Per Subitem''' - display detailed usage history for subitems in cloud services. <br/>Additional usage details will be listed in the 'Usage Details Per Subitems' on the service page in the client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_18.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Enabling the extension will display the current usage in the client area.<br/> Enabling the '' 'Records History' '' function will also display usage from previous periods.
 +
|}
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Here you can check your awaiting invoices. Invoices can be generated automatically and manually.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_18_2.png]]
On the screen below you can see a previously generated invoice for our cPanel Extended account.<br />
+
To view detailed information about particular invoice press '' 'Show' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_20.png]]
+
|style="padding: 0px 0px 20px 15px;"|The '' 'Display Usage Records Pricing' '' will display the pricing table when clients prepare thier order.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|This is the place where you can verify and modify awaiting invoices. It's advised to check whether invoices are correct to avoid any risk.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_18_1.png]]
You already know that you can set up automatic invoice generation in configuration section. Now let's generate an invoice for your customer manually.<br />
+
For this purpose simply click on '' 'Generate Invoice' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_21.png]]
+
|style="padding: 0px 0px 20px 15px;"|The '' 'Show Usage Details Per Subitem' '' will display detailed usage history for subitems in '''cloud services'''. <br/> Additional usage details will be listed in the '''Usage Details Per Subitems''' on the service page in the client area.<br/>
 +
'''''Note:''' The screen below is taken from the Proxmox VE Cloud VPS product view, not cPanel Extended, as all other illustrations in this section.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|After changing product's package, invoice is automatically generated for an old package.
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_18_3.png]]
 
|}
 
|}
  
===Settings===
+
====Free Limit====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Under '' 'Settings' '' tab you can find pages such as logs and integration code.
+
|style="padding: 10px 0px 15px 15px;"|Free Limit allows you to set free usage limits for a product based on its Configurable Options.
 +
This feature enables precise control over complimentary usage thresholds before charges apply.<br/>
 +
After enabling the feature with the '' 'Enable Free Limit' '' toggle, select the configurable options responsible for the resources below.<br/>
 +
The configurable option has to be created for the product first. The configurable option value represents the resource in units selected under '' 'Products' '' → '' 'Pricing'.''<br/>
 +
Leave fields empty, to not enable the free limit on selected resources.  
 
|}
 
|}
====Logs====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In '' 'Logs' '' you will find information about the module activity. You can view informative logs, error logs and critical logs.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_19.png]]
Choose .log file from a dropdown menu and press '' 'Show' '' as presented on the screen below.<br />
+
To remove a log simply press '' 'Delete' '' instead of '' 'Show' '' button.<br />
+
New log files are created every day to help you find information you are looking for.
+
 
|}
 
|}
 +
 +
====Graphs====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_18.png]]
+
|style="padding: 10px 0px 15px 15px;"|Graphs provide a graphical display of usage records for each configured service.<br/> This feature helps visualize resource consumption trends over time.<br/> Use the '' 'Show Enabled Records Only' '' option to hide records with no pricing enabled.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|On the following screen you can see how '' 'infolog-YYYY-MM-DD.log' '' can look like.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_20.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_19.png]]
+
|style="padding: 0px 0px 15px 15px;"|With the functionality enabled, clients will find a graph of their usage displayed in the client area.<br/>
 +
They will be able to change the graph's scope and resources displayed.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_20_1.png]]
 
|}
 
|}
  
====Integration Code====
+
====Product Auto Upgrade====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Integration Code' '' page contains codes required to integrate Advanced Billing For WHMCS with your client area.<br />
+
|style="padding: 10px 0px 15px 15px;"|Product Auto Upgrade automatically upgrades or downgrades products based on resource usage, following the rules you set.<br/> Clients can choose whether to allow automatic adjustments and can even configure their own rules for product resizing.<br/>
The first of them allows usage records and autoscaling related features to be displayed in the client area.<br />
+
 
It is required for '' 'Autoscale' '' and '' 'Client Area Usage Records' '' extensions.<br />
+
For more information on available settings, visit the [[#Product_Auto_Upgrade_Management| Product Auto Upgrade Management]] section.
Placing the second one results in displaying prices on the order form.<br />
+
'''Important: Edition of clientareaproductdetails.tpl for classic and portal templates goes a bit differently than shown on the screen below.'''<br />
+
In this case place required code after this line:
+
<nowiki><div align="center">{$moduleclientarea}</div></nowiki>
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_22.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_21.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Depending on the settings, clients will be able to:
 +
*Enable/disable automatic upgrades for their product.
 +
*Set a minimum time interval that has to pass between upgrades.
 +
*Include/exclude certain upgrade options.
 +
*See and/or change upgrade conditions.
 +
*See their upgrade history.
 +
*Set upgrade notifications based on resource usage.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_21_1.png]]
 +
|}
 +
 
 +
====Service Cancellation====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|When enabled, this setting allows clients to immediately terminate their service directly from the product page in the client area.<br/>
 +
The cancellation bypasses the standard queue, and the service is terminated right away.<br/> Billing is stopped instantly, and if applicable, any remaining balance is refunded.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Usage records in the client area. Note that disabled usage records will not be displayed.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_21_2.png]]
''Note: To display usage records in the client area, you need to enable '' 'Usage Records' '' extension.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_23.png]]
+
|style="padding: 0px 0px 15px 15px;"|In the client area, an additional box will appear at the very bottom of the product page with a "Cancel Service" button.<br/> Clients can click this button, provide a reason for cancellation, and confirm the action. The service will then be terminated immediately.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Pricing on the order form. Note that disabled usage records will not be displayed.
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_21_3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_24.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_21_4.png]]
 
|}
 
|}
  
==Extensions==
+
==Items==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In this section we will describe each extension step by step.<br />
+
|style="padding: 10px 0px 10px 15px;"|Items with resource usage counted can be found in the '' 'Items' '' section.<br/>
'''Important:''' Only three of them are included in Advanced Billing For WHMCS product, the rest can be obtained separately.<br />
+
The '' 'Item List' '' includes current billable items, while the '' 'Item Archive' '' lists historical items that are already billed.  
Default extensions included into Advanced Bulling For WHMCS are '' 'Recurring Billing' '', '' 'Usage Records' '' and '' 'Credit Billing' ''.<br />
+
Each extension is configured per product, therefore you can use different sets of extensions according to your needs.<br />
+
To start using an extension, you need to activate it firstly, proceed to '' 'Settings' '' → '' 'Extensions' '' page.<br />
+
Afterwards, press '' 'Activate' '' next to the extension you wish to use, new options will appear in Advanced Billing For WHMCS.
+
 
|}
 
|}
 +
===Item List===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_50.png]]
+
|style="padding: 10px 0px 15px 15px;"|You can find the '' 'Item List' '' under '' 'Items'.''<br/>
 +
The list includes information such as:
 +
*'''Item ID'''
 +
*'''Hosting Name'''
 +
*'''Client Name'''
 +
*'''Total Amount'''
 +
*'''Last update'''
 +
And action button responsible for:
 +
*'''Viewing details'''
 +
*'''Viewing the graph'''
 +
*'''Deleting the item from the list'''
 
|}
 
|}
===[http://www.modulesgarden.com/products/whmcs/autoscale/features Autoscale (Sold Separately)]===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The main functionality of Autoscale For WHMCS extension is automatic upgrade/downgrade of a product according to its usage.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_22.png]]
For more information about Autoscale For WHMCS, visit its [http://www.docs.modulesgarden.com/Autoscaling_For_WHMCS Wiki].
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_51.png]]
+
|style="padding: 0px 0px 20px 15px;"|You can mark multiple items with the mass delete function when necessary as well.
 
|}
 
|}
===Credit Billing===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'' 'Credit Billing' '' extension allows you to charge for a product from client credit balance.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_23.png]]
*'''Enable Credit Billing''' - this option enables/disables credit billing for this module (if credit billing is enabled, standard billing will be turned off).<br />
+
*'''Create Invoices Each''' - this option defines how often invoice will be generated for this product (if nothing entered here, it will be 30 days).<br />
+
*'''Minimum Credit''' - minimum amount that will be charged from client account credit balance.<br />
+
*'''Low Credit Notify''' - if this value is higher than credits on client account, email to your client about low credit amount will be sent.<br />
+
*'''Email Interval''' - defines how often low credit notification email will be sent.<br />
+
*'''Autosuspend''' - when credit balance reaches 0, product ordered by client is automatically suspended and invoice with lacking amount is generated.<br />
+
*'''Due Date''' - the number of days that your customers will have, to pay the invoice.<br />
+
*'''Autorefill''' - if enabled, client's credit balance will be refilled from his credit card each time it became empty.<br />
+
*'''Gateway''' - gateway used to charge client's credit card.<br />
+
*'''Minimum Amount''' - minimum amount to charge from client's CC.<br />
+
*'''Maximum Amount''' - maximum amount to charge from client's CC.<br />
+
'''Note: Client can define if he wish to use autorefill functionality as well as choose amount to refill in a single run.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_52.png]]
+
|style="padding: 0px 0px 15px 15px;"|Clicking on the '' 'View Details' '' button will display the page with all the usage recorded.<br/>
 +
The page includes action buttons responsible for:
 +
*'''Deleting the item'''
 +
*'''Generating an invoice for the item'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|When '' 'Autosuspend' '' is marked and your client's credit balance reach 0, the client's product will be suspended. Additionally, invoice with lacking payment will be generated.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_24.png]]
If it is unmarked and credit balance reaches 0, the client's product will not be suspended and invoice will be generated according to number of days set in '' 'Create Invoices Each' '' field.
+
 
|}
 
|}
====User Credits====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|All information related to credit payment for hosting can be found in '' 'User Credit' '' tab. As you can see, there are two columns with credits.<br />
+
|style="padding: 0px 0px 15px 15px;"|The '' 'View Graph' '' button will in turn display a resource usage graph for the item.<br/> You can aspects of the graph scope by clicking on the '' 'Edit' '' button.
The first one, '' 'Internal Credit' '' contains credits which were not used for payment, but are reserved for it. It was created to increase accuracy of credit billing.<br />
+
The second column, '' 'Already Paid For Hosting' '' contains summary credit payment for hosting.<br />
+
You can order refund of any hosting through pressing '' 'Refund' '' button next to it. Client will receive sum of '' 'Internal Credit' '' and '' 'Already Paid For Hosting' '' rounded down to 0.01.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_53.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_25.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Select the resources and time scope you would like the graph to include.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_26.png]]
 
|}
 
|}
  
===Recurring Billing===
+
===Item Archive===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|This extension allows you to set up recurring billing for product.<br />
+
|style="padding: 10px 0px 15px 15px;"|You can find the '' 'Item Archive' '' under '' 'Items'.''<br/> It included items that are already billed.<br/>
 +
The list includes information such as:
 +
*'''Item ID'''
 +
*'''Hosting Name'''
 +
*'''Client Name'''
 +
And action button responsible for:
 +
*'''Viewing details'''
 +
*'''Deleting the item from the list'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_27.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|You can mark multiple items with the mass delete function when necessary as well.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_28.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Finally, you can flush your archive, deleting items meeting the criteria set in [[#Item_Archive_Configuration|Item Archive Configuration]].
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_28_1.png]]
 +
|}
  
*'''Enable Recurring Billing''' - check to enable this billing type.<br />
+
==Billing==
*'''Bill on Terminate''' - when account connected with your module is terminated, invoice for account will be generated.<br />
+
{|
*'''Bill Type''' - enables you to choose how to bill your client.<br />
+
|style="padding: 10px 0px 10px 15px;"|All billing related management can be found under the '' 'Billing' '' section.<br/>
**'''Bill on Invoice Generate''' - customer will receive an invoice at the same time as the invoice for their hosting account.<br />
+
This includes '' 'Invoices' '' and '' 'Credits'.''
**'''Bill On Specific Day''' - will generate invoices each month on the day specified in the '''Billing Type Value'''.<br />
+
**'''Bill Each X Days''' - as its name suggests, it generates invoice each X days where X is a number specified in '''Billing Type Value''' field.<br />
+
*'''Due Date''' - the number of days in which your customers will have to pay the invoice.<br />
+
*'''Autogenerate Invoice''' - an important feature which if enabled, automatically sends previously generated invoices directly to your customers.<br />
+
*'''Auto Apply Credits''' - automatically applies any available credits when invoice is created, works only if '' 'Autogenerate Invoice' '' is enabled.<br />
+
 
|}
 
|}
 +
===Invoices===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_54.png]]
+
|style="padding: 10px 0px 15px 15px;"|Invoices created both automatically and manually can be found here.<br/>
 +
The invoice list includes:
 +
*'''Invoice ID'''
 +
*'''Client Name'''
 +
*'''Hosting Name'''
 +
*'''Product Name'''
 +
*'''Total'''
 +
*'''Date'''
 +
*'''Due Date'''
 +
And action buttons responsible for:
 +
*'''Generating the invoice'''
 +
*'''Displaying details'''
 +
*'''Deleting the invoice'''
 
|}
 
|}
===Usage Records===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|This extension displays usage records and usage records history in the client area products page.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_30.png]]
To use it, besides enabling in, you need to place an integration code.<br />
+
This extension is configured per product, proceed to the product configuration in Advanced Billing.<br />
+
As you can see, new tab is available here.
+
*'''Enable''' - enables usage records being displayed for that product in the client area.
+
*'''Display Summary From''' - defines period from which usage records will be counted.
+
*'''Usage Records Precision''' - defines precision of usage records
+
*'''Show Usage Records''' - displays history of usage records.
+
*'''Usage Records Per Page''' - defines how many usage records should be displayed per page.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_55.png]]
+
|style="padding: 0px 0px 15px 15px;"|You can also utilize the mass function to generate or delete multiple invoices at once.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|On the following screen you can see a sample of usage records and usage records history in the client area.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_31.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_56.png]]
+
|style="padding: 0px 0px 15px 15px;"|Invoice details consist of editable fields such as:
 +
*'''Invoice Date'''
 +
*'''Invoice Due Date'''
 +
and every billed item with its:
 +
*'''Description'''
 +
*'''Amount'''
 +
*'''Tax toggle'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Additionally, a client can view history of records as shown below.
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_32.png]]
 
|}
 
|}
 +
 +
===Credits===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_57.png]]
+
|style="padding: 10px 0px 15px 15px;"|This tab lists all credit top-ups issued by the clients with the '' 'Credit Billing' '' function.<br/>
 +
The list includes:
 +
*'''Client Name'''
 +
*'''Hosting'''
 +
*'''Credits Reserved'''
 +
*'''Amount Paid'''
 +
and an action button allowing the admin to '' 'Refund' '' the credits to WHMCS '' 'Credit Balance'.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_33.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Multiple top-ups can be selected to refund them at the same time.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_33_1.png]]
 
|}
 
|}
  
==Hourly Billing==
+
==Product Auto Upgrade Management==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Hourly billing allows you to charge your customers for each hour of use of the product (hourly billing calculations are basing on product '' 'Registration Date' '').<br />
+
|style="padding: 10px 0px 10px 15px;"|Under the '' 'Product auto Upgrade' '' you will be able to find tools to create and manage the auto upgrades based on resource usage.<br/>  
You can enable hourly billing for any product type.<br />
+
This section is only relevant for products with the [[#Product_Auto_Upgrade|Product Auto Upgrade]] function enabled.
Regardless of whether it is a server, web hosting account or other, customer will be billed for each hour of using the product.
+
 
|}
 
|}
 +
===Configuration===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_29.png]]
+
|style="padding: 10px 0px 20px 15px;"|Find the '' 'Configuration' '' tab under ' ''Product Auto Upgrade' '' and click on '' 'Add Group' '' to add a new group.
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_34.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|As you create the group, complete the following fields:
 +
*'''Name''' - name the group, the name will not be visible to clients.
 +
*'''Product''' - select the product the group will be applicable for.
 +
*'''Configurable Options Group''' - optionally include a configurable options group.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_34_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Once the group is added, the action buttons will allow you to:
 +
*'''Edit the group's settings.'''
 +
*'''Add and manage upgrade options within the group.'''
 +
*'''Delete the group from the list.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_35.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|While editing the settings you will be able to change:
 +
*'''Group Name'''
 +
*'''Server Type'''
 +
*'''Time Interval''' - how often upgrades can happen (in minutes).
 +
*'''Notification Time Interval''' - how often the notification can be sent (in minutes).
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_36.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|You can also change what the client is allowed to do:
 +
*'''Client Rules Configuration''' - display rules configuration in the client area.
 +
*'''Rules Configuration''' - enable clients to change the upgrade rules for themselves.
 +
*'''Rules Disable''' - permit clients to disable some of the upgrade rules.
 +
*'''Time Interval''' - give clients the option to modify upgrades time interval.
 +
*'''Time Interval Values''' - define the allowed range for upgrades time interval (minutes).
 +
*'''Notifications''' - allow clients to manage notifications.
 +
*'''Notifications Time Interval ''' - allow clients to modify notifications time interval.
 +
*'''Notifications Time Interval Values''' - define the allowed range for notifications time interval (minutes).
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_37.png]]
 +
|}
 +
====Option Configuration====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|The '' 'Options' '' action will take you to a page where you can define upgrade/downgrade options within the group and manage their status.<br/>
  
==Ticket Billing==
+
Before you can enable the Product Auto Upgrade single option, make sure the following configuration steps are completed:
 +
* '''Define "Upgrade Rules"''' – Go to the "Upgrade Rules" tab and set how resources or products should be upgraded. ''(Use '''Edit''' icon in action buttons).''
 +
* '''Define "Downgrade Rules"''' – Open the "Downgrade Rules" tab and set up the conditions for product downgrades. ''(Use '''Edit''' icon in action buttons).''
 +
* '''Confirm the "Change Package"''' – Once the rules are set, complete the configuration by approving the '''Change Package''' process.
 +
 
 +
All three steps must be completed before the toggle can be set to '''Enabled'''. Otherwise, you may encounter the following error message: ''You cannot enable the option. Please check the option configuration.''<br/>
 +
 
 +
To start, simply click the '''Add Option''' button and name your new option.
 +
|}
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Ticket billing works exactly as it sounds. When enabled, it bills your customers for each opened ticket.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_38.png]]
As in the case of hourly billing, you can enable ticket billing for any product type.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_30.png]]
+
|style="padding: 0px 0px 15px 15px;"|After the option is added, it will appear on the list. Use the action buttons to perform actions:
 +
* '''Edit''' – Define the upgrade and downgrade rules by selecting the appropriate '''Comparison Type''' and '''Threshold''' for each option.
 
|}
 
|}
==Sample Configuration==
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In this section we will show you two samples of configuration of Advanced Billing.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_41.png]]
 
|}
 
|}
===Two Weeks Billing===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In order to set up generating invoice for resource usage each 2 weeks, follow this steps:<br />
+
|style="padding: 0px 0px 20px 15px;"|
1. Go to '' 'Addons' '' → '' 'Advanced Billing' '' and select your product from '' 'Enable Advanced Billing for:' ''.
+
* '''Change Package''' – Select the package that will be used for this option. This step is required to finalize the rule configuration.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_31.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_39.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Go to '' 'Recurring Billing' '', mark '' 'Enable' '' and '' 'Bill on Terminate' '' checkboxes.<br />
+
|style="padding: 0px 0px 15px 15px;"|
Additionally, choose '' 'Bill Every X Days' '' from '' 'Billing Type' '' dropdown menu and enter '' '14' '' into the '' 'Billing Type Value' '' textbox.
+
* '''Change Description''' – Add custom descriptions for each option configuration.
 +
* '''Delete''' – Remove the option from the group.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_32.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_39_0.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. Scroll down and enter your pricing settings.<br />
+
|style="padding: 0px 0px 20px 15px;"|You can also use the mass action tools to delete or change packages for multiple options at once.
Afterwards, press '' 'Save Changes' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_33.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_40.png]]
 +
|}
 +
 
 +
===Accounts===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Services or '' 'Accounts' '' that make use of the '' 'Product Auto Upgrade' '' are recorded and listed in the '' 'Accounts' '' section under '' 'Product Auto Upgrades'.'' <br/>
 +
The list includes information such as:
 +
*'''Hosting ID'''
 +
*'''Client Name'''
 +
*'''Product Name'''
 +
*'''Option ID'''
 +
The '' 'Details' '' action button will display more information on a specific account.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_43.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|The details include a list of auto upgrades complete with:
 +
*'''Date of the update'''
 +
*'''Type'''
 +
*'''Option before the upgrade'''
 +
*'''Option after the upgrade'''
 +
*'''Message regarding the action taken'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_44.png]]
 +
|}
 +
===Client Area===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Depending on the option's setting, several features can be made available to the client.<br/>
 +
Assuming '' 'Client Rules Configuration' '' is enabled, clients will be able to change how their service interacts with the system by clicking on the '' 'Settings' '' icon under '' 'Auto Upgrade'.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Options may include:
 +
*'''Enable Auto Upgrade''' - can be turned off to disable auto upgrades altogether.
 +
*'''Time Interval''' - change the minimum time that has to pass between upgrades.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Under the '' 'Rules Options' '' tab, the client can select which rules to enable.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_3.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Service upgrades are recorded and displayed in the '' 'Auto Upgrade History' '' table.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_4.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Notification messages for upgrades can be set up by the user, first, click on the additional actions button.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Enable the function and select the interval between each message.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|To add a new notification use the '' 'Add Notification' '' button.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_7.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|Select the resource, comparison and unit for the notification.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_8.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You have just successfully configured billing!<br />
+
|style="padding: 0px 0px 15px 15px;"|You can add as many notifications as you would like.<br/>Action buttons allow you to edit or delete the notification.
You should see something like on screen below in your Advanced Billing main page.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_34.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_44_9.png]]
 
|}
 
|}
  
===20$ Billing===
+
==Settings==
 +
===Cron Job Settings===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To bill your client as often as possible follow these steps:<br />
+
|style="padding: 10px 0px 5px 15px;"|This section provides the command required to initiate the billing process handled by the module. The cron job is essential to perform automated billing actions in the background. <br/>
1.Go to '' 'Addons' '' → '' 'Advanced Billing' '' and select your product from '' 'Enable Advanced Billing for:' ''.
+
Please manually add the below command to the crontab, remember to adjust the path to match your WHMCS installation:  
 +
  php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron   
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_35.png]]
+
|style="padding: 0px 0px 15px 15px;"|The cron can be customized with the following options:
 +
*'''Cron Memory Limit''' - limit how much memory the cron can use (in megabytes). If exceeded, the cron will restart. Leave empty or set to '' 0' '' to disable the limit.
 +
*'''Cron Threads''' - toggle to enable cron threading.
 +
*'''Threads Limit''' - limit the number of threads for the above function.
 +
*'''Thread Accounts''' - limit the number of accounts per thread
 +
*'''Clear Logs''' - toggle to have the cron clear logs.
 +
*'''Clear After [days]''' - enter how old the logs have to be to be subject to clearing (in days). The default is 365 days.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Go to '' 'Credit Billing' '' and mark '' 'Enable' '' and '' 'Enable Credit Pay' '' checkboxes.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_5.png]]
Afterwards, enter '' '1' '' into '' 'Create Invoices Each'' ', ' ''20' '' into '' 'Minimum Credit' '' and '' '50' '' into '' 'Low Credit Notify' ''.<br />
+
With these settings your client will be billed from credit balance as soon as the payment for resource usage reach 20$.<br />
+
They will also receive an email if their credit balance falls below 50$.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_36.png]]
+
|style="padding: 0px 0px 30px 15px;"|'''Cron job additional options:'''
 +
* <code>--force</code> → Runs a single cron loop immediately.
 +
* <code>--single</code> → Forces execution of the module-specific cron.
 +
* <code>--ignore-product-frequency</code> → Runs cron without applying product frequency settings. <br/ > '''''Note:''' If you prefer not to run the module in daemon mode (as the module runs continuously by default), you can use these cron options to control execution manually.''
 
|}
 
|}
 +
 +
===Item Archive Configuration===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|3. Scroll down and enter your pricing settings, afterwards, press '' 'Save Changes' ''.
+
|style="padding: 10px 0px 15px 15px;"|In this section, you can set up the item archive to your preferences. The top of the tab includes a counter that lists the total archived items and how much disk space it occupies.
 +
*'''Clear Automatically''' - Enable to automatically clear the item archive under specified conditions.
 +
*'''Flush Interval''' - Decide how often (in days) the flush should happen.
 +
*'''Delete Archive Items Older than''' - Decide how old the archive items have to be to be subject for deletion during flush.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_37.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_5_1.png]]
 
|}
 
|}
 +
 +
==Other==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You have just successfully configured billing!<br />
+
|style="padding: 10px 0px 10px 15px;"|Other useful tools and features directly related to the module functioning can be found in the '' 'Other' '' section.<br/>
In your Advanced Billing '' 'Configuration' '' tab you should see something similar to the following screen.
+
This includes:
 +
*'''Translations Tool'''
 +
*'''Access Control'''
 +
*'''Module Logs'''
 
|}
 
|}
 +
===[https://www.docs.modulesgarden.com/Translations_Tool Translations]===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_38.png]]
+
|style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/>
 +
Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it [https://www.docs.modulesgarden.com/Translations_Tool here].
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_tr.png]]
 
|}
 
|}
  
==How To Update==
+
===Access Control===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In order to upgrade, simply copy the files, any additional operation will be made automatically.
+
|style="padding: 10px 0px 10px 15px;"|'' 'Access Control' '' allows you to specify and control exactly which sections of the module can be accessed by your administrators. <br/>The way it works is that you create access control rules in which you decide if a specific admin, or admin role has full access, or is restricted to only specific sections.<br/>
 +
For more detailed information on the available modules that include this tool, please refer to the [https://www.docs.modulesgarden.com/Access_Control_Tool Access Control Tools Wiki Page].
 +
|}
 +
 
 +
====Rules====
 +
{|
 +
|style="padding: 10px 0px 20px 15px;"|
 +
Start with creating a new rule, click on the 'Create Rule' button and a dedicated form will appear. Below you will find a description of every field required in the form.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_46.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Fill out the following fields to create resources access rule:
 +
*'''Rule Name''' - Pick a name for your rule.
 +
*'''Grant Full Access''' - Enable to grant full access to all sections of the module to the specified personnel. Disable to specify in two additional fields below, to which resources access will be granted, and to which it will be denied.
 +
*'''Allow Access To''' - Designate the resources that the specified personnel will have access to.
 +
*'''Restrict Access To''' - Specify the resources that the specified personnel will not have access to.
 +
*'''Administrators''' - Specify which singular administrators will be subject to the new rule. If the specific administrator is already included in the group you have picked, you do not need to add him separately. <br/> '''''Note:''' All restrictions for specific administrators are summed with the restrictions on their role groups, across all rules.''
 +
*'''Administrator Roles''' - Specify which administrator role groups will be subject to the new rule.<br/>
 +
'''Important:''' When picking specific sections, keep in mind that allowing a parent section '''will also allow all of its children.''' <br/>
 +
For example by allowing 'Access Control' you allow every section of it<br/>
 +
If you would like to give access to everything about Access Control, but the ability to delete logs, you can pick 'Access Control' in 'Allow Access To' and then 'Access Control → Logs → Delete' in 'Restrict Access To.'<br/> '''Restrict''' takes precedence over '''Allow,''' so if a specific section is included in both, it will be restricted.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_47.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|To edit or delete existing rules, use the icons to the right.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_48.png]]
 +
|}
 +
 
 +
====Resources====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|Use the toggles in the 'Resources' section to specify which of them should be subject to logging, found in the 'Logs' section. <br/> Every time an administrator requests a toggled resource, it will be recorded.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_49.png]]
 +
|}
 +
 
 +
====Access Control Logs====
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|The logs section includes:
 +
*Log ID
 +
*Name of the administrator
 +
*Requested resource
 +
*Applied Resource
 +
*Rule Name
 +
*Date
 +
Use the trash bin icons to delete specific logs, or utilize the mass action function to delete multiple logs at once.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_50.png]]
 +
|}
 +
 
 +
===Logs===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|The '' 'Logs' '' section under '' 'Other' '' is where the module logs are stored.<br/>
 +
You can filter the module logs by type with the '' 'Show' '' buttons:
 +
*'''Error'''
 +
*'''Info'''
 +
*'''Both (Total)'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_51.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|You can delete logs either one by one or with the mass function.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_52.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Additional actions include:
 +
*'''Logging Settings'''
 +
*'''Log Export'''
 +
*'''Rule Based Deletion'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_53.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|In the settings you may decide:
 +
*'''Log Types''' - which type of logs should be recorded.
 +
*'''Clear automatically''' - if you would like to automatically delete logs older than defined number of days.
 +
*'''Delete Logs Older Than''' - how many days should pass before logs are automatically deleted.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_54.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|While exporting you will have to specify which logs to export:
 +
*'''From'''
 +
*'''To'''
 +
*'''Log Types'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_55.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|You may also delete specific logs without finding them manually.<br/> Simply define:
 +
*'''Log Types'''
 +
*'''Delete Logs Older Than'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_56.png]]
 +
|}
 +
 
 +
=Use Cases=
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|'''This section provides sample scenarios that demonstrate common use cases, showing how the module’s features can be applied in real-world situations.'''<br/>
 +
Explore the examples below for practical insights into how the module works.
 +
|}
 +
 
 +
==Flexible Cloud Services with Prepaid Billing and Cost Control==
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|With '''Advanced Billing For WHMCS''', you can deliver a cloud-like experience that gives clients full control over resource selection, deployment, and billing preferences.<br/> Clients can top up their account balance and then deploy and manage virtual machines on demand, eliminating the need for separate orders.<br/>
 +
 
 +
You benefit from full cost transparency, a secure prepaid system, and automated billing, while your clients enjoy fast provisioning and real-time insights into their usage and expenses.
 +
|}
 +
===Key Benefits===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|
 +
* '''Client autonomy''' - Clients pay once, top up their accounts, and deploy services anytime, without additional steps for approval.
 +
* '''Real-time cost overview''' - Clients can monitor daily costs, projected expenses, and pricing per resource (CPU, RAM, bandwidth).
 +
* '''Secure prepaid billing''' -  Services activate only after funds are deposited, eliminating unpaid usage risks.
 +
* '''Self-service top-ups''' - Clients add credit anytime from the WHMCS client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_56_0.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|
 +
* '''Usage analytics''' - Clients gain access to detailed, near real-time tracking of individual resource usage.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_56_1.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|
 +
* '''Visual insights''' -  Clients can view usage patterns through clear, intuitive graphical representations.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_56_2.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|'''Billing options available in the module:'''
 +
* '''[[#Prepaid_Billing|Prepaid Billing]]''' - Deducts charges from the client's prepaid credit balance, consolidating multiple charges into a single summary invoice, making it ideal for dynamic cloud environments.
 +
* '''[[#Credit_Billing|Credit Billing]]''' -  Deducts costs from a client's available credit instead of using standard payment methods.
 +
* '''[[#Recurring_Billing|Recurring Billing]]''' - Automatically charges clients at set intervals for their services.
 +
* '''[[#Fixed_Pricing|Fixed Pricing]]''' - Bills a fixed amount after a defined number of usage hours. Suitable for predefined pricing plans.
 +
|}
 +
 
 +
===Recommended Integrations===
 +
{|
 +
|style="padding: 10px 0px 30px 15px;"|For '''cloud deployments''', we recommend starting with:
 +
* '''[https://www.modulesgarden.com/products/whmcs/proxmox-ve-cloud-vps#features Proxmox VE Cloud VPS For WHMCS]'''
 +
* '''[https://www.modulesgarden.com/products/whmcs/solusvm-2-vps-and-cloud#features SolusVM 2 VPS & Cloud For WHMCS]'''
 +
For '''enterprise-level solutions''', you may use:
 +
* '''[https://www.modulesgarden.com/products/whmcs/openstack-projects#features OpenStack Projects For WHMCS]''' - fully compatible with Virtuozzo Hybrid Infrastructure.
 +
|}
 +
===Configuration steps===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|'''1.''' Install and configure your provisioning module. In this example, we use '''OpenStack Projects For WHMCS''' module. <br/> Follow the [https://www.docs.modulesgarden.com/OpenStack_Projects_For_WHMCS#Installation_and_Configuration installation guide] to prepare the product for Advanced Billing integration.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_57_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''2.''' Define '''[[#Pricing|pricing]]''' for each usage record.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_57_9.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''3.''' Move to '''[[#Product_Settings|Product Settings]]''' of the OpenStack Projects product and adjust the following:
 +
*'''Cron Frequency''' - Set how often the cron should run (in seconds).
 +
*'''Summary Calculation Method''' - Choose between:
 +
**Total Sum
 +
**Total Average (Hourly only)
 +
*'''Client Area Integration''' - Enable to allow features like usage overviews and resource summaries to appear in the client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_57_10.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''4.''' Enable and configure '''[[#Prepaid_Billing|Prepaid Billing]]''' for the product an dfine-tune the billing behaviour:
 +
*'''Billing Overview Interval (Days)''' - Frequency for generating billing summaries.
 +
*'''Minimum Credit''' - Minimum charge amount per deduction cycle.
 +
*'''Low Credit Notification''' - Credit threshold that triggers a low balance warning.
 +
*'''Email Interval''' - Time (in days) between low balance reminder emails.
 +
*'''Autosuspend''' - Automatically suspend service if the client has insufficient funds.
 +
*'''Due Date''' - Days between invoice creation and due date (used if invoice generation is active).
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_57_6.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''5.''' Activate optional extensions for advanced usage visibility. We recommend activating:
 +
* '''[[#Usage_Records|Usage Records]]''' – for precise, near real-time tracking of resource consumption.
 +
* '''[[#Graphs|Graphs]]''' – for graphical visualization of usage trends in the client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:AB4_57_7.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''6.''' That is all. Your configuration is complete. From this point on, Advanced Billing For WHMCS will handle cost tracking and charging automatically.<br/>
 +
Your clients can now top up their balance, deploy services, monitor usage, and manage everything directly from the WHMCS client area.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:AB4_57_8.png]]
 
|}
 
|}
  
 
=Tips=
 
=Tips=
 
{|
 
{|
|style="padding: 10px 0px 0px 15px;"|'''1. Deactivation of the module removes products' configuration, usage records and awaiting invoices.'''<br />
+
|style="padding: 10px 0px 30px 15px;"|1. '''In version 4.0, the "Extensions" section has been removed, so the module license must now be placed in the "license.php" file.'''<br/> If upgrading from version V3.X, re-add the license to the "license.php" file and reissue it from your client area panel.
In order to update the module, simply follow instruction in '' 'How To Update' '' .
+
 
|}
 
|}
 +
 +
=Update Instructions=
 
{|
 
{|
|style="padding: 10px 0px 0px 15px;"|2. '' 'Installed Applications' '' usage record supports both Softaculous and Installatron.
+
|style="padding: 10px 0px 5px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''<br/>
 +
Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.
 
|}
 
|}
 +
==Module Upgrade From V3.X to V4.X==
 
{|
 
{|
|style="padding: 10px 0px 0px 15px;"|3. You can set up as many products as you want.
+
|style="padding: 10px 0px 30px 15px;"|Upgrading from version 3.X to 4.0 requires additional steps due to the changes in the module structure. Please follow the instructions carefully to ensure a smooth transition.
 +
# Optionally backup your language files and license.<br/>
 +
# Delete all old module files.<br/>
 +
# Upload new module files from version 4.0.<br/>
 +
# Re-add the license to license.php and reissue it in your client area.<br/>
 +
# Cron Job Update:<br/>
 +
#* Delete the old cron job.
 +
#* Kill the cron process.
 +
#* Run the upgrade command: <pre>php -q whmcs/modules/addons/AdvancedBilling4/cron/cron.php upgrade run "4.0.0" </pre>
 +
#* Set the new cron job, make sure to replace '' 'your_WHMCS' '' with your WHMCS directory path:  <pre>php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron </pre>
 
|}
 
|}
 +
 +
=Upgrade Guide=
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|4. If your client uses currency that is not WHMCS base currency (for example, WHMCS base currency is €, while client uses $):
+
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/>
An invoice for such client will be generated in the chosen currency, while usage record and calculation in Advanced Billing will use base currency.
+
 
 +
Opt for the [https://www.modulesgarden.com/products/whmcs/advanced-billing#open-source-version Open Source version] of your Advanced Billing For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/>
 +
 
 +
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.  
 
|}
 
|}
  
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|1. When you see an error message as shown on the screen below, that means your '' 'cron' '' directory privileges are insufficient.<br />
+
|style="padding: 0px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
To fix this, allow <strong>Read</strong> permissions to directory. In most cases chmod 755 solves the problem.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 25px;"|[[File:AB2_39.png]]
+
|style="padding: 0px 0px 5px 15px;"|2. Cron Threads feature currently does not work for the EasyDCIM submodule. In case you have enabled Cron Threads, cron tasks for EasyDCIM submodule will be executed in a basic way.<br/>
 +
This option will be implemented in future releases of the Advanced Billing module.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. When you have problems with connection, check whether your SELinux or firewall does not block ports.
+
|style="padding: 0px 0px 10px 15px;"|3. If you encounter metric calculation problems with OpenStack Projects products, make sure you are using version '''1.9.0 or newer''' of OpenStack Projects, as earlier versions are not supported.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|3. You are unable to find specified line in clientareaproductdetails.tpl.<br />
+
|style="padding: 0px 0px 30px 15px;"|4. If you encounter the error message: <code>"You cannot enable the option. Please check the option configuration."</code> when trying to enable auto upgrade for a group, make sure all the conditions are met:
''Cause 1:'' You are using Classic or Portal template.<br />
+
* ''Upgrade Rules'' have been properly defined under the Upgrade Rules tab.
''Solution 1:'' In this case place required code after this line:
+
* ''Downgrade Rules'' have also been set in the Downgrade Rules tab.
<nowiki><div align="center">{$moduleclientarea}</div></nowiki><br />
+
* The ''Change Package'' process has been reviewed and confirmed.
''Cause 2:'' You are using heavily customized template.<br />
+
''Solution 2:'' Create a ticket and one of our specialists will help you set up the module.
+
 
|}
 
|}

Latest revision as of 10:10, 15 May 2025

Contents

[edit] About Advanced Billing For WHMCS

Advanced Billing For WHMCS enables you to implement flexible billing models based on the actual usage of resources such as bandwidth, CPU, and other server capabilities.

This module supports multiple currencies and offers various billing options, including hourly billing, credit billing, and recurring billing.
It automatically generates invoices according to your preferred settings and at customizable intervals, sending them directly to your customers.
Additionally, clients can set up email reminders to notify them when they reach or exceed specified resource usage limits.

Advanced Billing For WHMCS is compatible with many popular modules, including cPanel, Plesk, and SolusVM, as well as a variety of ModulesGarden products.

The Wiki page for Advanced Billing For WHMCS 3.x can be found here.

  • Core Features:
✔ Hourly Billing For Any WHMCS Module
✔ Specific Resources Billing For Integrated WHMCS Modules
✔ Configure And Manage Individual Product Billing
✔ View Billing Calculated Per:
✔ Single Service
✔ Cloud-Based Service Item - Proxmox VE Cloud VPS For WHMCS, SolusVM 2 VPS & Cloud For WHMCS
✔ View List Of Current And Archived Billable Items For Next Invoices
✔ View Item Resource Usage History
✔ Manage Awaiting Invoices And Convert Them To Invoices
✔ Define Summary Calculation Method
✔ Define Time Period Between Resource Usage Checks
✔ Configure Multithreaded Cron Job Settings
✔ Set Clearance Automation For Item Archive
✔ Customize Module Language Files With "Translations" Tool
✔ Control Staff Access Level To Specific Resources With ACL
✔ View And Manage Logs
  • 'Credit Billing' Configuration:
✔ Generate Invoice Every X Days
✔ Define Minimum Amount Of Credits To Charge
✔ Notify Clients Via Email About Low Credit Amount On Their Account
✔ Automatically Suspend Account When Client Is Out Of Credits - With Override Support
✔ Define Invoice Payment Due Date
✔ List Summary Credit Billing Charges Of Any Hosting
✔ Refund Credit Payment To Client
✔ Use Client Credits To Pay Invoices
  • 'Fixed Pricing' Configuration:
✔ Bill Clients With Fixed Amount For Active Service Usage After X Hours
✔ Define Number Of Hours For Service To Be Active
✔ Automatically Apply Credits If Available In Client Balance
✔ Add Tax To Generated Invoices
✔ Define Invoice Payment Due Date
✔ Define Fixed Payment Amounts In Available Currencies
  • 'Prepaid Billing' Configuration:
✔ Enable Clients To Top Up Account With Credits Available For Hosting
✔ Define Minimum Amount Of Credits To Top Up Account
✔ Generate Billing Overview Every X Days
✔ Access Billing Overview Of Credit Usage By Client
✔ Notify Clients Via Email About Low Credit Amount On Their Account
✔ Automatically Suspend Account When Client Is Out Of Credits
✔ Automatically Refill Client Credit Balance With Their WHMCS Credits
✔ Define Invoice Payment Due Date When Topping Up Account
  • 'Recurring Billing' Configuration:
✔ Bill On Account Termination
✔ Bill When Invoice Is Generated For Hosting
✔ Bill On Specific Day Of Month
✔ Bill Every X Days
✔ Define Minimum Billing Amount
✔ Automatically Generate Invoice
✔ Define Invoice Payment Due Date
✔ Automatically Apply Credits
✔ Display Advanced Billing Information
✔ Apply Discounts To Client Groups
  • 'Notifications' Configuration:
✔ Allow Clients To Create Multiple Resource Usage Reminders:
✔ Define Frequency Of Resource Checks
✔ Define Frequency Of Notifications
✔ Define Resource Usage Limits
✔ Define Maximum Number Of Reminders That Clients May Create
✔ Send Email Reminders To Clients Once Limit Is Reached Or Exceeded
✔ Choose Reminder Email Template
  • 'Usage Records' Configuration:
✔ Define Period For Counted Resource Usage
✔ Define Resource Usage Counting Precision
✔ Show History Of Resource Usage
✔ Display Usage Records Pricing
✔ Show Usage Details Per Subitem
  • 'Free Limit' Configuration:
✔ Use Product Configurable Options To Define Maximum Amount Of Usage Records That Will Not Be Charged
  • 'Graphs' Configuration:
✔ View Graphs In Admin And Client Area
✔ Generate Time Graphs Of Chosen Resource Usage
✔ Show Data For Selected Time Period
✔ View Disk Storage Used To Archive Data
  • 'Product Auto Upgrade' Configuration:
✔ Live Upgrade/Downgrade Of Products Along With Their Configurable Options Depending On Used Resources
✔ Admin Area:
✔ Define Product Auto Upgrade Groups
✔ Enable/Disable Product Auto Upgrade Groups
✔ Create Product Auto Upgrade Options
✔ Assign Product To Option - Configurable Options Support
✔ Define Options Upgrade/Downgrade Rules
✔ Set Up Minimum Upgrade/Downgrade Interval
✔ Enable/Disable Any Product Auto Upgrade Option
✔ Drag & Drop To Reorder Options
✔ Define Client Area Features
✔ View List Of Hosting Accounts Altered By Product Auto Upgrade
✔ Access Product Auto Upgrade History Of Any Hosting
✔ Client Area:
✔ Enable/Disable Product Auto Upgrade And Product Auto Upgrade Options
✔ Manage Product Auto Upgrade Option Rules
✔ Set Up Minimum Upgrade/Downgrade Interval
✔ View Product Auto Upgrade History Per Product
✔ Set Up Notifications Rules
✔ Define Minimum Notification Interval
  • Service Cancellation' Configuration:
✔ Allow Clients To Instantly Terminate Their Services, Stop Billing And Issue Applicable Refund
  • Supported Modules:
cPanel Extended & cPanel Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts
DigitalOcean Droplets Integration: Hourly, Memory, Disk, Backups, Volumes, vCPUs, Size, Snapshots
DirectAdmin Extended & DirectAdmin Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders
EasyDCIM Dedicated Servers Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile IN/OUT/TOTAL Bandwidth Overages
EasyDCIM Colocation Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile Bandwidth IN/OUT/TOTAL Overages, Power Usage
Hetzner Cloud Servers Integration: Backups, CPU Usage, CPUs, Disk, Disk Bandwidth Read, Disk Bandwidth Write, Disk IOPS Read, Disk IOPS Write, Floating IP Addresses, Hourly, Ingoing Traffic, Memory, Network Bandwidth In, Network Bandwidth Out,
Network PPS In, Network PPS Out, Outgoing Traffic, Snapshots, Volumes
OpenStack Projects Integration (V1.9.0 And Higher): CPU Time, Disk Device Read Bandwidth, Disk Device Read Requests, Disk Device Write Bandwidth, Disk Device Write Requests, (Custom) Floating IPs, Image Size, (Custom) IP Addresses, Load Balancers, Memory,
Memory Usage, (Custom) Network Incoming Bytes Bandwidth, (Custom) Network Incoming Packets, (Custom) Network Outgoing Bytes Bandwidth, (Custom) Network Outgoing Packets, OS Images, Snapshot Size, Storage Volumes, VCPU Cores, Volume Size
OpenStack VPS & Cloud Integration: Hourly, vCPU Cores, Memory Usage, CPU Utilization, Incoming Bandwidth, Outgoing Bandwidth, Disk Root Used, Disk I/O Read, Disk I/O Write, Floating IP Address, Fixed IP Address, Backups Number, Load Balancers
Plesk Extended & Plesk Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic
Proxmox VE Cloud VPS Integration: Disk Usage (LXC), Disk Size, Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage, CPU Cores Usage, Snapshots
Proxmox VE VPS & Cloud Integration: Hourly, Disk Usage (LXC), Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Backups Usage, CPU Number, CPU Usage, CPU Cores Usage, Snapshots
Rackspace Email Extended Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes
SolusVM Extended Cloud Integration: Available Disk Size, Disk Usage, Available Bandwidth, Available Memory, Cores, IP Addresses, Disk Usage, Memory Usage (except KVM virtualization), Bandwidth Used
SolusVM Extended VPS & SolusVM Integration: Hourly, Disk Usage, Available Disk Size, Memory Usage (except KVM virtualization), Available Memory, Bandwidth Used, Bandwidth Total, CPU Number, Swap-Burst, IPv4, IPv6, Internal IP Addresses
SolusVM 2 VPS & Cloud & SolusVM 2.0 Integration: Backups, CPU Units, Disk, Hourly, Images, IPv4, IPv6, Memory Usage
✔ Virtualizor Integration: Bandwidth Usage, CPU Units, CPU Cores, CPU Usage, Disk Size, Disk Usage, RAM Size, RAM Usage, Network Speed IN, Network Speed OUT, I/O Disk Read, I/O Disk Write, IPv4 Addresses, IPv6 Addresses
Virtuozzo Hybrid Infrastructure S3 Integration: OPS Other, OPS GET, OPS PUT, OPS LIST, OPS Total and Uploaded, Downloaded, Storage
Virtuozzo Hybrid Server Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage
Zimbra & Carbonio Email Integration: Hourly, Mailboxes, Email Aliases, Domain Aliases, Storage
  • General Info:
✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, cPanel Extended, DirectAdmin & DirectAdmin Extended
✔ Fast Billing Calculation Via Multithreading Cron Jobs
✔ Multi-Currency Support
✔ Multi-Language Support With Custom Translations Tool
✔ Supports PHP 8.3 Back To PHP 8.1
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.13 Back To WHMCS V8.9
✔ Requires ionCube Loader V14 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation

In this tutorial, we will show you how to successfully install and manage Advanced Billing For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to our client area and download the module.
AB4 1.png
2. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

AB4 2.png
3. When you install Advanced Billing For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/AdvancedBilling4/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

AB4 2 1.png
4. In order to configure your license key, you have to edit a previously renamed 'license.php' file.

Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

AB4 2 2.png
5. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Click 'System Settings' , then choose 'Addon Modules'.
Afterward, find 'Advanced Billing' and press the 'Activate' button.

AB4 3.png
6. In the next step, you need to permit access to this module.

To do so, click on the 'Configure' button, tick the desired admin roles, and press 'Save Changes'.

AB4 4.png
7. The final step is to configure the cron job.

Navigate to: WHMCS → Addons → Advanced Billing → Settings → Cron Job Settings page to obtain the correct cron command.
Once you have the command, manually add it to your server's crontab. We recommend setting it to run every 5 minutes:

 php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron  

Note: This cron starts a background, continuous process. The 5-minute interval is a backup mechanism that ensures the process restarts automatically if it stops for any reason.
In normal operation, only one process remains active at a time.

[edit] Configuration and Management

Advanced Billing For WHMCS is a module that allows you to set up flexible billing models based on your client's actual usage of resources like bandwidth and CPU.

Refer to the manual below to learn how to configure the module and make full use of its extensive features.

[edit] Products

To enable Advanced Billing For WHMCS features for a product, navigate to 'Addons' 'Advanced Billing' 'Products' and click on the 'Add Product' button.

Select your product from the dropdown list.

AB4 6.png
Once your products are added use the action buttons to:
  • Set Pricing
  • Configure Settings
  • Show Related Items
  • Delete Product from the List
AB4 7.png

[edit] Pricing

Set pricing for each usage record for a product.

The pricing list includes information on each usage record:

  • Name
  • Unit
  • Billing Status
  • Extended Pricing

Click on the 'Edit' button to set up billing for a usage record.

AB4 8.png
Under the general tab you can:
  • Enable or Disable Billing for the Record
  • Select Billing Type
    • Last - calculates the total based on the most recent reading only.
    • Summary - sums all collected records and bills based on the cumulative amount.
    • Hourly - averages hourly readings and bills according to that average.
  • Select Unit
AB4 9.png
The pricing tab is where you set:
  • Price - the value per unit that clients will be billed with.
  • Free Usage Amount - the number of set units that, when exceeded, will enable billing.
AB4 10.png

[edit] Product Configuration

The 'Settings' action will take you to the configuration window where you can adjust various features for the product.

[edit] Product Settings

Set general product settings related to summaries, cron frequency and client area integration.
  • Cron Frequency - define how often the cron will run for the product. Use seconds as the unit.
  • Summary Calculation Method - choose how summaries are calculated:
    • Total Sum
    • Total Average (Hourly only)
  • Client Area Integration - toggle to enable client area integration for the product, this option does not add features on its own but is a requisite for other functions to be displayed in the client area.
AB4 11.png

[edit] Module Settings

Configure product module-specific settings such as:

cPanel Extended

  • Application Manager
  • cPanel Theme

Proxmox VE Cloud VPS

  • Free IPv4 Addresses
  • Free IPv6 Addresses

OpenStack

  • OpenStack Timezone
  • Local Timezone

and more.

AB4 12.png

[edit] Credit Billing

Credit Billing allows your clients to be charged with their credits instead of the standard methods.
Note: This function is separate from the WHMCS 'Credit Balance'.

Enable the functionality with the 'Enable Credit Billing' toggle and configure the details:

  • Create Invoice Every - dictates how often invoices are generated for the product.
  • Minimum Credit - the minimum amount that will be charged from the client account credit balance.
  • Low Credit Notification - if this value is higher than the credits on the client's account, an email will be sent to your client regarding the low credit amount.
  • Email Interval - defines how often low credit notification email will be sent, the interval refers to the number of days.
  • Autosuspend - when the credit balance reaches 0, the product ordered by the client is automatically suspended and an invoice reminding of the lacking amount will be generated.
    Note: This function also takes account of the ''Override Auto-Suspend' feature.
  • Due Date - determines how many days after the invoice is generated the payment is due.
  • Use Client Credits - if enabled, the invoices can be paid with the client credits. If disabled, the default payment method will be used.
AB4 13.png

[edit] Fixed Pricing

Fixed Billing charges clients a set amount after a specified number of hours of active service usage.
This feature lets you define a fixed price per product, billed automatically once the usage threshold is reached.
  • Auto Apply Credits - enable to automatically apply user credits if available.
  • Tax - if enabled, the tax will be added to the created invoice.
  • Hours - define a number of hours that must pass before the service is billed at a monthly rate.
  • Due Date - define payment due date.
  • Currency - set the pricing amount in any currency to bill clients after a declared number of hours has passed.
AB4 14.png

[edit] Prepaid Billing

Prepaid Billing enables charging clients directly from their prepaid credit balance.
It also provides summary billing, combining charges into a single summary instead of generating separate invoices.
  • Billing Overview Interval (Days) - define how often billing overviews should be refreshed.
  • Minimum Credit - determine the minimum amount that will be charged from the client's account.
  • Low Credit Notification - define the credit balance low point when an email notification will be sent.
  • Email Interval - set interval for email notifications, measured in days.
  • Autosuspend - suspend the account automatically if the user does not have sufficient funds.
  • Due Date - number of days between the invoice being generated and due date.
AB4 15.png
The client area will include the summations and a way for the client to top up his credit balance.

After the client indicates the amount of credits to be added to his account, an invoice will be generated for it.
Only after the invoice is paid, will the client receive the credits.

AB4 13 1.png

[edit] Recurring Billing

Recurring Billing automatically charges clients on a regular schedule for their products.
This feature simplifies ongoing payments by setting up recurring billing cycles.
  • Invoice on Termination - when the account connected with your module is terminated, an invoice for the account will be generated.
  • Billing Type - enables you to choose how to bill your client.
    • Bill On Invoice Generated - new items will appear on the renewal invoice for the hosting account just as it is generated by WHMCS.
    • Bill On Specific Day - generates invoices each month on the day specified in the 'Billing Type Value'.
    • Bill Every X Days - generates an invoice each X days where X is the number specified in the 'Billing Type Value' field.
  • Due Date - the number of days in which your customers will have to pay the invoice.
  • Auto Generate Invoice - if enabled, the invoices are automatically generated and sent directly to your customers.
  • Auto Apply Credits - automatically applies any available credits when an invoice is created. Works only if the 'Auto Generate Invoice' option is enabled.
  • Show Advanced Billing Information - this will replace any 'Billing Cycle' with 'Hourly Billing' on the product management page in the client area.
  • Apply Group Discount - enable if you want to apply the discount to the invoice set in the client group.
AB4 16.png

[edit] Notifications

Notifications allow clients to set up email reminders that are sent when their resource usage reaches or exceeds specified limits.
This feature helps clients stay informed about their usage and avoid unexpected charges.
  • Reminder Limit - limit how many reminders a client can create.
  • Email Template - email template that will be used.
AB4 17.png
The predefined 'Advanced Billing Resource Usage Reminder' features variables that you can also use in your own templates:
  • {$reminder_name} - the name of a reminder set by a client.
  • {$type} - the resource type for which the limit has been set by a client. E. g. 'Storage' , 'Bandwidth' etc.
  • {$usage} - the current recorded usage value of the resource type the limit is set for.
  • {$limit} - the limit value defined by a client whose reaching or exceeding results in sending the notification.
  • {$unit} - the unit of the billed record. E.g. 'MB' , 'GB' etc.
AB4 17 2.png
Once the function is enabled, clients will see the 'Reminders' table where they can add and manage their notifications.

To add a new notification click on the 'Add Reminder' button.

AB4 17 1.png
Provide the following:
  • Name - name your reminder, it is used in the default notification template.
  • Checks Frequency - how often a resource check is performed, in hours.
  • Reminders Frequency - limits how often a reminder can be sent, in hours.
AB4 17 3.png
Once the reminder is added, it can be managed using the action buttons:
  • Edit Reminder
  • Define Limits
  • Delete
AB4 17 4.png
While defining the limits, you can scroll the list of resources horizontally.
The fields for each include:
  • Used - current recorded usage of the given resource.
  • Operator - logical operator used for the argument.
  • Value - the value for the logical operation.

For example, we can set the reminder to be sent after the bandwidth is 'is more' than 20000MB, as shown on the screen below.

AB4 17 5.png
Make sure to enable the reminder after the limits are defined for it.
AB4 17 6.png

[edit] Usage Records

Usage Records displays clients' resource usage data and usage history directly on the product page in the client area.
This feature allows clients to easily track their resource consumption over time.
  • Display Summary From - defines the period for which usage records will be counted.
  • Usage Records Precision - the number of decimal digits indicating the precision of usage records.
  • Records History - displays history of usage records.
  • Display Usage Records Pricing - displays usage record pricing for the product during the order process.
  • Show Usage Details Per Subitem - display detailed usage history for subitems in cloud services.
    Additional usage details will be listed in the 'Usage Details Per Subitems' on the service page in the client area.
AB4 18.png
Enabling the extension will display the current usage in the client area.
Enabling the 'Records History' function will also display usage from previous periods.
AB4 18 2.png
The 'Display Usage Records Pricing' will display the pricing table when clients prepare thier order.
AB4 18 1.png
The 'Show Usage Details Per Subitem' will display detailed usage history for subitems in cloud services.
Additional usage details will be listed in the Usage Details Per Subitems on the service page in the client area.

Note: The screen below is taken from the Proxmox VE Cloud VPS product view, not cPanel Extended, as all other illustrations in this section.

AB4 18 3.png

[edit] Free Limit

Free Limit allows you to set free usage limits for a product based on its Configurable Options.

This feature enables precise control over complimentary usage thresholds before charges apply.
After enabling the feature with the 'Enable Free Limit' toggle, select the configurable options responsible for the resources below.
The configurable option has to be created for the product first. The configurable option value represents the resource in units selected under 'Products' 'Pricing'.
Leave fields empty, to not enable the free limit on selected resources.

AB4 19.png

[edit] Graphs

Graphs provide a graphical display of usage records for each configured service.
This feature helps visualize resource consumption trends over time.
Use the 'Show Enabled Records Only' option to hide records with no pricing enabled.
AB4 20.png
With the functionality enabled, clients will find a graph of their usage displayed in the client area.

They will be able to change the graph's scope and resources displayed.

AB4 20 1.png

[edit] Product Auto Upgrade

Product Auto Upgrade automatically upgrades or downgrades products based on resource usage, following the rules you set.
Clients can choose whether to allow automatic adjustments and can even configure their own rules for product resizing.

For more information on available settings, visit the Product Auto Upgrade Management section.

AB4 21.png
Depending on the settings, clients will be able to:
  • Enable/disable automatic upgrades for their product.
  • Set a minimum time interval that has to pass between upgrades.
  • Include/exclude certain upgrade options.
  • See and/or change upgrade conditions.
  • See their upgrade history.
  • Set upgrade notifications based on resource usage.
AB4 21 1.png

[edit] Service Cancellation

When enabled, this setting allows clients to immediately terminate their service directly from the product page in the client area.

The cancellation bypasses the standard queue, and the service is terminated right away.
Billing is stopped instantly, and if applicable, any remaining balance is refunded.

AB4 21 2.png
In the client area, an additional box will appear at the very bottom of the product page with a "Cancel Service" button.
Clients can click this button, provide a reason for cancellation, and confirm the action. The service will then be terminated immediately.
AB4 21 3.png
AB4 21 4.png

[edit] Items

Items with resource usage counted can be found in the 'Items' section.

The 'Item List' includes current billable items, while the 'Item Archive' lists historical items that are already billed.

[edit] Item List

You can find the 'Item List' under 'Items'.

The list includes information such as:

  • Item ID
  • Hosting Name
  • Client Name
  • Total Amount
  • Last update

And action button responsible for:

  • Viewing details
  • Viewing the graph
  • Deleting the item from the list
AB4 22.png
You can mark multiple items with the mass delete function when necessary as well.
AB4 23.png
Clicking on the 'View Details' button will display the page with all the usage recorded.

The page includes action buttons responsible for:

  • Deleting the item
  • Generating an invoice for the item
AB4 24.png
The 'View Graph' button will in turn display a resource usage graph for the item.
You can aspects of the graph scope by clicking on the 'Edit' button.
AB4 25.png
Select the resources and time scope you would like the graph to include.
AB4 26.png

[edit] Item Archive

You can find the 'Item Archive' under 'Items'.
It included items that are already billed.

The list includes information such as:

  • Item ID
  • Hosting Name
  • Client Name

And action button responsible for:

  • Viewing details
  • Deleting the item from the list
AB4 27.png
You can mark multiple items with the mass delete function when necessary as well.
AB4 28.png
Finally, you can flush your archive, deleting items meeting the criteria set in Item Archive Configuration.
AB4 28 1.png

[edit] Billing

All billing related management can be found under the 'Billing' section.

This includes 'Invoices' and 'Credits'.

[edit] Invoices

Invoices created both automatically and manually can be found here.

The invoice list includes:

  • Invoice ID
  • Client Name
  • Hosting Name
  • Product Name
  • Total
  • Date
  • Due Date

And action buttons responsible for:

  • Generating the invoice
  • Displaying details
  • Deleting the invoice
AB4 30.png
You can also utilize the mass function to generate or delete multiple invoices at once.
AB4 31.png
Invoice details consist of editable fields such as:
  • Invoice Date
  • Invoice Due Date

and every billed item with its:

  • Description
  • Amount
  • Tax toggle
AB4 32.png

[edit] Credits

This tab lists all credit top-ups issued by the clients with the 'Credit Billing' function.

The list includes:

  • Client Name
  • Hosting
  • Credits Reserved
  • Amount Paid

and an action button allowing the admin to 'Refund' the credits to WHMCS 'Credit Balance'.

AB4 33.png
Multiple top-ups can be selected to refund them at the same time.
AB4 33 1.png

[edit] Product Auto Upgrade Management

Under the 'Product auto Upgrade' you will be able to find tools to create and manage the auto upgrades based on resource usage.

This section is only relevant for products with the Product Auto Upgrade function enabled.

[edit] Configuration

Find the 'Configuration' tab under ' Product Auto Upgrade' and click on 'Add Group' to add a new group.
AB4 34.png
As you create the group, complete the following fields:
  • Name - name the group, the name will not be visible to clients.
  • Product - select the product the group will be applicable for.
  • Configurable Options Group - optionally include a configurable options group.
AB4 34 1.png
Once the group is added, the action buttons will allow you to:
  • Edit the group's settings.
  • Add and manage upgrade options within the group.
  • Delete the group from the list.
AB4 35.png
While editing the settings you will be able to change:
  • Group Name
  • Server Type
  • Time Interval - how often upgrades can happen (in minutes).
  • Notification Time Interval - how often the notification can be sent (in minutes).
AB4 36.png
You can also change what the client is allowed to do:
  • Client Rules Configuration - display rules configuration in the client area.
  • Rules Configuration - enable clients to change the upgrade rules for themselves.
  • Rules Disable - permit clients to disable some of the upgrade rules.
  • Time Interval - give clients the option to modify upgrades time interval.
  • Time Interval Values - define the allowed range for upgrades time interval (minutes).
  • Notifications - allow clients to manage notifications.
  • Notifications Time Interval - allow clients to modify notifications time interval.
  • Notifications Time Interval Values - define the allowed range for notifications time interval (minutes).
AB4 37.png

[edit] Option Configuration

The 'Options' action will take you to a page where you can define upgrade/downgrade options within the group and manage their status.

Before you can enable the Product Auto Upgrade single option, make sure the following configuration steps are completed:

  • Define "Upgrade Rules" – Go to the "Upgrade Rules" tab and set how resources or products should be upgraded. (Use Edit icon in action buttons).
  • Define "Downgrade Rules" – Open the "Downgrade Rules" tab and set up the conditions for product downgrades. (Use Edit icon in action buttons).
  • Confirm the "Change Package" – Once the rules are set, complete the configuration by approving the Change Package process.

All three steps must be completed before the toggle can be set to Enabled. Otherwise, you may encounter the following error message: You cannot enable the option. Please check the option configuration.

To start, simply click the Add Option button and name your new option.

AB4 38.png
After the option is added, it will appear on the list. Use the action buttons to perform actions:
  • Edit – Define the upgrade and downgrade rules by selecting the appropriate Comparison Type and Threshold for each option.
AB4 41.png
  • Change Package – Select the package that will be used for this option. This step is required to finalize the rule configuration.
AB4 39.png
  • Change Description – Add custom descriptions for each option configuration.
  • Delete – Remove the option from the group.
AB4 39 0.png
You can also use the mass action tools to delete or change packages for multiple options at once.
AB4 40.png

[edit] Accounts

Services or 'Accounts' that make use of the 'Product Auto Upgrade' are recorded and listed in the 'Accounts' section under 'Product Auto Upgrades'.

The list includes information such as:

  • Hosting ID
  • Client Name
  • Product Name
  • Option ID

The 'Details' action button will display more information on a specific account.

AB4 43.png
The details include a list of auto upgrades complete with:
  • Date of the update
  • Type
  • Option before the upgrade
  • Option after the upgrade
  • Message regarding the action taken
AB4 44.png

[edit] Client Area

Depending on the option's setting, several features can be made available to the client.

Assuming 'Client Rules Configuration' is enabled, clients will be able to change how their service interacts with the system by clicking on the 'Settings' icon under 'Auto Upgrade'.

AB4 44 1.png
Options may include:
  • Enable Auto Upgrade - can be turned off to disable auto upgrades altogether.
  • Time Interval - change the minimum time that has to pass between upgrades.
AB4 44 2.png
Under the 'Rules Options' tab, the client can select which rules to enable.
AB4 44 3.png
Service upgrades are recorded and displayed in the 'Auto Upgrade History' table.
AB4 44 4.png
Notification messages for upgrades can be set up by the user, first, click on the additional actions button.
AB4 44 5.png
Enable the function and select the interval between each message.
AB4 44 6.png
To add a new notification use the 'Add Notification' button.
AB4 44 7.png
Select the resource, comparison and unit for the notification.
AB4 44 8.png
You can add as many notifications as you would like.
Action buttons allow you to edit or delete the notification.
AB4 44 9.png

[edit] Settings

[edit] Cron Job Settings

This section provides the command required to initiate the billing process handled by the module. The cron job is essential to perform automated billing actions in the background.

Please manually add the below command to the crontab, remember to adjust the path to match your WHMCS installation:

 php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron    
The cron can be customized with the following options:
  • Cron Memory Limit - limit how much memory the cron can use (in megabytes). If exceeded, the cron will restart. Leave empty or set to 0' to disable the limit.
  • Cron Threads - toggle to enable cron threading.
  • Threads Limit - limit the number of threads for the above function.
  • Thread Accounts - limit the number of accounts per thread
  • Clear Logs - toggle to have the cron clear logs.
  • Clear After [days] - enter how old the logs have to be to be subject to clearing (in days). The default is 365 days.
AB4 5.png
Cron job additional options:
  • --force → Runs a single cron loop immediately.
  • --single → Forces execution of the module-specific cron.
  • --ignore-product-frequency → Runs cron without applying product frequency settings.
    Note: If you prefer not to run the module in daemon mode (as the module runs continuously by default), you can use these cron options to control execution manually.

[edit] Item Archive Configuration

In this section, you can set up the item archive to your preferences. The top of the tab includes a counter that lists the total archived items and how much disk space it occupies.
  • Clear Automatically - Enable to automatically clear the item archive under specified conditions.
  • Flush Interval - Decide how often (in days) the flush should happen.
  • Delete Archive Items Older than - Decide how old the archive items have to be to be subject for deletion during flush.
AB4 5 1.png

[edit] Other

Other useful tools and features directly related to the module functioning can be found in the 'Other' section.

This includes:

  • Translations Tool
  • Access Control
  • Module Logs

[edit] Translations

Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon.
Its user-friendly design makes managing various language file tweaks a smooth and efficient process.

Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here.

AB4 tr.png

[edit] Access Control

'Access Control' allows you to specify and control exactly which sections of the module can be accessed by your administrators.
The way it works is that you create access control rules in which you decide if a specific admin, or admin role has full access, or is restricted to only specific sections.

For more detailed information on the available modules that include this tool, please refer to the Access Control Tools Wiki Page.

[edit] Rules

Start with creating a new rule, click on the 'Create Rule' button and a dedicated form will appear. Below you will find a description of every field required in the form.

AB4 46.png
Fill out the following fields to create resources access rule:
  • Rule Name - Pick a name for your rule.
  • Grant Full Access - Enable to grant full access to all sections of the module to the specified personnel. Disable to specify in two additional fields below, to which resources access will be granted, and to which it will be denied.
  • Allow Access To - Designate the resources that the specified personnel will have access to.
  • Restrict Access To - Specify the resources that the specified personnel will not have access to.
  • Administrators - Specify which singular administrators will be subject to the new rule. If the specific administrator is already included in the group you have picked, you do not need to add him separately.
    Note: All restrictions for specific administrators are summed with the restrictions on their role groups, across all rules.
  • Administrator Roles - Specify which administrator role groups will be subject to the new rule.

Important: When picking specific sections, keep in mind that allowing a parent section will also allow all of its children.
For example by allowing 'Access Control' you allow every section of it
If you would like to give access to everything about Access Control, but the ability to delete logs, you can pick 'Access Control' in 'Allow Access To' and then 'Access Control → Logs → Delete' in 'Restrict Access To.'
Restrict takes precedence over Allow, so if a specific section is included in both, it will be restricted.

AB4 47.png
To edit or delete existing rules, use the icons to the right.
AB4 48.png

[edit] Resources

Use the toggles in the 'Resources' section to specify which of them should be subject to logging, found in the 'Logs' section.
Every time an administrator requests a toggled resource, it will be recorded.
AB4 49.png

[edit] Access Control Logs

The logs section includes:
  • Log ID
  • Name of the administrator
  • Requested resource
  • Applied Resource
  • Rule Name
  • Date

Use the trash bin icons to delete specific logs, or utilize the mass action function to delete multiple logs at once.

AB4 50.png

[edit] Logs

The 'Logs' section under 'Other' is where the module logs are stored.

You can filter the module logs by type with the 'Show' buttons:

  • Error
  • Info
  • Both (Total)
AB4 51.png
You can delete logs either one by one or with the mass function.
AB4 52.png
Additional actions include:
  • Logging Settings
  • Log Export
  • Rule Based Deletion
AB4 53.png
In the settings you may decide:
  • Log Types - which type of logs should be recorded.
  • Clear automatically - if you would like to automatically delete logs older than defined number of days.
  • Delete Logs Older Than - how many days should pass before logs are automatically deleted.
AB4 54.png
While exporting you will have to specify which logs to export:
  • From
  • To
  • Log Types
AB4 55.png
You may also delete specific logs without finding them manually.
Simply define:
  • Log Types
  • Delete Logs Older Than
AB4 56.png

[edit] Use Cases

This section provides sample scenarios that demonstrate common use cases, showing how the module’s features can be applied in real-world situations.

Explore the examples below for practical insights into how the module works.

[edit] Flexible Cloud Services with Prepaid Billing and Cost Control

With Advanced Billing For WHMCS, you can deliver a cloud-like experience that gives clients full control over resource selection, deployment, and billing preferences.
Clients can top up their account balance and then deploy and manage virtual machines on demand, eliminating the need for separate orders.

You benefit from full cost transparency, a secure prepaid system, and automated billing, while your clients enjoy fast provisioning and real-time insights into their usage and expenses.

[edit] Key Benefits

  • Client autonomy - Clients pay once, top up their accounts, and deploy services anytime, without additional steps for approval.
  • Real-time cost overview - Clients can monitor daily costs, projected expenses, and pricing per resource (CPU, RAM, bandwidth).
  • Secure prepaid billing - Services activate only after funds are deposited, eliminating unpaid usage risks.
  • Self-service top-ups - Clients add credit anytime from the WHMCS client area.
AB4 56 0.png
  • Usage analytics - Clients gain access to detailed, near real-time tracking of individual resource usage.
AB4 56 1.png
  • Visual insights - Clients can view usage patterns through clear, intuitive graphical representations.
AB4 56 2.png
Billing options available in the module:
  • Prepaid Billing - Deducts charges from the client's prepaid credit balance, consolidating multiple charges into a single summary invoice, making it ideal for dynamic cloud environments.
  • Credit Billing - Deducts costs from a client's available credit instead of using standard payment methods.
  • Recurring Billing - Automatically charges clients at set intervals for their services.
  • Fixed Pricing - Bills a fixed amount after a defined number of usage hours. Suitable for predefined pricing plans.

[edit] Recommended Integrations

For cloud deployments, we recommend starting with:

For enterprise-level solutions, you may use:

[edit] Configuration steps

1. Install and configure your provisioning module. In this example, we use OpenStack Projects For WHMCS module.
Follow the installation guide to prepare the product for Advanced Billing integration.
AB4 57 5.png
2. Define pricing for each usage record.
AB4 57 9.png
3. Move to Product Settings of the OpenStack Projects product and adjust the following:
  • Cron Frequency - Set how often the cron should run (in seconds).
  • Summary Calculation Method - Choose between:
    • Total Sum
    • Total Average (Hourly only)
  • Client Area Integration - Enable to allow features like usage overviews and resource summaries to appear in the client area.
AB4 57 10.png
4. Enable and configure Prepaid Billing for the product an dfine-tune the billing behaviour:
  • Billing Overview Interval (Days) - Frequency for generating billing summaries.
  • Minimum Credit - Minimum charge amount per deduction cycle.
  • Low Credit Notification - Credit threshold that triggers a low balance warning.
  • Email Interval - Time (in days) between low balance reminder emails.
  • Autosuspend - Automatically suspend service if the client has insufficient funds.
  • Due Date - Days between invoice creation and due date (used if invoice generation is active).
AB4 57 6.png
5. Activate optional extensions for advanced usage visibility. We recommend activating:
  • Usage Records – for precise, near real-time tracking of resource consumption.
  • Graphs – for graphical visualization of usage trends in the client area.
AB4 57 7.png
6. That is all. Your configuration is complete. From this point on, Advanced Billing For WHMCS will handle cost tracking and charging automatically.

Your clients can now top up their balance, deploy services, monitor usage, and manage everything directly from the WHMCS client area.

AB4 57 8.png

[edit] Tips

1. In version 4.0, the "Extensions" section has been removed, so the module license must now be placed in the "license.php" file.
If upgrading from version V3.X, re-add the license to the "license.php" file and reissue it from your client area panel.

[edit] Update Instructions

Essential guidance through the process of updating the module is offered here

Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.

[edit] Module Upgrade From V3.X to V4.X

Upgrading from version 3.X to 4.0 requires additional steps due to the changes in the module structure. Please follow the instructions carefully to ensure a smooth transition.
  1. Optionally backup your language files and license.
  2. Delete all old module files.
  3. Upload new module files from version 4.0.
  4. Re-add the license to license.php and reissue it in your client area.
  5. Cron Job Update:
    • Delete the old cron job.
    • Kill the cron process.
    • Run the upgrade command:
      php -q whmcs/modules/addons/AdvancedBilling4/cron/cron.php upgrade run "4.0.0" 
    • Set the new cron job, make sure to replace 'your_WHMCS' with your WHMCS directory path:
      php -q /your_WHMCS/modules/addons/AdvancedBilling4/cron/cron.php cron 

[edit] Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Advanced Billing For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Cron Threads feature currently does not work for the EasyDCIM submodule. In case you have enabled Cron Threads, cron tasks for EasyDCIM submodule will be executed in a basic way.

This option will be implemented in future releases of the Advanced Billing module.

3. If you encounter metric calculation problems with OpenStack Projects products, make sure you are using version 1.9.0 or newer of OpenStack Projects, as earlier versions are not supported.
4. If you encounter the error message: "You cannot enable the option. Please check the option configuration." when trying to enable auto upgrade for a group, make sure all the conditions are met:
  • Upgrade Rules have been properly defined under the Upgrade Rules tab.
  • Downgrade Rules have also been set in the Downgrade Rules tab.
  • The Change Package process has been reviewed and confirmed.
Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
General
FAQ
Community
Advanced Billing For WHMCS