A self-hosted and open-source billing solution designed to give you complete control over your financial data without relying on external services.
- Manage quotes and invoices
- Client and product management
- Tax rate configuration
- Dashboard with statistics and graphs
- Customizable company profile
- Custom fields for invoices
- Authentication and security
- PDF generation for invoices and quotes
- History of invoice status changes
- Docker installed on your machine.
-
Create a
.envfile with the following content:DATABASE_URL=file:./.data/db.sqlite3 NUXT_SESSION_PASSWORD=password-with-at-least-32-characters -
Create a docker-compose.yml file with the following content:
services:
nuxt-app:
image: ghcr.io/nathanviaud/invoicerzz:latest
ports:
- "3000:3000"
env_file:
- .env
volumes:
- db_data:/app/.data
volumes:
db_data:
driver: local-
Run the following command to start the application
docker-compose up -d
This will pull the Docker image and start the application, making it accessible at http://localhost:3000. If this is the firt time you launch the application, you will be redirected the the setup screen to create your first account.
-
Creating Quotation:
- Go to the "Quotations" section.
- Click on "Create quotation".
- Choose a client, add products or services, and specify applicable taxes.
- Save the quotation. You can edit or delete it until it is converted into an invoice.
-
Converting to Invoice:
- Once the quote is approved by the client, click on "Create Invoice".
- The invoice will be generated with a unique number and cannot be modified thereafter.
-
Tracking Status:
- Invoices can be marked as "Pending" & "Paid"
- The history of status changes is available for each invoice.
-
Adding a Client:
- Go to the "Clients" section.
- Click on "Add Client".
- Fill in the client information (name, address, email, etc.).
- Save the information.
-
Modifying/Deleting:
- To modify or delete a client, click on the three vertical dots at the right of the columns & click on Edit or Delete
-
Adding a Product:
- Access the "Products" section.
- Click on "Add Product".
- Fill in the product details (name, price, description, etc.).
- Save the product.
-
Using in Invoices:
- When creating a quote or invoice, select the products to include from the catalog.
-
Adding a Tax Rate:
- Go to the "Taxes" section.
- Click on "Add Rate".
- Define the tax rate (e.g., 20% for standard VAT) & the tax name.
- Save.
-
Automatic Application:
- When creating an invoice, taxes are automatically calculated based on the selected products and configured rates.
- Viewing Statistics:
- The dashboard displays key statistics such as the number of paid invoices, total revenue, etc.
- Customization:
- Access the "My Company" section.
- Update your company information (name, address, email, etc.).
- Adding Custom Fields:
- When creating an invoice, you can add custom fields to include additional information.
- Invitation:
- Existing users can access the "Team" section & create an invitation from an email, next copy the invitation link & send it.
To set up the development environment:
- Clone the Git repository.
- Install dependencies by running
npm install. - Launch the application in development mode with
npm run dev.
Contributions to this project are welcome. To contribute, please follow these steps:
- Fork the project.
- Create a branch for your feature (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is licensed under MIT License. See the LICENSE file for details.