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
- In the Saplo panel, go to App catalog and select Invoice Ninja (category "Business").
- 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.
- Confirm the installation. The engine installs Docker CE if it's not already on the Box, downloads the official
invoiceninja/invoiceninja-debianimage (about 2 GB, with built-in Chrome for generating PDF invoices), and sets up a database in Saplo's shared MySQL. - 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.
- 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.
- The Invoice Ninja login screen appears under the specified domain.
First login and configuration
- Go to the domain you specified during installation.
- Log in with the administrator credentials from the
INVOICENINJA-SETUP.txtfile in the application directory, the address isadmin@<your-domain>, and the password is randomly generated during installation. - Change your password immediately in Settings -> Account and password.
- 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.
- 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
