Giter Site home page Giter Site logo

boxbilling / boxbilling Goto Github PK

View Code? Open in Web Editor NEW
760.0 78.0 374.0 89.32 MB

BoxBilling - Open source billing and client management software

Home Page: https://boxbilling.org

License: Apache License 2.0

Shell 0.02% PHP 43.27% HTML 14.13% JavaScript 18.88% CSS 23.67% Makefile 0.03%
contributing community crm billing payments docker php mysql hosting bootstrap

boxbilling's Introduction


BoxBilling
BoxBilling

PHP Composer Download Latest BoxBilling Issues BoxBilling Demo BoxBilling Size License Contributor Covenant CodeFactor

Warning As of the time of writing (10-30-22), BoxBilling is no longer being actively maintained. FOSSBilling is a fork of it that is being actively developed. If you do decide to use BoxBilling, please be aware that it's current state has multiple bugs and vulnerabilities

BoxBilling is a free open source, billing and client management solution. Whatever the size of your online services business, whether a startup or established, BoxBilling can help you to automate your invoicing, incoming payments, and client management and communication.

If you run a web hosting business and are looking for an open-source alternative for billing and client management, then BoxBilling is the answer. Although it is mostly used as a solution for hosting businesses, there is no reason why you can't use BoxBilling for any other kind of online business, like digital downloads.

BoxBilling is designed to be extensible and to integrate easily with your favourite server management software and payment gateways.

📥 This is self-hosted software that is free for anyone to install — All you need is a web server, running PHP and a MySQL database. For more details, check the requirements section.

Contents

Requirements

The following environment is highly recommended for running BoxBilling. It may be possible to install and run the software in other environments, but it will be untested and unsupported.

  • A suitable web server (Apache/nginx/LSWS/Lighttpd)
  • PHP 8.0
    • PHP 8.1 hasn't been tested yet, and we strongly recommend you to go with PHP 8.0.x for the time being.
  • MySQL 8, or higher. MariaDB and other direct MySQL compatible DBs also work.
  • The Following PHP extensions:
    • pdo_mysql
    • curl
    • zlib
    • gettext
    • openssl

Example Configurations

Installation

Installing BoxBilling is pretty easy. Depending on how you plan to use it there are three different ways to install it:

  1. If you are using shared hosting, or are installing BoxBilling to use on a live production site, then you should probably download and install the latest stable version.
  2. If you're planning to contribute to BoxBilling's development, and wanting to make pull requests in the future, please directly install from latest source code instead.
  3. If you are familiar with Docker, you can also choose to install BoxBilling in a Docker container.

Download the latest stable version

We make a new release of BoxBilling whenever we have some new cool stuff to introduce you to, or when we fix some bugs 🐞. If you're planning to use BoxBilling in a production environment then this will likely be the best option for you, as these releases should be more secure and stable.

First, you should download the latest release from our GitHub repository. Each release has a file called "BoxBilling.zip" attached to it, and that's exactly what you need to download. Unlike the source code itself, releases already include the Composer packages, so you won't need to run Composer to install PHP packages. This is perfect if you are using shared hosting as you might not have the ability to run Composer yourself.

