How to choose
Open source or only "source available"
Invoice Ninja uses the Elastic License 2.0 and Akaunting the Business Source License 1.1. You can read and run the code, but these are not open-source licences: Invoice Ninja may not be offered to others as a hosted service, and Akaunting’s free production use is limited by users, companies and invoices. AGPL, GPL and MIT projects have no such caps.
Self-hosting has a real cost
The software is free, but a server, backups, updates and security are your job. If nobody on your team is comfortable with Docker and a database, a paid hosted plan from the same project, or a simple free invoice tool, is usually cheaper than a lost ledger.
Gulf VAT and e-invoicing
These apps let you set tax rates, so they can show VAT on an invoice, but none of the projects claims compliance with Saudi ZATCA e-invoicing or the coming UAE e-invoicing system. Businesses inside those systems need a solution that meets their country’s technical rules.
The projects
Invoice Ninja
Free + paid hosting10,269 GitHub starslast code update 13 October 2026
An invoicing app for creating and sending invoices and quotes, taking payments, tracking expenses and billable time, with a client portal.
- Who it suits
- Freelancers and small businesses that want either a hosted service or their own install.
- How it is used
- Use the hosted web app or your own server in the browser, plus official desktop and mobile apps.
- Runs on
- Hosted, self-hosted PHP and MySQL server or Docker, desktop and mobile apps
- Licence
- Elastic License 2.0 (source-available)
- Free or paid
- On 18 October 2026 the hosted plans were Free (up to 5 clients), Pro at $14 a month and Enterprise at $18 a month. The self-hosted code includes Pro and Enterprise features; an optional $40-a-year licence removes the branding. Pricing page
How to set it up
- Prepare a server with PHP 8.2 and MySQL 5.7+ or MariaDB 10.3+, or use the official Docker images.
- Download the latest release (the docs recommend the release package over a plain git clone, which lacks the React UI).
- Copy the example settings file and set your database details:
cp .env.example .env - Open https://your-domain/setup and finish the web installer.
Good to know
- The licence forbids offering it to others as a hosted service and removing its licence-key checks.
- Back up APP_KEY in the .env file: it encrypts your data and the app will not run without it.
InvoiceShelf
Free1,855 GitHub starslast code update 13 October 2026
A self-hosted web app for invoices and estimates, recording payments and expenses, and keeping customer accounts in order.
- Who it suits
- Freelancers and small businesses that want invoicing on their own server at no cost.
- How it is used
- Run it with Docker or on a PHP server and use it in the browser; customers get a portal to view and pay invoices.
- Runs on
- Docker or PHP server (MySQL, MariaDB, PostgreSQL or SQLite); browser
- Licence
- AGPL-3.0
- Free or paid
- Its website says every feature is free under AGPL-3.0, with no seats, subscription or upsell. Pricing page
How to set it up
- Get the official Docker setup:
git clone https://github.com/InvoiceShelf/docker.git invoiceshelf && cd invoiceshelf - Use the SQLite compose file for a simple install:
cp docker-compose.sqlite.yml docker-compose.yml - Start it:
docker compose up -d - Open http://localhost:8090 and finish the setup wizard.
Good to know
- The repository’s default 3.x branch is an alpha preview; the README says to use the 2.x release for real data.
Akaunting
Open-core10,175 GitHub starslast code update 8 October 2026
Online accounting software for small businesses and freelancers, extended through an app store of add-on modules.
- Who it suits
- Very small businesses that want web-based accounting, hosted or on their own server.
- How it is used
- Use the hosted cloud version or install it on your own PHP server and work in the browser.
- Runs on
- Self-hosted PHP server or hosted cloud; browser
- Licence
- Business Source License 1.1 (source-available; each release becomes GPL-3.0 after four years)
- Free or paid
- On 18 October 2026 the on-premise Standard edition was free for 1 company, 1 user plus 1 accountant and 1,000 invoices; Premium was $72 a year or $756 for life. Paid cloud plans are also sold. Pricing page
How to set it up
- Prepare PHP 8.1+, Node.js 18 or 20, a database (MariaDB, MySQL, PostgreSQL or SQLite) and a web server.
- Get the code and install dependencies:
git clone https://github.com/akaunting/akaunting.git && cd akaunting && composer install && npm install && npm run dev - Run the installer with your own database and admin details:
php artisan install --db-name="akaunting" --db-username="root" --db-password="..." --admin-email="you@example.com" --admin-password="..." - Point your web server at the project folder, or run php artisan serve for a quick local test.
Good to know
- The free licence allows at most 2 users, 1 company and 1,000 invoices in production, with no white-labelling and no offering it as an accounting service.
- The README says the asset build does not work on Node 21 or later yet.
Bigcapital
Free + paid hosting3,931 GitHub starslast code update 11 October 2026
Accounting and inventory software that keeps business finances in one place and produces financial statements and reports.
- Who it suits
- Small and medium businesses that need double-entry accounting with inventory, and developers who want an accounting API.
- How it is used
- Use the hosted app or self-host it with Docker and work in the browser; its API connects it to other systems.
- Runs on
- Docker (self-hosted) or hosted; browser
- Licence
- AGPL-3.0
- Free or paid
- Self-hosting is free under AGPL. On 18 October 2026 the paid subscriptions ran from $20 a month (Capital Basic) to $60 a month (Capital Big), with a 14-day trial. Pricing page
How to set it up
- Install Docker and docker-compose.
- Get the code:
git clone --depth 1 -b main https://github.com/bigcapitalhq/bigcapital.git && cd bigcapital - Copy .env.example to .env and set the mail settings and database passwords.
- Start the production stack, then open port 8000 and create your first account:
docker-compose --file docker-compose.prod.yml up -d
Good to know
- The Docker stack runs several containers (MySQL, MongoDB, Redis, Nginx), so it needs a reasonably sized server.
Kimai
Free + paid hosting5,071 GitHub starslast code update 14 October 2026
A time-tracking app with invoicing, exports, reporting, budgets and multiple users.
- Who it suits
- Freelancers and companies that track project hours and bill clients for time.
- How it is used
- Track time in the browser on your own install or the hosted cloud, then turn the hours into invoices; it also has a JSON API.
- Runs on
- Docker or PHP 8.2+ server with MariaDB or MySQL, or hosted; browser
- Licence
- AGPL-3.0
- Free or paid
- Self-hosted Kimai is free. On 18 October 2026 the hosted cloud cost €2.99 to €4.99 per user per month, with a 30-day trial; some plugins in its store are paid. Pricing page
How to set it up
- Install Docker.
- Start a MySQL database container and the kimai/kimai2:apache image, pointing DATABASE_URL at the database (full commands in the docs).
- Create your admin user:
docker exec -ti kimai-test /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN - For real use, follow the Docker Compose setup in the docs; the quick test setup is not for production.
Good to know
- It needs its own subdomain; installing in a sub-folder is not supported.
Firefly III
Free24,912 GitHub starslast code update 15 October 2026
A self-hosted personal finance manager for tracking income and spending with budgets, categories, tags, rules and reports.
- Who it suits
- Individuals who want to track their money without putting records in someone else’s cloud and don’t mind running a server.
- How it is used
- Use it in the browser on your own install; enter transactions by hand or import them with the separate Data Importer. A REST API is available.
- Runs on
- Docker, PHP server or Kubernetes; browser
- Licence
- AGPL-3.0
- Free or paid
- Free; the project sells no plan of its own. Third-party hosts charge for running it for you. Pricing page
How to set it up
- Install Docker with Docker Compose.
- Download docker-compose.yml, .env and .db.env from the docs into one folder.
- Set the same database password in .env (DB_PASSWORD) and .db.env (MYSQL_PASSWORD).
- Start it and open http://localhost:
docker compose -f docker-compose.yml up -d --pull=always
Good to know
- The README itself says it suits people who are a bit tech-savvy.
Actual Budget
Free29,520 GitHub starslast code update 14 October 2026
A local-first personal budgeting app based on envelope budgeting, with optional sync across devices.
- Who it suits
- Individuals and households who want envelope-style budgeting and to keep their own data.
- How it is used
- Use the desktop app on its own, or run the sync server and open it in the browser on any device; it imports QIF, OFX and CSV files.
- Runs on
- Desktop app (Windows, macOS, Linux), Docker server, browser
- Licence
- MIT
- Free or paid
- The README says it is 100% free and open source; one-click hosting is offered by third parties for a small monthly fee. Pricing page
How to set it up
- Easiest: download the desktop app for Windows, Mac or Linux from actualbudget.org/download.
- To sync across devices, install Docker and start the server:
docker run --pull=always --restart=unless-stopped -d -p 5006:5006 -v YOUR/PATH/TO/DATA:/data --name my_actual_budget actualbudget/actual-server:latest - Open the server on port 5006 in your browser.
Good to know
- Built-in bank sync uses GoCardless (EU and UK) and SimpleFIN (US and Canada), so other banks rely on file imports.
GnuCash
Free4,372 GitHub starslast code update 12 October 2026
A double-entry accounting desktop app for personal and small-business books.
- Who it suits
- Individuals and small businesses who want proper double-entry bookkeeping on their own computer.
- How it is used
- Install it and keep your books in a local GnuCash file; it can import Quicken QIF files.
- Runs on
- Windows, macOS, Linux, FreeBSD, OpenBSD
- Licence
- GPL-2.0-or-later (a few files under other free licences)
- Free or paid
- Free; no paid plan. Pricing page
How to set it up
- Open the GnuCash download page.
- On Windows or macOS, download version 5.x for your system and install it.
- On Linux, install the Flatpak from Flathub or your distribution’s package.
- Launch it and create a new book file.
Good to know
- Online stock and currency price updates need Perl and extra Perl modules.
Beancount
Free6,067 GitHub starslast code update 23 August 2026
A double-entry bookkeeping language: you record transactions in a plain text file and generate reports from it.
- Who it suits
- Technically comfortable people who want plain-text accounts they can keep under version control.
- How it is used
- Write transactions in your text editor, then check and query the file with command-line tools.
- Runs on
- Python command-line tools (any system with Python)
- Licence
- GPL-2.0-only
- Free or paid
- Free; the author accepts donations. No paid plan. Pricing page
How to set it up
- Install Python 3.8 or newer.
- Install Beancount and the query tool:
pipx install beancount && pip install beanquery - Create a ledger file and check it:
bean-check yourfile.beancount - Query it, for example for balances:
bean-query yourfile.beancount
Good to know
- There is no graphical app in version 3; the old bean-web interface was retired, so you work in text files and the terminal.