How to Install BoxBilling Manually

Install BoxBilling - Manual Installation

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.

Install BoxBilling

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

  1. 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.
  2. Log into SSH or cPanel Terminal.
  3. Navigate to the subdomain directory where you’ll install BoxBilling (e.g. “public_html/support”).
  4. Visit
  5. Right-click the “Download” button and copy the BoxBilling download link.
  6. In your terminal, paste the URL to download the GitHub repository:
  7. Unzip the package:
  8. While still in the BoxBilling root directory, run Composer:
    composer install
  9. Create a MySQL database and database user in cPanel or MySQL CLI. Remember to add the database user to the new database.

Install BoxBilling

  1. Visit your BoxBilling installation in a web browser to continue the setup process.
    BoxBilling installation step 1
    Version may require you to create the “/cache” and “/uploads” directories manually from the terminal.
    mkdir bb-data/cache bb-data/uploads
  2. After making any necessary changes, refresh the page. Select “Next” once everything on the setup is green.
  3. On the next page, type the database name, user name, and user password you created earlier. Select “Next.”
    BoxBilling installation step 2
  4. Type an admin username, email address, and strong password. Agree to the prompt stating “BoxBilling installer will create database.”
    BoxBilling installation step 3
  5. 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 file.
    BoxBilling installation step 4
  6. Ensure the bb-config.php file has the correct permissions:
    chmod 644 bb-config.php
  7. 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 “” Login with the admin credentials from the setup process.

BoxBilling admin user dashboard

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
BoxBilling Client Homepage

What Next?

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.

Included BoxBilling payment gateway integrations

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).

BoxBilling "News & Announcements" header

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.

Available BoxBilling extensions

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 Custom form builder
  • Default BoxBilling contact form

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.

  • General client registration settings
  • Custom BoxBilling registration form

Secure VPS HostingEnjoy high-performance, lightning-fast servers with increased security and maximum up-time with our Secure VPS Hosting!

check markLinux VPS check markcPanel or Control Web Panel check markScalable check markWebsite Migration Assistance

Linux VPS Hosting

InMotion Hosting Contributor
InMotion Hosting Contributor Content Writer

InMotion Hosting contributors are highly knowledgeable individuals who create relevant content on new trends and troubleshooting techniques to help you achieve your online goals!

More Articles by InMotion Hosting

2 thoughts on “How to Install BoxBilling Manually

  1. Hi there, I just wanted to give a friendly heads up that as of the time of writing BoxBilling is effectively dead. It’s going unmaintained, is full of bugs, security vulnerabilities, and a lot of it just doesn’t work.

    I would strongly recommend taking a look at FOSSBilling instead, it’s a fork of BoxBilling so it should feel very familiar for those who have used it, but the change log compared to the most recent version of BoxBilling is very, very significant. It is far from perfect, but compared to BoxBilling it is significantly more secure, stable, more things actually work, and most importantly, it’s actually under active development so security vulnerabilities and bugs will actually be fixed. I myself have probably poured 100s of hours of my free time into the project just focusing on improving it and making it better.

    At the end of the day, you should use what you want to use, but I do want people to consider the potential repercussions of using one or the other.

    1. Thanks for reaching out and letting us know. I’ll update the guide and add an alert letting people know as well.

Was this article helpful? Join the conversation!