Create invoice

Install InvoiceDesk free on your own domain

InvoiceDesk is a folder of static files with an optional zero-dependency Node.js server. Put it on Hostinger or any web host. Turn on team logins with a free Supabase project if you need them.

Just want to make invoices? You don't need to install anything. Use the app here.

Two ways to run it

Browser mode (default)Team mode
LoginsNoneEmail and password per person
DataEach visitor's own browserYour own Supabase Postgres database
PeopleOne person per browserAdmins and members, with permissions enforced by row-level security
SetupUpload the filesUpload the files, run one SQL file, paste two keys

Which one you get depends on config.js. With the placeholder values it runs in browser mode. With your Supabase URL and publishable key it runs in team mode.

Option 1: Hostinger Node.js web app

Hostinger can run Node.js apps on its Business web hosting and Cloud plans. You don't need a VPS. InvoiceDesk ships with server.js, a small static server that uses only Node's built-in modules.

Get Hostinger hosting (opens in a new tab, affiliate link)

  1. Fork the repository on GitHub: github.com/amanverma-gh/invoicedesk.
  2. In hPanel, go to Websites → Add website and choose Node.js Web App.
  3. Choose Import Git repository, connect GitHub and pick your fork. (Or choose Upload your files and upload a zip of the folder.)
  4. In the build settings, use:
    Framework presetOther
    Node.js version22 (18, 20 and 24 also work)
    Build commandleave empty (there is nothing to build)
    Entry fileserver.js
    Start commandnpm start, if asked
  5. Click Deploy. The server listens on the port Hostinger gives it in PORT, and on 3000 otherwise.
  6. Connect your domain. Every push to your fork redeploys the site.

The Hostinger link is an affiliate link. If you buy through it, the project earns a commission at no extra cost to you. It helps keep InvoiceDesk free.

Option 2: Any static host, or your own computer

Upload the folder to Netlify, Vercel, GitHub Pages, shared hosting via FTP, or an S3 bucket. No build settings are needed. To run it on your own computer:

node server.js
# open http://localhost:3000

Turn on team logins (Supabase)

  1. Create a free project at supabase.com.
  2. Open SQL Editor → New query, paste all of supabase/schema.sql and click Run. It creates the tables, the row-level security policies and the functions.
  3. From Project Settings → API, copy the project URL and the publishable (anon) key into config.js:
    window.INVOICEDESK = {
      supabaseUrl: 'https://your-project.supabase.co',
      supabaseKey: 'your-publishable-key'
    };
    The publishable key is meant to be public. Every permission is enforced by the database, not by the browser.
  4. In Authentication → URL Configuration, set the site URL to your domain and add https://your-domain/app/ to the redirect URLs.
  5. For real users, add an SMTP provider (Resend, Brevo, Amazon SES) under Authentication → Emails. Supabase's built-in email is only for testing.
  6. Open /app/, create an account and create your business. You are its admin. Invite your team from Team.

Members can create invoices, customers and items and record payments, but can't delete anything. Editing saved invoices is allowed only if the admin turns it on.

Licence

InvoiceDesk uses the Sustainable Use License. Use it and change it for your own business or personal use. Don't sell it, and don't run it as a paid service for other people.

Questions people ask

Is installing InvoiceDesk really free?
The software is free. You pay only for hosting if your host charges for it. Many static hosts have free plans. Supabase, used for team logins, has a free plan too.
Can I sell InvoiceDesk or run it as a paid service?
No. The Sustainable Use License lets you use and change it for your own business or personal use. Selling it, or running it as a paid service for other people, is not allowed.
Do I need a database?
No, not for a copy that only you use. It saves to the browser like the version on this site. Add a free Supabase project only if you want logins and shared data for a team.
Which Node.js version does it need?
Any current version: 18, 20, 22 or 24. The server has no dependencies, so there is nothing to install.
How do I update my copy?
Pull the latest changes from GitHub into your fork. Hosts that deploy from Git, such as Hostinger, redeploy by themselves.