InvoicePlane is a self-hosted open source application for managing your quotes, invoices, clients and payments.


For this guide you should be familiar with the basic concepts of


We’re using PHP in the stable version 8.1:

[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '8.1'
[isabell@stardust ~]$

You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
[isabell@stardust ~]$

Your website domain needs to be set up:

[isabell@stardust ~]$ uberspace web domain list
[isabell@stardust ~]$


To install InvoicePlane we download the current version from the official website. cd to your DocumentRoot so the zip file will be under your html. After unzipping, we need to move all files one level up, out of the directory ip.

[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ wget
[isabell@stardust html]$ unzip v1.6.1
[isabell@stardust html]$ rm v1.6.1
[isabell@stardust html]$ mv ip/{.,}* .
[isabell@stardust html]$ rm -rf ip
[isabell@stardust html]$

Create a database for the application:

[isabell@stardust html]$ mysql -e "CREATE DATABASE ${USER}_invoiceplane"
[isabell@stardust html]$


Enable the URL rewriting rules with the provided htaccess file.

[isabell@stardust html]$ mv htaccess .htaccess
[isabell@stardust html]$

Now copy the configuration template and open it in an editor.

[isabell@stardust html]$ cp ipconfig.php.example ipconfig.php
[isabell@stardust html]$

Important: You must prepend the first line in the file with a hash sign (“#”), otherwise the application fails to load.

# <?php exit('No direct script access allowed'); ?>

Now change the following lines in the configuration file and fill in your settings:


After the installation you need to open in your browser to finish your setup. In that step, the database tables get created and you’ll setup an admin user for your installation.


After completing the web-based setup above, you need to disable the setup script. To do so, replace the line DISABLE_SETUP=false with DISABLE_SETUP=true in your ipconfig.php file.


Check InvoicePlane’s stable releases for the latest versions. If a newer version is available, you should manually update your installation.

Backup your ipconfig.php file, delete everything else in your html directory.

[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ cp ipconfig.php ~
[isabell@stardust html]$ rm -rf * .*
[isabell@stardust html]$

Proceed with the installation steps from here and move back your config file.

[isabell@stardust html]$ mv ~/ipconfig.php ./
[isabell@stardust html]$

Finish the update by opening in your browser.

Tested with InvoicePlane 1.6.0 and Uberspace 7.15.1

Written by: Thomas Johnson <>