· · Own Your Software

Introducing Invoice Generator: An Open-Source Invoicing Tool

Reading time4 min
Length800 words
Last updatedOctober 8, 2026
LevelBeginner

One of the first thing I did when I became a Django developer was to look at the tools I use on a daily basis and whether I could develop my own version. I have been going through all my tools like my bookkeeping software, tracker tool and others and creating a self-hosted Django version of them all.

That’s why I built Invoice Generator. It is a simple, self-hosted invoicing application designed specifically for the self employed in the UK.

Key takeaways
  • A simple, self-hosted invoicing application for the UK self-employed, with no monthly subscription.
  • It creates PDF invoices with automatic numbering and tracks them by UK tax year.
  • It runs on SQLite by default and has Docker support.
  • It is open source and free to use.

What It Does

Invoice Generator handles everything you need for professional invoicing without the monthly subscription fees of commercial alternatives. You can create and manage client records, generate invoices with automatic numbering, and produce clean, professional PDFs ready to send to your clients.

The application tracks invoices by UK tax year (April to April), making it straightforward when MTD and Self Assessment time comes around. Quick status buttons let you mark invoices as “Sent” or “Paid” with a single click, and you can duplicate previous invoices to save time on recurring work.

April to AprilUK tax year tracking
SQLiteDefault database
Open sourceFree to use

Key Features

  • Full client and invoice management with CRUD operations
  • Professional PDF generation using ReportLab
  • Recurring invoice templates for regular clients
  • Tax year tracking aligned with HMRC’s April-April cycle
  • Client invoice history with summary reports
  • Quick status updates for invoice workflow
  • Email-based authentication
  • Docker support for easy deployment

Why Self-Hosted?

Your financial data belongs to you. By self-hosting Invoice Generator, you maintain complete control over your invoicing records. There’s no third-party service storing your client details or invoice history, and no risk of losing access if a SaaS provider changes their pricing or shuts down.

The application runs on SQLite by default, keeping things simple - no need to set up a separate database server. Just deploy with Docker and you’re ready to go.

How I use it

I made a self-hosted version available but I actually just run mine in local development so it stays on my PC.

Open Source

Invoice Generator is completely open source and free to use. You can inspect the code, modify it to suit your needs, or contribute improvements back to the project. It’s built with Django, a mature and well-documented framework, so adapting it for your specific requirements is straightforward.

What’s Next

Multi-currency support is on the roadmap, which will enable the application to handle invoicing for international clients with proper currency symbols and formatting.

If you are tired of paying monthly fees for invoicing software, or you simply prefer to keep your business data under your own control, give Invoice Generator a try. It’s designed to be practical, efficient, and respectful of your time.

Summary
  • Invoice Generator replaces paid invoicing software with a self-hosted Django application you control.
  • It handles clients, PDFs, recurring invoices and UK tax year tracking.
  • Multi-currency support is next on the roadmap.