You can either download the .zip file to your local computer and then upload it to your server using FTP, or download it directly to your web server using wget or git clone. In either case, you will need to unzip it and make sure that the files contained in the archive are in the public folder of your site (usually, that's called "htdocs" or "public_html").

Your web directory's structure should now look like this:

  • htdocs
    • bb-data
    • bb-library
    • bb-module
    • ...

Next, you will also need to create a new empty MySQL database using the command line, or from your server control panel. Make a note of the database name, database user, and password, you will need them in the next step.

Now, you have everything ready to start the installation of BoxBilling, navigate to your domain using a web browser, and simply follow the on-screen instructions to complete the installation using the web installer. Ta-da, you've done it! 🎉

Install from latest source code

To install the latest development version of BoxBilling, you will need to get the latest up-to-date ZIP archive from the Github repository.

You can either download the .zip file to your local computer and then upload it to your server using FTP, or download it directly to your web server using wget or git clone. In either case, you will need to unzip it and make sure that the files contained in the archive are in the public folder of your site (usually, that's called "htdocs" or "public_html").

Your web directory's structure should now look like this:

  • htdocs
    • bb-data
    • bb-library
    • bb-module
    • ...

Next, you will also need to create a new empty MySQL database using the command line, or from your server control panel. Make a note of the database name, database user, and password, you will need them later.

We do not store the Composer packages in our GitHub repository, we use Composer for that. Composer is a dependency manager for PHP, just like the NPM of Node.js, or PIP of Python.

If you don't have Composer installed, or it's your first time with Composer, you probably may want to read Composer's getting started guide.

If you've already installed Composer, head over to the folder where you copied the content of the "src" folder, and run the following command to download the required packages to your web server:

$ composer install

Now, you have everything ready to start the installation of BoxBilling, navigate to your domain using a web browser, and simply follow the on-screen instructions to complete the installation using the web installer. Ta-da, you've done it! 🎉

Installing with Docker

Docker logo

This guide assumes you already have Docker, Git and GNU make installed.

To clone the repository, first, run these commands in your command line:

# Clone this repository
$ git clone https://github.com/boxbilling/boxbilling

# Navigate to the local repository
$ cd boxbilling

# Run the app with some help from Docker
$ make all

Now, you can navigate to your web server in your browser. If you're using a PC, or directly a server without a server manager like Plesk, this address will probably be localhost.

Contributing

🖥️ Welcome, fellow developer! 🙂

First of all, thank you for your interest, and for taking your time to contribute to BoxBilling.

BoxBilling is undergoing a revival and major code update. We are making steps forward day by day but there is still a lot of work to do, and we are happy to welcome new contributors.

We have a set of guidelines for those wishing to contribute to BoxBilling, and we encourage you to take a look at them here: contributors' guidelines.

Your pull requests will be highly welcomed. If you're looking for something to start with, you can check the open issues on our GitHub repository.

Got questions? Found a bug? Ideas for improvements?

Don't hesitate to create an issue

⭐ Not a developer? Feel free to help by starring the repository. It helps us catch the attention of new developers who'd like to contribute.

Licensing

BoxBilling is open source software and is released under the Apache v2.0 license. See LICENSE for the full license terms.

This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.

Links

boxbilling's People

Contributors

4giedrius avatar andpavlenko avatar arjunshibu avatar bellenottelling avatar bgokcol avatar bteodor avatar bytevan avatar dependabot[bot] avatar evrifaessa avatar fordnox avatar grendel7 avatar istiak101 avatar jaapmarcus avatar jamieslome avatar john-s4 avatar lfrodrigues avatar mik317 avatar n3bir0s avatar notbasetwo avatar rdnuk avatar rebelholic avatar roxyboxxy avatar samapraku avatar seasonshu avatar snake-4 avatar timothygwebb avatar tuxmay avatar vaidas-lungis avatar yukarichiba avatar zuazo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boxbilling's Issues

Can't add Name Server

Adding NS for domain registration, and I get this:
"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'nameserver_1' for key 2"

logo in email is link

when you select {{ company.logo_url }} in the email.. it insert a link in the mail and not the excual picture.
if possible create html mail with layout (wisiwig editor??) so that a nice company layout and logo will be generated.

invoice mail schould look like the invoice online..

force use https

the change in bb-config.php to use https does not work always.
when you call url. directly it does not always switch to https.

when enter the url for backend admin the same story..

I have made the following change:

/* Live site URL with trailing slash */
define('BB_URL', 'https://bo.domain.com/');

Can't add reCaptcha

When adding reCaptcha, I get this:
"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'captcha_recaptcha_publickey' for key 2"

promocode specific products, groups,

Make it possible to connect promocode to use by specific users, groups for specific products / productgroups.

importend is tho limit the use of a code (in general, specific user, etc)

if payment stays out

It's not clear to me when a invoice / recurring invoice is not / not completly pay'd in time.. wil the product be canceled?
most imported is that domain registration is not renewed and hosting products are suspended.

hosting products may be removed after xxx time overduw or manual by the administrator...
if possible make this configurable (general / per client / per product)....
so lets say client has to pay invoice at the latest on 31-01..
when payment stays out.. after that date, after xx day's the products will be suspended.. then after xx days products wil be deleted.
in the mean time, client recieves sereral mails about outstanding invoices and what wil happen if payment wil not be done.

product update

i have created to products.. 500 Mb and 1024 Mb hosting.
At the 500 Mb package i have configured that its upgradable to 1024 Mb.
at the frontend a customer who has 500 Mb package has now a option to request a upgrade.
in the Backend a ticket is made with the client request, and i have a option to aprove.

after that.. nothing hapends, no invoice is created and package on the server is not updated.

Invoice in mail

When you place a order, the invoice is not send in the mail.
when order is activated it's sends a mail with al the details..

I have adjusted the @mail template for cpanel url.. (default its server/cpanel).. whe use clientdomain/cpanel

Menu/CMS addon?

Will there be a feature to add external links, as menu options, when a user is logged in? It would be nice to allow the user to access their hosting control panel from within their boxbilling account. Also, the previous release of boxbilling had a cms graphical page layout editor that allowed moving the home page cells around in a different order and editing their links. Will that also be a feature in this upgrade?

Company Detail Settings wont update

The company details settings wont update when changed in the admin section provided for that. Anything you change reverts back to the installed default.

Custom Payment GateWay not working

The Custom Payment Gateway (e.g. Offline Payment) does not work. when you click on make payment the script does not go on.
On boxbilling live demo it's the same issue (if credits are to low)..
besides PayPal, i need iDeal and offline payment (bank transfer).. so that order proces is finished.

rearange products & Groups

Make it possible to rearage products / groups so that the frontend ordering is the way you whant and not in order of products created

product image size / resize

Make the images used at the products auto resize same as company logo.
Currently when you use a picture larger than expacted the product title and text are not on one line any more.
Further make the text space as width as possible so u can use al the space.

Installer script deletes existing non related tables upon install

When the installer script runs, it asks for your database information then continues with db install.

If you have any existing tables for other projects or sessions or anything thats not related to box billing, the install script drops all tables prior to installing its own only.

This is terrible. Even for those people who actually do keep backups of the database, then its still a pain in the ass from dataloss of a bug that should be fixed immediately. Also, All new downloads of the RC should be halted immediately! until this is fixed.

Clicking the ORDER button on the main page, gives fatal error

An exception has been thrown during the rendering of a template ("SQLSTATE[42S22]: Column not found: 1054 Unknown column 'c.deleted_at' in 'field list'") in "macro_functions.phtml" at line 26.

I added 1 product.
Set the prices.
Setup the currency.

lines:

24 {% macro currency(price, currency) %}
25 {% if currency == NULL %}
26 {% set c = guest.cart_get_currency %}
27 {% else %}
28 {% set c = guest.currency_get({"code":currency}) %}
29 {% endif %}
30 {% set p = (price * c.conversion_rate)|number %}
31 {{ c.format|replace({'%price%': p }) }}
32 {% endmacro %}

invoice in mail pdf format

the send invoice (link to boxbilling) schould be nice to have the opertunity to send it in pdf format incl. layout.
otherwise make the e-mail layout like the online invoice..

Email templates dynamic fields not listed beneath edit box

previous release showed all available dynamic fields to be inserted into email templates. This new release does not display any of the available dynamic fields to be used, making it very difficult to know what you can customize with dynamic data tags?

Import or first time setup

i am already running a hosting company with existing clients. if no import of current hosting accounts and domain registration is possible / availible.. create a option to do this by hand.. (in my case.. cpanel/whm reseller acocunts

  1. create new customer account
  2. create the products incl. start / end date (in boxbilling) (for hosting accounts he will match them based on account name on hosting server
  3. create the domains incl. start / end date (in boxbilling)
    etc.etc.

WHM Account Creation Error

I installed BoxBilling (RC 2.2.6), and I am doing some testing.

When ever I go to order a new package it says failed setup. Doesn't matter if it's created automatically or activated manually through BoxBilling.

When I check the history of the order... blah blah blah, check below:

15:23 - Pending Setup - WHM server response error calling action createacct: "Sorry, a group for that username already exists."
15:23 - Failed Setup - WHM server response error calling action createacct: "Sorry, a group for that username already exists."
15:23 - Pending Setup - Creating account bbtest2
15:22 - Pending Setup - Order created

When I check WHM the account has been created/setup/activated, yet BB still says it failed setup.

extend company details

Please extend hosting company details with:

  • Bank Account
  • Chamber of Commerce number
  • VAT number
  • Legal notice
  • company policy's
  • Privacy regulation

legal & privacy & company policy's and regulations needs to be checked by the customer with every order.
Legal regulations in our country (the netherlands) require this.
Furthermore in the netherlands its no longer aloud the silently / automaticly renew any subscription.
if possible manage this inside the profile so that the customer can check / uncheck auto renew incl. accept regulation etc..

so with every order the client must check this befor he can submit / pay the invoice.
legal regulation does not accept the payment automaticly as agrement..
on every invoice the Bank Account, Chamber of Commerce and VAT number needs to be printed. (legal requirement)

Captcha error

i tried to configure captcha but i keep ketting this error..
Input error: k: Format of site key was invalid

i use v2.2.8 and configured https in bb-config and .httaccess.

the captcha keys i copy/past are okay.. but boxbilling don't like them

Issue with " and / in Knowledge Base

Hello,

Using latest RC, whenever I enter a quote " in the Knowledge Base Article or in a product description and update it, it ends up becoming /", so basically Boxbilling auto adds a slash next to every quote. No idea why this occurs but it is very annoying.

It also makes it impossible to make HTML KB Articles, when I type it ends up saving as <img src=/"image.png/">

Which of course breaks it.

Is there any fix for this?

Tax issues

Depending on client situation (business, personal) same country, EMEA, overseas,.. it depands if the need to pay tax or not.

client entry schould be personal or business.
if business, that VAT end camber of commerce number needs to be ordered.

add mail feature to staff members

Hello.. please add feature to select if orders or tickets are placed selected members of the staff reveive a notification mail about it..

products multi language

in the o.4 version there was a option (tab) on the product to make products multi language.. in the 2.2.6 version this is no longer a feature.. will this return?

Deleting order before addons then cannot delete addons

If I create an order which has addons and I delete the order before deleting the addons first, the order gets deleted but the addons remain and the dashboard still shows the addons as orders and they cannot be accessed to delete them.

missing Registrars

using version 2.2.8 i have configured a custom registrar..
Everything worked fine.. then i whant to configure a new registrar ..in the tab new registrar there was a list of registrars to install.
I have installed them..

result is that the rab registars is complete empty so i am unable to adjust / edit registrars now.
the al still there in the system.. when i look in a hosting plan i can select the registrars..
but the tab registrars and new registrars are complete empty

Knowledge base updates cannot be retrieved

When submitting a new knowledge base article and saving, subsequent access to update brings up a blank article. Content needs to be re-entered.

Also there is no wysiwyg editor to format bullets or order lists or provide link tags like there was in previous release?

not able to connect to cpanel

the only issue i have ever had with the software is it is unable to connect to my cpanel via API I can get other software to connect just not this one. any ideas on how to resolve the issue?

Used promocode

Make it visable on invoice and backend what promocode was used and normal price, discount from promocode, price to pay

invoice adjustments

Hello.. make it possible the change the invoice layout / items what to show / print..

importent part of domain and hosting package.. is the period (start/end date)

upgrade existing packag

When a client upgrade there package (ticket system) you get a accept ticket.
When accept, the package on the server must be upgraded to the new package, and invoice wil be send.
invoice has to be the add on price on the existing package deal..

so lets se, client orders package 1, 1 year pay (120,--)
after 2 month, clients orders a upgrade to package 2 (240,--)
initial invoice wil be 10 month of package 2 price minus 10 month package 1 price (invoice will be 100,--)
package 2 240,--/12 * 10 = 200,--
package 1 120,--/12 * 10 = 100,--
initial invoice will be 200,-- - 100,-- = 100,--

when the initial 1 year is passed, the new invoice will then be 1 year package 2 and not package 1.

Account profile

When new client registeres.. he will not be forced to fill al the nececary field in the right way to make a domain registration.
so when new client profile is created, on order the first domain, in the order proces has te step out to fill in the profil (location, etc,etc,etc,).. when everything is filled in, then go back to order and finish the ordering process..

Ordering period shown incorrect

After adding product and it's period, i've unchecked these periods:

Every 2 years
Every 3 years

But still all periods are being shown in Order form for that product. When i choose the product and click Order now, then i see only periods that are On.

Plugin for custom Product

What documentation describes a Plugin for a custom product? There is a plugin name field under configuration tab for a custom product. What goes in this field?

Shopping Cart not accumulating new orders before checkout

I selected a product, ordered it. I checked shopping cart icon. went back to a new order, ordered it, checked shopping cart icon again and only the last order is in the shopping cart.. the first order is gone. when checking out it is only the last order. The cart is not retaining multiple orders before a checkout.

Server Manager extension documentation

I am trying to get a grasp on the server manager extension. There is very little documentation on how to get this to work under this new release. How do I access variables that are available to the extension? How do I connect to the server, etc. Your website talks about the previous release which references directories that are not in this new release. Confused??

Hosting Plans term period drop down

When setting up a hosting plan I am only selecting one term period, yet when the order process starts the term drop down shows all the terms, not just the one I selected. When you advance to the second step the next term drop down only shows the one I selected during setup. The first term drop down is misleading to a buyer. Can it be fixed to show only what was setup? Why is it even shown on the first step? The second step is where the term is picked and confirmed.

send client mail - newsletter

build feature to mail client / selected clients / selected groups to send email about news, issues, etc....
build a newletter feature so that a newletter to all clients news (new products, new extentions, new features,..)

custom registrar no whois status

current costom registrar always give a positive value to register a domain. make it possible to have a generic whois option so that custom registrar at least give notice if domain is availible or not.

Budgets

An interesting use would be the ability to budgets, and that the customer can see it from the client area, and accept or reject the budget.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.