https://github.com/cytech/billingtrack-wired
BillingTrack quote, invoice, workorder management
https://github.com/cytech/billingtrack-wired
billing invoice invoicing quote scheduler workorder
Last synced: 5 months ago
JSON representation
BillingTrack quote, invoice, workorder management
- Host: GitHub
- URL: https://github.com/cytech/billingtrack-wired
- Owner: cytech
- Created: 2022-04-17T16:21:50.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-05-12T15:59:28.000Z (about 1 year ago)
- Last Synced: 2025-05-12T16:53:26.704Z (about 1 year ago)
- Topics: billing, invoice, invoicing, quote, scheduler, workorder
- Language: PHP
- Homepage:
- Size: 32.1 MB
- Stars: 18
- Watchers: 2
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# BillingTrack (Wired)
The next generation of the BillingTrack v5.x.x software.
BillingTrack is a self-hosted billing system for freelancers, contractors and small businesses.
Includes:
- Client Management
- Quotes
- Workorders
- Invoices
- Recurring Invoices
- Payments
- Expenses
- Time tracking
- Purchase Orders
- Scheduling
- Reports
- Employees, Products, Vendors and more !!
Host on your own server.
Your clients can view and pay their invoices online using the built-in PayPal, Stripe and Mollie integrations.
Built with [Laravel](https://laravel.com),
Wired with [Laravel Livewire](https://laravel-livewire.com/)
:+1: If you find this software useful, feel free to make a donation: [https://paypal.me/cytecheng](https://paypal.me/cytecheng)
-----------------
[Prerequisites](#installation-prerequisites)
[Installation](#how-to-install-billingtrack)
[Upgrade](#how-to-upgrade-billingtrack)
[**IMPORTANT** UPGRADING FROM BILLINGTRACK 5.X.X](#upgrade-from-billingtrack-5xx)
# Installation Prerequisites
BillingTrack is web-based software, so to install and use it, you must
have a server environment of some sort. Please review the minimum
requirements below to determine whether or not you will be able to
install and use the software. .
- A web server of some sort - Apache, nginx, etc.
- PHP >= 8.1
- MySQL or MariaDB
- A modern and updated web browser
- BCMath PHP Extension
- Ctype PHP Extension
- cURL PHP Extensiom
- DOM PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PCRE PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
------------
PHP Extension list from "composer check-platform-reqs"
- ext-ctype
- ext-curl
- ext-dom
- ext-fileinfo
- ext-filter
- ext-iconv
- ext-json
- ext-libxml
- ext-mbstring
- ext-openssl
- ext-pcre
- ext-phar
- ext-tokenizer
- ext-xml
- ext-xmlwriter
- lib-pcre
**Composer installed**
Here is a good link with composer installation instructions for Ubuntu 20.04:
[Composer Install instructions](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-20-04)
**Sample Apache2 virtual host conf:**
BillingTrack.conf
ServerAdmin webmaster@localhost
DocumentRoot /var/www/BillingTrack/public
ServerName BillingTrack
ServerAlias BillingTrack
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
**Sample Nginx configuration:**
server {
listen 80;
listen [::]:80;
server_name BillingTrack;
root /srv/BillingTrack/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
# How to Install BillingTrack
1. Clone or download the repository to a new web directory.
2. Run "composer install" in web directory
3. create a NEW BillingTrack database.
4. Copy .env.example to .env
5. edit .env and change:
- DB\_HOST=
- DB\_DATABASE=
- DB\_USERNAME=
- DB\_PASSWORD=
to your \*\*NEW\*\* database settings.
NOTE: Do not change APP_ENV=local. Changing this will cause migrations to fail without feedback. Changing this value to "production" has no beneficial effect on BillingTrack operation.
6. save .env file.
- Run "php artisan key:generate"
- This copies the app key into the .env file, attached to the APP_KEY= line.
7. Set permissions for your site.
8. Start YOUR\_BILLINGTRACK\_WEBSITE/setup
9. After database configuration finishes (this may take a while. 10 minutes is not unusual):
Note: In some instances a fresh install will throw an "unknown error" alert box. If this happens, dismiss the alert box and continue. In all reported cases the migration completed properly but some timeout was thrown that causes the error.
- Create new account -> creates fresh installation with account
10. sign in
# How to Upgrade BillingTrack
**Upgrade Existing v6.x.x installation**
- NOTE: BillingTrack-wired v6.0.3 and later require PHP >= 8.1
- Git pull (if originally cloned) or download and overwrite existing
installation.
- if downloading and extracting zip, delete the
contents of:
- "YOUR\_BILLINGTRACK\_WEBSITE/public"
- "YOUR_BILLINGTRACK_WEBSITE/database/seeds"
- "YOUR\_BILLINGTRACK\_WEBSITE/app"
directories prior to extracting.
- Run composer update
- Start-> YOUR\_BILLINGTRACK\_WEBSITE/setup
- After migration completes, signin.
# UPGRADE FROM BILLINGTRACK 5.X.X
**Minimum PHP requirement for BillingTrack-Wired (v6.X.X) is PHP >= 8.1**
- Create a new installation/site. (see [How to Install BillingTrack](#how-to-install-billingtrack))
- Although it is theoretically possible to do so, do not attempt to upgrade an existing BillingTrack 5.x.x Site.
- This is a new repository and existing cloners will not be able to pull the update.
- This will upgrade the existing BillingTrack database, but it is **HIGHLY** recommended to backup the existing database and copy to a new one.
- After copying old database to new and modifying the .env file per the installation instructions to reflect the NEW copied database:
- Start-> YOUR\_BILLINGTRACK\_WEBSITE/setup
- After migration completes (this may take a while. 10 minutes is not unusual), signin.