Skip to content

Open-Source Invoicing and Accounting Software: Free, Self-Hosted Options Compared

"Open source" on an accounting app does not always mean free for your business. Some of the best-known projects use source-available licences with user or invoice limits, and several sell hosted plans next to the free code. We read each project’s licence file and pricing page so this list says plainly what you can use for free, what costs money and how hard it is to set up. None of these projects claims Gulf e-invoicing compliance on the pages we read, so check your local rules before you rely on one for tax invoices.

Quick answer

For invoicing a small business on your own server, InvoiceShelf is fully free (AGPL), and Invoice Ninja is the most complete but source-available with paid hosted plans. Bigcapital and Akaunting add full accounting; Akaunting’s free licence is capped at 2 users, 1 company and 1,000 invoices. Kimai suits billing by the hour. For personal money, Firefly III, Actual Budget and GnuCash are free.

Checked 18 October 2026

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 hosting

10,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

  1. Prepare a server with PHP 8.2 and MySQL 5.7+ or MariaDB 10.3+, or use the official Docker images.
  2. Download the latest release (the docs recommend the release package over a plain git clone, which lacks the React UI).
  3. Copy the example settings file and set your database details:
    cp .env.example .env
  4. Open https://your-domain/setup and finish the web installer.

Steps from the official docs

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.

RepositoryWebsite

InvoiceShelf

Free

1,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

  1. Get the official Docker setup:
    git clone https://github.com/InvoiceShelf/docker.git invoiceshelf && cd invoiceshelf
  2. Use the SQLite compose file for a simple install:
    cp docker-compose.sqlite.yml docker-compose.yml
  3. Start it:
    docker compose up -d
  4. Open http://localhost:8090 and finish the setup wizard.

Steps from the official docs

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.

RepositoryWebsite

Akaunting

Open-core

10,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

  1. Prepare PHP 8.1+, Node.js 18 or 20, a database (MariaDB, MySQL, PostgreSQL or SQLite) and a web server.
  2. Get the code and install dependencies:
    git clone https://github.com/akaunting/akaunting.git && cd akaunting && composer install && npm install && npm run dev
  3. 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="..."
  4. Point your web server at the project folder, or run php artisan serve for a quick local test.

Steps from the official docs

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.

RepositoryWebsite

Bigcapital

Free + paid hosting

3,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

  1. Install Docker and docker-compose.
  2. Get the code:
    git clone --depth 1 -b main https://github.com/bigcapitalhq/bigcapital.git && cd bigcapital
  3. Copy .env.example to .env and set the mail settings and database passwords.
  4. Start the production stack, then open port 8000 and create your first account:
    docker-compose --file docker-compose.prod.yml up -d

Steps from the official docs

Good to know

  • The Docker stack runs several containers (MySQL, MongoDB, Redis, Nginx), so it needs a reasonably sized server.

RepositoryWebsite

Kimai

Free + paid hosting

5,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

  1. Install Docker.
  2. Start a MySQL database container and the kimai/kimai2:apache image, pointing DATABASE_URL at the database (full commands in the docs).
  3. Create your admin user:
    docker exec -ti kimai-test /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN
  4. For real use, follow the Docker Compose setup in the docs; the quick test setup is not for production.

Steps from the official docs

Good to know

  • It needs its own subdomain; installing in a sub-folder is not supported.

RepositoryWebsite

Firefly III

Free

24,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

  1. Install Docker with Docker Compose.
  2. Download docker-compose.yml, .env and .db.env from the docs into one folder.
  3. Set the same database password in .env (DB_PASSWORD) and .db.env (MYSQL_PASSWORD).
  4. Start it and open http://localhost:
    docker compose -f docker-compose.yml up -d --pull=always

Steps from the official docs

Good to know

  • The README itself says it suits people who are a bit tech-savvy.

RepositoryWebsite

Actual Budget

Free

29,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

  1. Easiest: download the desktop app for Windows, Mac or Linux from actualbudget.org/download.
  2. 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
  3. Open the server on port 5006 in your browser.

Steps from the official docs

Good to know

  • Built-in bank sync uses GoCardless (EU and UK) and SimpleFIN (US and Canada), so other banks rely on file imports.

RepositoryWebsite

GnuCash

Free

4,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

  1. Open the GnuCash download page.
  2. On Windows or macOS, download version 5.x for your system and install it.
  3. On Linux, install the Flatpak from Flathub or your distribution’s package.
  4. Launch it and create a new book file.

Steps from the official docs

Good to know

  • Online stock and currency price updates need Perl and extra Perl modules.

RepositoryWebsite

Beancount

Free

6,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

  1. Install Python 3.8 or newer.
  2. Install Beancount and the query tool:
    pipx install beancount && pip install beanquery
  3. Create a ledger file and check it:
    bean-check yourfile.beancount
  4. Query it, for example for balances:
    bean-query yourfile.beancount

Steps from the official docs

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.

RepositoryWebsite

Common questions

Is there a completely free open-source invoicing app?

Yes. InvoiceShelf is AGPL-3.0 and its site says every feature is free with no subscription. You do need to host it yourself, for example with Docker.

Is Invoice Ninja really open source?

Its code is public, but it uses the Elastic License 2.0, which is source-available rather than an open-source licence. You can self-host it for your own business, but you may not offer it to others as a hosted service.

Can these apps make ZATCA-compliant e-invoices?

None of the nine projects claims ZATCA e-invoicing compliance on the pages we read. If your business is in a ZATCA e-invoicing phase, use a solution that states compliance and check the authority’s requirements.

What is the best free app to track personal spending?

Actual Budget is the easiest start because it has a desktop app and needs no server. Firefly III offers more rules and reports but needs self-hosting. GnuCash suits people who want full double-entry books.

How do I bill clients by the hour with open-source software?

Kimai is built for this: you track time per project and customer, then create invoices from the recorded hours. Invoice Ninja also tracks billable time alongside invoices.

We are not affiliated with these projects. Facts were checked on the date above from each project's repository, licence and pricing page; prices, licences and install steps can change, so confirm on the official site before you rely on them. Arabic text is pending native review.