Doubts before starting

Hi all.

I am currently using a paid software in Mac environment for creating quotes and invoices.
I would like to use a multi-platform and multi-access solution.

I am considering to use Invoice Ninja but before I start I have some doubts before it is not possible.

Doubt 1: budget or invoice design.
Right now I have a design in PDF format and I wanted to know if it is possible to use this PDF and that the data (customer, product description, payment bank account, etc …) are placed in the design of the template.

Doubt 2: Invoice Ninja installation.
Can I install it on a Raspberry Pi? In this way I could access even from outside (connecting by VPN of course) and be able to manage it, right now I always depend on the Mac.

Doubt 3: free?
Is the Invoice Ninja self-host version completely free or does the free version have any limitations, watermark, etc… to be paid or subscription.

Thanks in advance.
Best regards.


  1. The app supports creating custom designs using HTML/CSS but it isn’t possible to use an existing PDF.

  2. Invoice Ninja relies on a web server to run the backend, you should be able to run the app using a web server on the Raspberry Pi and then use the macOS desktop app to access it.

  3. All Pro and Enterprise features from the hosted app are included in the selfhosted code. We offer a $30 per year white-label license to remove the Invoice Ninja branding from client facing parts of the app.

Hi hillel

Ok thanks for the answers. To finish clarifying the doubts:

1 - I understand that being HTML/CSS if it would accept a background image, my PDF invoice template I can convert to image.

2 - Ok.

3 - I understand that the self-hosted version without subscription there are no limitations, but in the invoice or quote that I generate a watermark appears, correct?


  1. @ben is it possible to support a background image?

  2. By default a watermark is shown, you can purchase a $30/year white label license to remove it.

Like Hillel said, templates are just HTML/CSS/JS. Any valid static content should work just fine.