Liberty Invoice is an source-available tool built for intuitive yet powerful invoicing. Aimed at freelancers, businesses, and anyone else with billing needs, Liberty Invoice provides an adaptable solution to manage invoices and generate invoice PDFs. With customizable features, multi-language and multi-currency support, efficient client and product management, and more, it offers a seamless invoicing experience.
A hosted version of Liberty Invoice is available at https://liberty-invoice.com. The hosted version is updated regularly and includes the latest features and bug fixes. It is currently free to use. If you encounter any issues, please report them on GitHub.
This repository is a monorepo containing both the frontend and backend code. The frontend is built with SvelteKit and the backend is a NodeJS Express server.
We do not use any SSR in SvelteKit, so the frontend can be hosted as a static site. To build the frontend, you need to:
frontend/.env
(see .env.example
for an example)npm install
and npm run generate
in the backend
directory.
Note: The backend is required to build the frontend because the frontend uses the backend's tRPC types. For security reasons the backend's .env
file should not have any sensitive data when building the frontend.npm install
and npm run build
in the frontend
directory.frontend/build
directory.backend
directory..env
(see .env.example
for an example)npm install
, npm run prisma-up
and npm run generate
to setup the database and generate the Prisma client.npm run start
to start the backend server.Join our thriving community on Discord! Contribute to our project, share ideas, or ask questions. Together, we shape the future of Liberty Invoice.
Key technologies used in Liberty Invoice: