ownCloud WHMCS module
WHMCS module for ownCloud that automates the provisioning and management of ownCloud user accounts. The module supports automatic account creation, suspension, termination, password management, disk usage monitoring, and email notifications for disk space limits.
- Description
- Changelog
- Installation and Configuration Guide
- WHMCS setup (install/update)
- Setup guide: WHMCS setup
- Email Template (puqownCloud notification disk limit)
- Add server (ownCloud server)
- Product Configuration
- Client Area
- Admin Area
Description
ownCloud module WHMCS
Order now | Download | FAQ
ownCloud WHMCS module
The ownCloud WHMCS module is a provisioning module that integrates WHMCS with ownCloud servers, enabling cloud service providers to offer ownCloud-based accounts to their customers. The module automates the full lifecycle of user account management through API integration with ownCloud.
Main features
- Automatic account provisioning — auto create and deploy client ownCloud accounts upon order activation
- Account lifecycle management — create, suspend, unsuspend, terminate, change password, and change package (upgrade/downgrade) for ownCloud user accounts
- Disk usage monitoring — track and display disk usage statistics with historical data and configurable retention period
- Email notifications — automatic notifications when disk usage exceeds configurable thresholds, sent via WHMCS cron
- Multi-language support — 25 languages including Arabic, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Estonian, Farsi, French, German, Hebrew, Hungarian, Italian, Macedonian, Norwegian, Polish, Romanian, Russian, Spanish, Swedish, Turkish, and Ukrainian
- Client area integration — customers can view server address, credentials with copy-to-clipboard, disk usage pie chart, usage statistics, and access user manual
- Admin area tools — administrators can view license status, API connection status, user details (username, enabled status, group, email), and disk usage with visual progress bar
- Configurable username/password rules — flexible rules for automatic username and password generation using macros ({client_id}, {service_id}, {random_digit_x}, {random_letter_x}, date/time macros)
- Group management — assign ownCloud groups to users on the server side, automatic group creation
- Unlimited quota support — set disk size to 0 for unlimited storage
- License verification — built-in license system with online/offline verification and admin alerts
System requirements
| Requirement | Minimum |
|---|---|
| WHMCS | 9.x or higher |
| PHP | 8.2 or higher |
| ownCloud | 10.x or higher |
| ionCube Loader | v13 or newer (v14, v15) |
Links
- Product page: https://puqcloud.com/whmcs-module-owncloud.php
- Documentation: https://doc.puq.info/books/owncloud-whmcs-module
- Support: https://puqcloud.com/submitticket.php
- Community: https://community.puqcloud.com/
Screenshots
Client area — Home screen
01-description-client-area.png
Client area — Disk statistics
02-description-disk-stats.png
Admin area — Product information
03-description-admin-area.png
Changelog
ownCloud module WHMCS
Order now | Download | FAQ
v3.1 (01-03-2026)
- Added null coalescing checks for all array and superglobal accesses to prevent "Undefined array key" warnings
- Added null-safe operators for object property access where object can be null
- Fixed type safety for typed class properties (preventing
TypeErroron null assignment) - Added boundary checks for empty database query results
v3.0 (21-01-2026)
- Support for WHMCS 9+
- Redesigned product module settings
- Updated client area interface design
Note: Product reconfiguration is required after update.
v2.1 (31-07-2025)
- Fixed bug with uninitialized statistics data variables causing critical errors on statistics page (PHP 8.x)
v2.0 (23-09-2024)
- Module coded with ionCube v13
- Supported PHP versions: 7.4, 8.1, 8.2
- Compatible with WHMCS 8.11.0+
v1.3.1 (13-08-2024)
- Fixed password display bug when "Show password" set to "no"
v1.3 (06-06-2024)
- Mobile-optimized client area
- Added copy buttons for login and password credentials
v1.2 (21-12-2023)
- Support for ownCloud 10.13.3
- Server URL display with non-standard ports
- Password visibility toggle options
v1.1 (09-10-2023)
- Critical bug fix for incorrect client data
- Group deletion issue resolved during package changes
- Support for ownCloud 10.13.1.3
- 25 language translations added
v1.0 (04-03-2023)
- First release
Installation and Configuration Guide
Step-by-step instructions for installing, configuring, and setting up the ownCloud WHMCS module, including ownCloud server preparation, WHMCS integration, email templates, and product configuration.
WHMCS setup (install/update)
ownCloud module WHMCS
Order now | Download | FAQ
System requirements
| Requirement | Minimum version |
|---|---|
| PHP | 8.2 or higher |
| WHMCS | 9.x or higher |
| ionCube Loader | v13 or newer (v14, v15) |
Note: The module uses ionCube encoding. Make sure ionCube Loader is installed and active on your server.
Download
The module can be ordered and downloaded from PUQ Cloud:
- Order / Download: https://puqcloud.com/whmcs-module-owncloud.php
- FAQ: https://faq.puqcloud.com/
- Direct download link for the latest version:
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-ownCloud/php82/PUQ_WHMCS-ownCloud-latest.zip
Older module versions for WHMCS 8 are available in PHP-specific directories:
After downloading, extract the archive:
unzip PUQ_WHMCS-ownCloud-latest.zip
Installation
Step 1: Upload files
Extract the module archive and copy the puqownCloud directory to the WHMCS servers module directory:
WHMCS_WEB_DIR/modules/servers/puqownCloud
Step 2: Add server
- Enter the correct Name and Hostname
- In Server Details, select the PUQ ownCloud module
- Enter valid ownCloud web interface credentials (username and password)
- Click Test connection to verify
Step 3: Create product
- Select the PUQ ownCloud module in the Module settings section
- Configure the product parameters
Update
Step 1: Backup
Before updating, it is recommended to back up:
- WHMCS database
- Module files in
modules/servers/puqownCloud/
Step 2: Upload new files
Download and extract the new version, then overwrite all files in:
WHMCS_WEB_DIR/modules/servers/puqownCloud/
Step 3: Verification
- Log in to the WHMCS admin panel
- Check the module is functioning correctly
- Verify product settings
Important (v3.0): Product reconfiguration is required after updating to version 3.0.
Setup guide: WHMCS setup
ownCloud module WHMCS
Order now | Download | FAQ
System requirements
| Requirement | Minimum version |
|---|---|
| PHP | 8.2 or higher |
| WHMCS | 9.x or higher |
| ionCube Loader | v13 or newer (v14, v15) |
Note: The module uses ionCube encoding. Make sure ionCube Loader is installed and active on your server.
Older module versions for WHMCS 8 are available in PHP-specific directories:
Step 1: Download the module
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-ownCloud/php82/PUQ_WHMCS-ownCloud-latest.zip
Step 2: Extract the archive
unzip PUQ_WHMCS-ownCloud-latest.zip
Step 3: Copy module files
Copy the puqownCloud directory to:
WHMCS_WEB_DIR/modules/servers/
Step 4: Add server in WHMCS
- Enter the correct Name and Hostname
- In the Server Details section, select the PUQ ownCloud module
- Enter valid ownCloud web interface credentials (username and password)
- Click Test connection to verify the connection
04-add-server-1.png
05-add-server-2.png
Step 5: Create product in WHMCS
Select the PUQ ownCloud module in the Module settings section.
06-whmcs-setup.png
Email Template (puqownCloud notification disk limit)
ownCloud module WHMCS
Order now | Download | FAQ
Creating the email template
Template configuration
| Parameter | Value |
|---|---|
| Email Type | Product/service |
| Unique Name | puqownCloud Notification disk limit |
Email subject
Disk space usage {$disk_used_percentage} % - {$username}
Email body
Dear {$client_name},
This letter informs you that the disk space usage limit is coming to an end.
Product/Service: {$service_product_name}
Due Date: {$service_next_due_date}
Username: {$username}
Disk limit: {$disk_limit_bytes*$unit_coefficient} {$unit}
Disk used: {$disk_used_unit} {$unit} ({$disk_used_percentage} %)
Disk free: {$disk_free_unit} {$unit} ({$disk_free_percentage} %)
{$signature}
Available template variables
The following custom variables are passed to the email template by the module:
| Variable | Description | Example |
|---|---|---|
{$username} |
ownCloud username | john-42 |
{$disk_limit_bytes} |
Total disk quota in bytes | 10737418240 |
{$unit_coefficient} |
Coefficient for unit conversion | 1073741824 |
{$unit} |
Disk space unit | GB |
{$disk_used_unit} |
Used disk space in configured unit | 8.5 |
{$disk_free_unit} |
Free disk space in configured unit | 1.5 |
{$disk_used_percentage} |
Used space as percentage | 85 |
{$disk_free_percentage} |
Free space as percentage | 15 |
In addition, all standard WHMCS product/service merge fields are available (e.g. {$client_name}, {$service_product_name}, {$service_next_due_date}, {$signature}).
Note: Notifications are sent automatically during the WHMCS daily cron execution when disk usage reaches the threshold configured in the product settings ("Notify at %").
Screenshots
07-email-template-1.png
08-email-template-2.png
Add server (ownCloud server)
ownCloud module WHMCS
Order now | Download | FAQ
Adding an ownCloud server to WHMCS
Step 1: General settings
Enter the correct Name and Hostname for your ownCloud server.
- Name — a descriptive name for the server (e.g. "ownCloud Production")
-
Hostname — the domain name or IP address of your ownCloud installation (e.g.
cloud.example.com)
If your ownCloud uses a non-standard port, enter it in the Port field. Check the Secure checkbox if your server uses HTTPS (recommended).
04-add-server-1.png
Step 2: Module settings
- In the Server Details section, select the PUQ ownCloud module from the dropdown
- Enter valid credentials for the ownCloud web interface:
- Username — ownCloud administrator username
- Password — ownCloud administrator password
- Click Test connection to verify the connection is working correctly
The test connection verifies that the module can reach the ownCloud OCS API (/ocs/v1.php/cloud/users/) and authenticate with the provided credentials.
05-add-server-2.png
Important: The ownCloud user must have administrator privileges to manage users via the API. The module uses the ownCloud OCS API v1 with HTTP Basic Authentication to create, modify, suspend, and delete user accounts.
Product Configuration
ownCloud module WHMCS
Order now | Download | FAQ
Add new product to WHMCS
Select the PUQ ownCloud module in the Module settings section.
Configuration parameters
| Parameter | Description |
|---|---|
| License key | A pre-purchased license key for the PUQ ownCloud module. The license must be active for correct operation. After saving, the verification status is displayed below the field. |
| Disk size | Allocated disk space for the ownCloud user. Set to 0 for unlimited quota. Minimum value: 0. |
| Disk unit | Unit used for the allocated disk space. Available options: MB, GB, TB, PB. |
| Notify at % | Disk usage threshold in percent (1–100). A notification email is sent when usage reaches this value. Default: 90. Set to 0 to disable notifications. |
| Email template | Email template used for low disk space notifications. Select from available Product/service type email templates. The template must be created manually in WHMCS (see Email Template page). |
| Save history (days) | Number of days to store disk usage statistics in WHMCS. Older records are automatically deleted during cron execution. |
| Group | ownCloud group assigned to the user on the server side. The group is created automatically if it does not exist. When changing packages, the user is removed from all groups and added to the new group. |
| Username rule | Rule for automatic username generation using macros (see below). Default: {client_id}-{service_id}. |
| Password rule | Password generation rule in length:charset format (see below). Default: 12:123456789QAZWSXEDCRFVTGBYHNUJMIKqazwsxedcrfvtgbyhnujmikolp. |
| Link to instruction | URL to instructions displayed as a button in the client area. Leave empty to hide the button. |
| Show password | Defines how the password is shown in the client area. Options: Show button (hidden by default, revealed on click), Plain text (always visible), No (hidden, no option to reveal). |
Username rule — available macros
The username is generated automatically when a new account is created. You can use the following macros:
| Macro | Description | Example |
|---|---|---|
{client_id} |
WHMCS client ID | 123 |
{service_id} |
WHMCS service ID | 456 |
{unixtime} |
Current Unix timestamp | 1707638400 |
{year} |
Current year | 2026 |
{month} |
Current month (01–12) | 02 |
{day} |
Current day (01–31) | 12 |
{hour} |
Current hour (00–23) | 14 |
{minute} |
Current minute (00–59) | 30 |
{second} |
Current second (00–59) | 45 |
{random_digit_x} |
x random digits (0–9) | {random_digit_4} → 7394 |
{random_letter_x} |
x random letters (A–Z, a–z) | {random_letter_6} → aBcDeF |
Examples:
-
{client_id}-{service_id}→123-456 -
oc-{random_digit_6}→oc-384729 -
user-{client_id}-{random_letter_4}→user-123-aBcD
Note: If the generated username already exists on the ownCloud server, the module automatically appends a counter:
username-1,username-2, etc.
Password rule — format
The password rule uses the format length:charset, where:
- length — number of characters to generate
- charset — set of characters to use
Examples:
-
12:abcdefghijklmnopqrstuvwxyz0123456789— 12 lowercase alphanumeric characters -
16:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789— 16 mixed-case alphanumeric -
20:0123456789— 20 digits only
If no rule is specified, a 12-character password is generated from a default character set.
Important notes
Warning: This module works only as a server module (Products/Services). It cannot be used as an addon product. Attempting to use it with addon products will result in an error.
Screenshot
09-product-configuration.png
Client Area
Overview of the client-facing features available in the ownCloud WHMCS module, including the home screen, email notifications, and disk usage statistics.
Home screen
ownCloud module WHMCS
Order now | Download | FAQ
Client area home screen
The end customer, after logging in to the client panel, sees the service management page with the following sections:
Service information
- User manual — a button linking to the instruction URL (only displayed if configured by the administrator in product settings, "Link to instruction" field)
- Web interface address — clickable link to the ownCloud server (automatically handles HTTPS/HTTP and non-standard ports)
- Username — the ownCloud username with a copy-to-clipboard button
-
Password — displayed according to the "Show password" product setting:
- Show button — password is hidden by default, revealed when the user clicks the show button; copy-to-clipboard button is always available
- Plain text — password is always visible in plain text; copy-to-clipboard button available
- No — password is completely hidden with no option to reveal
Disk usage
- Pie chart — visual representation of used vs. free disk space (powered by Google Charts)
-
Data table with the following fields:
- Disk limit (displays "Unlimited" if quota is set to 0)
- Disk used
- Disk free
- Disk used percentage
- Disk free percentage
Sidebar navigation
The client area sidebar contains two menu items:
- Information — the main service details page (described above)
- Used space statistics — historical disk usage charts (see Disk statistics page)
Note: If the service status is not Active or if the ownCloud user cannot be found, an error page is displayed instead.
Screenshot
10-home-screen.png
Email notification
ownCloud module WHMCS
Order now | Download | FAQ
Email notification example
Below you can see an example of an email notification regarding data limit.
When the customer's disk usage exceeds the configured notification threshold (set in the product configuration as "Notify at %"), the system automatically sends an email notification using the configured email template.
Screenshot
11-email-notification.png
Disk statistics
ownCloud module WHMCS
Order now | Download | FAQ
Disk usage statistics
The client can check the data usage statistics in the menu item "Used space statistics".
The statistics page displays two charts:
Last 30 days
A column chart showing daily disk usage for the last 30 days. Each bar represents the amount of disk space used on that day.
Average per month
A column chart showing the average monthly disk usage. This provides a long-term overview of storage consumption trends.
Both charts are powered by Google Charts and automatically resize to fit the browser window. The data is collected by the WHMCS cron job and stored in the database for the number of days configured in the product settings ("Save history" parameter).
Note: Statistics data is only available after the WHMCS cron has run at least once with the UsageUpdate function. The retention period is configurable per product in the "Save history (days)" setting.
Screenshots
12-disk-statistics-1.png
13-disk-statistics-2.png
Admin Area
Administrative features and tools available in the WHMCS admin panel for managing ownCloud services.
Product Information
ownCloud module WHMCS
Order now | Download | FAQ
Admin area product information
The administrator can view detailed service information in the WHMCS admin panel on the product/service page. The module adds a custom panel in the Module Data section with the following information:
License verification status
Displays the current license status with a colored indicator:
- Green — license is valid and active
- Red — license is invalid, expired, or missing
API connection status
Shows the result of a real-time connection test to the ownCloud server, confirming that the API credentials are working correctly.
User information
| Field | Description |
|---|---|
| Username | The ownCloud username assigned to this service |
| Enabled | Whether the user account is currently enabled or disabled |
| Group | The ownCloud group(s) the user belongs to |
| The email address associated with the ownCloud account |
Disk usage
- Visual progress bar — a colored bar showing the proportion of used vs. free disk space
-
Detailed table with:
- Disk limit (total allocated quota)
- Disk used (current usage)
- Disk free (remaining space)
- Disk used percentage
- Disk free percentage
Available management actions
The standard WHMCS module command buttons are available:
- Create — provision a new ownCloud account
- Suspend — disable the ownCloud user
- Unsuspend — re-enable the ownCloud user
- Terminate — permanently delete the ownCloud user
- Change Password — reset the user's password
- Change Package — update disk quota and group assignment (used during upgrades/downgrades)
Screenshot
14-product-information.png