BoxBilling is an open-source, self-hosted billing and customer relationship management (CRM) system. The free WHMCS alternative comes packed with essential features for any online business:
- Invoicing and payment processing
- Client management and communication
- Support ticket management
- Forum community
Below we’ll cover how to get started with BoxBilling on your Linux web server.
As of January 2022, the BoxBilling package in Softaculous is outdated and requires an unsupported PHP version (7.2). We recommend installing it manually.
Manual BoxBilling Download
- Ensure you have PHP 8.0 or 7.4 configured for the subdomain you’ll use for BoxBilling. cPanel server users can do this with MultiPHP Manager.
- Log into SSH or cPanel Terminal.
- Navigate to the subdomain directory where you’ll install BoxBilling (e.g. “public_html/support”).
- Visit https://www.boxbilling.org.
- Right-click the “Download” button and copy the BoxBilling download link.
- In your terminal, paste the URL to download the GitHub repository:
- Unzip the package:
- While still in the BoxBilling root directory, run Composer:
- Create a MySQL database and database user in cPanel or MySQL CLI. Remember to add the database user to the new database.
- Visit your BoxBilling installation in a web browser to continue the setup process.Version 18.104.22.168 may require you to create the “/cache” and “/uploads” directories manually from the terminal.
mkdir bb-data/cache bb-data/uploads
- After making any necessary changes, refresh the page. Select “Next” once everything on the setup is green.
- On the next page, type the database name, user name, and user password you created earlier. Select “Next.”
- Type an admin username, email address, and strong password. Agree to the prompt stating “BoxBilling installer will create database.”
- The installer will recommend you remove the installer module directory (if it wasn’t removed automatically) and harden the configuration file. Don’t forget to remove the BoxBilling.zip file.
- Ensure the bb-config.php file has the correct permissions:
chmod 644 bb-config.php
- Select “Finish” and “Admin Area” to log into BoxBilling as an admin user.
Log into BoxBilling
The admin URL for the BoxBilling admin area is “yourdomain.com/bb-admin/staff/login.” Login with the admin credentials from the setup process.
The public client area is the homepage for your BoxBilling site. The default options lead visitors to:
- Order products and services
- Access the default contact form
- View knowledge base articles and news
- Register an account
- Search the forum
Here’s a couple ideas to get you started with the free alternative to WHMCS.
Set up BoxBilling payment gateways your customers are most likely to use. PayPal and Stripe are most popular in the U.S. International clients may prefer others due to policy restrictions or cultural norms.
Write a short announcement about what’s to come from your new billing system. Don’t force customers to visit your social media pages for major updates to your services. The introductory post should explain plans for new features, services, blog ideas, and migrating data from your previous billing system (if applicable).
Check out the included BoxBilling extensions. There are over a dozen extensions you can activate for increased security, privacy, search engine optimization (SEO), and user experience (UX). We recommend starting with SpamChecker to keep your forums and inbox free from spam.
Create a custom contact form. A basic message block often isn’t enough to fully understand an inquiry from the customer (current or potential). You may need to know the contact’s customer status, location, budget range, or other info before you’re able to offer a meaningful response. Having a detailed contact form ensures you know everything necessary to give a great, first answer to any questions.
BoxBilling integration with WebHost Manager (WHM), Control Web Panel (CWP), and other server control panels are being revamped as of January 2022. Follow their social media for updates.
Once everything is ready, configure client registration settings. Start by enabling user signups in “Settings” > “Client.” Highlight extra fields you wish to require for user registration. Hold <kbd>Ctrl</kbd> to select more than one. Visit the “Custom Fields” tab to add any options not listed.