Skip to content

NathanViaud/invoicerzz

Repository files navigation

Inv0ic3rzz

A self-hosted and open-source billing solution designed to give you complete control over your financial data without relying on external services.

Features

  • 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

Installation

Prerequisites

  • Docker installed on your machine.

Installation Steps

  1. Create a .env file with the following content:

    DATABASE_URL=file:./.data/db.sqlite3
    NUXT_SESSION_PASSWORD=password-with-at-least-32-characters
    
  2. 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
  1. 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.

Usage

Managing Quotations and Invoices

  1. 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.
  2. 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.
  3. Tracking Status:

    • Invoices can be marked as "Pending" & "Paid"
    • The history of status changes is available for each invoice.

Client Management

  1. Adding a Client:

    • Go to the "Clients" section.
    • Click on "Add Client".
    • Fill in the client information (name, address, email, etc.).
    • Save the information.
  2. 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

Product Management

  1. Adding a Product:

    • Access the "Products" section.
    • Click on "Add Product".
    • Fill in the product details (name, price, description, etc.).
    • Save the product.
  2. Using in Invoices:

    • When creating a quote or invoice, select the products to include from the catalog.

Configuring Taxes

  1. 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.
  2. Automatic Application:

    • When creating an invoice, taxes are automatically calculated based on the selected products and configured rates.

Dashboard

  1. Viewing Statistics:
    • The dashboard displays key statistics such as the number of paid invoices, total revenue, etc.

Company Profile

  1. Customization:
    • Access the "My Company" section.
    • Update your company information (name, address, email, etc.).

Custom Fields

  1. Adding Custom Fields:
    • When creating an invoice, you can add custom fields to include additional information.

Authentication and Security

  1. Invitation:
    • Existing users can access the "Team" section & create an invitation from an email, next copy the invitation link & send it.

Development

To set up the development environment:

  1. Clone the Git repository.
  2. Install dependencies by running npm install.
  3. Launch the application in development mode with npm run dev.

Contribution

Contributions to this project are welcome. To contribute, please follow these steps:

  1. Fork the project.
  2. Create a branch for your feature (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

License

This project is licensed under MIT License. See the LICENSE file for details.

About

Self-hosted & open-source billing solution

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages