Skip to content

Invoicerr is a freelance-focused invoicing app that lets you create quotes, generate invoices, track payments, and collect secure signatures.

License

Notifications You must be signed in to change notification settings

Impre-visible/invoicerr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Invoicerr

Invoicerr is a simple, open-source invoicing application designed to help freelancers manage their quotes and invoices efficiently. It provides a clean interface for creating, sending, and tracking quotes and invoices β€” so you get paid faster, with less hassle.

Dashboard Page

✨ Features

  • Create and manage invoices
  • Create and manage quotes (convertible to invoices)
  • Manage clients and their contact details
  • Track status of quotes and invoices (signed, paid, unread, etc.)
  • Built-in quote signing system with secure tokens
  • Generate and send quote/invoice emails directly from the app
  • Generate clean PDF documents (quotes, invoices, receipts, and more)
  • Custom brand identity: logo, company name, VAT, and more
  • Authentication via JWT or OIDC (stored in cookies)
  • International-friendly: Default English UI, customizable currencies
  • SQLite database for quick local setup
  • Docker & docker-compose ready for self-hosting
  • Built with modern stack: React, NestJS, Prisma, SQLite/PostgreSQL
  • REST API backend, ready for future integrations (mobile & desktop apps)
  • Plugin system for community-made features

🐳 Docker Installation (Recommended)

Supported Architectures

The images are built for the following architectures:

  • linux/amd64 (x86_64)
  • linux/arm64/v8 (ARMv8)

Why not linux/arm/v7?

The linux/arm/v7 architecture is not supported due to the use of prisma, which does not provide prebuilt binaries for this architecture. This means that the application will not run on 32-bit ARM devices.

The fastest way to run Invoicerr is using Docker Compose. A prebuilt image is available at ghcr.io/impre-visible/invoicerr.

πŸš€ Quick Start

  1. Clone the repository:

    git clone https://github.com/Impre-visible/invoicerr.git
    cd invoicerr
  2. Edit the docker-compose.yml to set your environment variables.

  3. Run the app:

    docker compose up -d
  4. Open your browser at:

    http://localhost
    

πŸ”§ Environment Variables

These environment variables are defined in docker-compose.yml under the invoicerr service:

  • DATABASE_URL
    PostgreSQL connection string. Example:
    postgresql://invoicerr:invoicerr@invoicerr_db:5432/invoicerr_db

  • APP_URL
    Full public URL of the frontend (e.g., https://invoicerr.example.com).
    This is required for email templates and links.

  • SMTP_HOST, SMTP_USER, SMTP_PASSWORD
    Credentials and server used for sending emails (quotes, invoices, etc.)

  • SMTP_FROM
    Optional β€” address used as the sender for emails. If omitted, defaults to SMTP_USER.

  • JWT_SECRET
    Optional but recommended for JWT authentication. Can be any random string.
    If not set, a default secret will be used. But it can have issues with docker deployments.

Make sure port 80 is available on your host machine, or change the mapping.


πŸ’» Manual Installation (Local Development)

Prerequisites

  • Node.js v20+
  • SQLite (or configure another DATABASE_URL)
  • PNPM or NPM

Steps

  1. Clone the project:

    git clone https://github.com/Impre-visible/invoicerr.git
    cd invoicerr
  2. Backend setup:

    cd backend
    npm install
    npx prisma generate
    npm run dev
  3. Frontend setup (in a new terminal):

    cd frontend
    npm install
    npm run dev
  4. Open in your browser:

    • Frontend: http://localhost:5173
    • API: http://localhost:3000

πŸ“Έ Screenshots

Dashboard

Dashboard Page

Quotes

Quotes Page

Invoices

Invoices Page

Clients

Clients Page

Settings

Settings Page

🧰 Technologies

βš–οΈ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for more details.

About

Invoicerr is a freelance-focused invoicing app that lets you create quotes, generate invoices, track payments, and collect secure signatures.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •  

Languages