ScriptsApr 19, 2026·3 min read

Invoice Ninja — Open Source Invoicing and Payments

Invoice Ninja is a free, open-source platform for invoicing, payments, expenses, and time tracking. It supports over 45 payment gateways and can be self-hosted or used as a managed service.

Introduction

Invoice Ninja is a full-featured invoicing platform that handles the complete billing cycle from quotes and proposals through invoices, payments, and expense tracking. It is built on Laravel and Flutter, offering both a web dashboard and native mobile apps for iOS and Android.

What Invoice Ninja Does

  • Creates and sends professional invoices with customizable templates and branding
  • Accepts online payments through 45+ gateways including Stripe, PayPal, and Square
  • Tracks expenses, vendor bills, and purchase orders with receipt attachment support
  • Records time entries and converts tracked hours into invoices with configurable rates
  • Generates recurring invoices and auto-bills clients on configurable schedules

Architecture Overview

The backend is a Laravel PHP application using MySQL or PostgreSQL for data storage. The admin portal is a Flutter web application compiled to JavaScript, providing a responsive single-page experience. PDF generation uses the Snappy library with wkhtmltopdf. The REST API supports all operations available in the UI, enabling integration with accounting tools, CRMs, and custom workflows.

Self-Hosting & Configuration

  • Deploy via Docker Compose or install on a LAMP stack with PHP 8.1+ and MySQL 5.7+
  • Configure SMTP settings in .env for sending invoices and payment receipts via email
  • Set up payment gateway credentials in the admin panel to accept online payments
  • Enable cron jobs for recurring invoices, payment reminders, and scheduled reports
  • Customize invoice templates using the built-in designer or import custom HTML/CSS designs

Key Features

  • Support for 45+ payment gateways with automatic payment reconciliation
  • Multi-company support allowing freelancers and agencies to manage separate businesses
  • Client portal where customers view invoices, make payments, and approve quotes
  • Tax rate management with compound taxes, tax-inclusive pricing, and regional tax rules
  • REST API with OAuth2 and token authentication for automation and integrations

Comparison with Similar Tools

  • FreshBooks — commercial cloud invoicing with polished UX, no self-hosting option
  • Akaunting — open-source accounting software, broader scope but less invoicing depth
  • Crater — open-source Laravel invoicing, smaller feature set and community
  • Zoho Invoice — freemium cloud service, limited customization, vendor lock-in
  • Wave — free cloud invoicing with ads, no self-hosting, limited payment gateways

FAQ

Q: Is Invoice Ninja truly free for self-hosting? A: Yes. The self-hosted version is fully open source under the Elastic License 2.0. The hosted version offers a free tier and paid plans with additional features.

Q: Can I white-label invoices with my own branding? A: Yes. You can customize logos, colors, fonts, and invoice layouts. The Enterprise plan additionally removes Invoice Ninja branding from client-facing pages.

Q: Does it integrate with accounting software? A: Yes. Invoice Ninja integrates with QuickBooks, Xero, and accounting exports. The API also enables custom integrations with any system.

Q: How does recurring billing work? A: You create a recurring invoice with a frequency (weekly, monthly, yearly, etc.) and Invoice Ninja automatically generates and optionally auto-bills the client on each cycle.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets