EN
Log in Create an account

How to Install Invoice Ninja on Saplo (Your Own Invoicing Without Client Limits)

Invoice Ninja is an open-source invoicing, estimates, and payment tracking system, an alternative to FreshBooks or Zoho Invoice without monthly fees per client. You can install it on your own Box with one click, your financial data stays on your server, and there are no limits on the number of clients, invoices, or users.

Grzegorz Kalmus ·

If you invoice clients and pay monthly for FreshBooks or Zoho Invoice, sooner or later you'll hit a limit: the number of clients, invoices, or users on your team. Once you exceed it, you'll need to upgrade to a more expensive plan. Invoice Ninja takes a different approach because it's open source and you host it on your own server. You pay once for a Box, and there are simply no limits on clients, invoices, or estimates. Below is a step-by-step guide on how to set up Invoice Ninja on Saplo.

Who is Invoice Ninja for?

Before you install it, check if this tool fits your needs:

  • You regularly issue invoices, quotes, or proposals to clients - Invoice Ninja handles the full cycle from proposal to invoice, payment tracking, and reminders.
  • You're tired of paying for every new client in FreshBooks or Zoho Invoice - Invoice Ninja is open source, with no client, invoice, or user limits imposed by a subscription.
  • You want to keep your financial data with you - The database with invoices, clients, and payments resides on your Box, not on external SaaS provider servers.
  • You need a client portal for online payments - Invoice Ninja generates a link where the client can view and pay the invoice without creating an account.

If you're looking for a simple PDF invoice generator for a single document without a panel and payment tracking, Invoice Ninja can still do it, but it's designed for a continuous invoicing cycle, not a one-off document.

Requirements

To set up Invoice Ninja on Saplo, you will need:

  • A Box on plan M or higher, because the recipe deploys three Docker containers (application, Redis, custom Nginx) and requires a minimum of 1.5 GB of free RAM.
  • A minimum of 5 GB of disk space.
  • A domain or subdomain *.saploapp.pl, included with every plan, where your Invoice Ninja panel will be hosted.
  • You do NOT need to manually set up a separate database. The engine automatically creates it in Saplo's shared MySQL database.
  • Your own SMTP server if you want invoices to be actually sent to clients via email, more on this in the first configuration section below.

Step-by-step installation

  1. In the Saplo panel, go to App catalog and select Invoice Ninja (category "Business").
  2. Select a Box on plan M or higher with a minimum of 1.5 GB of free RAM and a domain or subdomain for the panel.
  3. Confirm the installation. The engine installs Docker CE if it's not already on the Box, downloads the official invoiceninja/invoiceninja-debian image (about 2 GB, with built-in Chrome for generating PDF invoices), and sets up a database in Saplo's shared MySQL.
  4. Alongside the application, the engine launches its own Redis container for cache, queue, and sessions, and its own Nginx container, which serves static files and forwards PHP traffic to the application, while the Box's Nginx only proxies to this container.
  5. The first launch includes database migration, invoice template generation, and administrator account creation, so the installation takes longer than with simpler recipes. The engine waits until the container actually starts, instead of just launching it.
  6. The Invoice Ninja login screen appears under the specified domain.

First login and configuration

  1. Go to the domain you specified during installation.
  2. Log in with the administrator credentials from the INVOICENINJA-SETUP.txt file in the application directory, the address is admin@<your-domain>, and the password is randomly generated during installation.
  3. Change your password immediately in Settings -> Account and password.
  4. By default, Invoice Ninja only saves sent emails to a log; it doesn't actually send them. So, if you want invoices and payment reminders to reach clients, configure your own SMTP server in Settings -> Email settings.
  5. Before issuing your first document, complete your company details, logo, and invoice numbering in Settings -> Company settings.

Invoice Ninja on Saplo vs. alternatives

Manual invoices / spreadsheet FreshBooks / Zoho Invoice (SaaS) Invoice Ninja on Saplo
Client and invoice limit None, but no automation Dependent on subscription plan None, you only pay for Box
Recurring cost Your time Approx. $15 per month and more for higher plans Fixed Box cost, no separate application fee
Client panel with online payment None Yes Yes, invoice link with payment option
Where financial data is stored Your drive SaaS provider's infrastructure Your Box, Saplo MySQL database
Invoice template customization Full, but manual Limited to provider's options Full, built-in template editor

FAQ

Is there a limit on the number of clients or invoices? No. Invoice Ninja on Saplo doesn't impose any limits on clients, invoices, estimates, or users; you only pay for the Box it runs on.

Are invoices automatically sent to clients via email? By default, no. The installation is set up to save sent emails to a log instead of actually sending them. For invoices and reminders to reach your clients' inboxes, configure your own SMTP server in Settings -> Email Settings after your first login.

What database does Invoice Ninja use? It uses Saplo's shared MySQL database; the engine sets it up automatically during installation, so you don't need to set up your own.

Can I generate invoices in PDF? Yes, the official Docker image has a built-in Chrome browser that renders invoice templates to PDF without additional configuration.

Why does the installation require a Box M plan, not a lower one? Because the recipe deploys three containers at once: the application, Redis, and its own nginx, which requires a minimum of 1.5 GB of free RAM. A Box S typically doesn't have that much free memory.

An invoice concludes a sale, but it's worth managing the initial stages in a CRM. EspoCRM on Saplo keeps contacts, sales opportunities, and communication history without a per-user fee.

If you want to stop paying for each additional client in FreshBooks or Zoho Invoice and keep your financial data on your own server, you can set up Invoice Ninja on Saplo in minutes. Contact us if you need help with email configuration.

  • #Business
  • #Invoicing
  • #Finance
  • #Invoice Ninja
  • #Guide