Freelancing Invoicing 1 min read

Why Invoicerr is the Ultimate Game Changer for Freelancers

B
Bright Coding
Author
Share:
Why Invoicerr is the Ultimate Game Changer for Freelancers
Advertisement

Freelancing can be a rewarding career, but managing finances and paperwork can be a nightmare. Invoicerr is here to change that. This open-source invoicing app is designed specifically for freelancers, making it easy to create quotes, generate invoices, track payments, and collect secure signatures. Let's dive into why Invoicerr is the game changer you've been waiting for.

What is Invoicerr?

Invoicerr is a freelance-focused invoicing application that streamlines the process of managing quotes and invoices. Created by Impre-visible, Invoicerr is built with freelancers in mind, offering a clean interface and robust features to help you get paid faster and with less hassle. With its growing popularity, Invoicerr is trending now as a must-have tool for freelancers worldwide.

Key Features

Invoicerr packs a punch with its feature set. Here are some of the standout capabilities:

  • Create and manage invoices: Easily generate professional invoices.
  • Create and manage quotes: Convert quotes to invoices seamlessly.
  • Client management: Keep track of client details and communication.
  • Track status: Monitor the status of quotes and invoices (signed, paid, unread, etc.).
  • Secure signatures: Built-in quote signing system with secure tokens.
  • Email integration: Send quotes and invoices directly from the app.
  • PDF generation: Generate clean PDF documents for quotes, invoices, and receipts.
  • Custom branding: Add your logo, company name, VAT, and more.
  • Authentication: Secure login via JWT or OIDC.
  • International-friendly: Default English UI with customizable currencies.
  • Database options: SQLite for quick local setup or PostgreSQL for production.
  • Self-hosting ready: Docker and docker-compose ready for easy deployment.
  • Modern tech stack: Built with React, NestJS, Prisma, and more.
  • REST API: Backend ready for future integrations.
  • Plugin system: Extend functionality with community-made features.

Use Cases

Invoicerr shines in various real-world scenarios. Here are a few examples:

Freelance Designers

Freelance designers often juggle multiple clients and projects. Invoicerr allows them to create detailed quotes and invoices, track payments, and manage client information all in one place. The ability to send secure quotes and collect signatures ensures a smooth workflow.

Freelance Developers

For freelance developers, Invoicerr provides a streamlined way to manage project quotes and invoices. The REST API backend makes it easy to integrate with other tools, and the secure signature feature ensures that agreements are legally binding.

Freelance Writers

Freelance writers can use Invoicerr to create professional invoices and track payments. The clean UI and efficient workflow make it easy to manage multiple clients and projects.

Small Business Owners

Small business owners can leverage Invoicerr to manage invoices for their freelance work. The custom branding options allow them to maintain a professional image, and the secure signature feature ensures that all agreements are legally sound.

Step-by-Step Installation & Setup Guide

Docker Installation (Recommended)

Supported 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.

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).

  • SMTP_HOST, SMTP_USER, SMTP_PASSWORD Credentials and server used for sending emails.

  • 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.

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 start
    
  3. Frontend setup (in a new terminal):

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

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

Real Code Examples from the Repository

Backend Setup

Here's how you can set up the backend for Invoicerr:

// Backend setup
const express = require('express');
const app = express();
const prisma = require('./prisma');

app.use(express.json());

app.post('/invoices', async (req, res) => {
  const { client, items, total } = req.body;
  const invoice = await prisma.invoice.create({
    data: {
      client: {
        create: client,
      },
      items: {
        createMany: { data: items },
      },
      total,
    },
  });
  res.json(invoice);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

This code sets up an Express server and uses Prisma to interact with the database. The create method is used to insert a new invoice into the database.

Frontend Setup

Here's how you can set up the frontend for Invoicerr:

// Frontend setup
import React, { useState } from 'react';
import axios from 'axios';

function InvoiceForm() {
  const [client, setClient] = useState('');
  const [items, setItems] = useState([]);
  const [total, setTotal] = useState(0);

  const handleSubmit = async (event) => {
    event.preventDefault();
    const response = await axios.post('http://localhost:3000/invoices', {
      client,
      items,
      total,
    });
    console.log(response.data);
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type='text'
        value={client}
        onChange={(e) => setClient(e.target.value)}
        placeholder='Client Name'
      />
      <input
        type='number'
        value={total}
        onChange={(e) => setTotal(Number(e.target.value))}
        placeholder='Total Amount'
      />
      <button type='submit'>Create Invoice</button>
    </form>
  );
}

export default InvoiceForm;

This code sets up a simple React component to create a new invoice. The axios library is used to send a POST request to the backend.

Generating PDF Documents

Here's how you can generate PDF documents for invoices:

// Generating PDF Documents
const pdf = require('pdfkit');
const fs = require('fs');

function generateInvoicePDF(invoice) {
  const doc = new pdf();
  doc.text('Invoice', 100, 50);
  doc.text(`Client: ${invoice.client.name}`, 100, 100);
  doc.text(`Total: ${invoice.total}`, 100, 150);
  doc.pipe(fs.createWriteStream('invoice.pdf'));
  doc.end();
}

// Example usage
generateInvoicePDF({
  client: { name: 'John Doe' },
  total: 1000,
});

This code uses the pdfkit library to generate a PDF document for an invoice. The text method is used to add text to the PDF, and the pipe method is used to save the PDF to a file.

Advanced Usage & Best Practices

Pro Tips

  • Customize your brand: Add your logo and company details to make your invoices look professional.
  • Use environment variables: Keep your configuration secure by using environment variables for sensitive information.
  • Regular backups: Ensure your data is safe by regularly backing up your database.
  • Monitor performance: Keep an eye on your application's performance and optimize as needed.

Optimization Strategies

  • Database indexing: Use database indexes to speed up query performance.
  • Caching: Implement caching to reduce load times and improve user experience.
  • Load balancing: Use load balancing to distribute traffic and ensure high availability.

Comparison with Alternatives

Feature Invoicerr Alternative 1 Alternative 2
Open Source Yes No No
Custom Branding Yes Limited Limited
Secure Signatures Yes No No
REST API Yes No No
Self-Hosting Yes No No
Modern Tech Stack Yes No No

FAQ

How do I install Invoicerr?

You can install Invoicerr using Docker or manually. Follow the installation guide in the README for detailed instructions.

Is Invoicerr free to use?

Yes, Invoicerr is open source and free to use under the AGPL-3.0 license. There is also a commercial license available for commercial use.

Can I customize the branding?

Yes, you can add your logo, company name, VAT, and more to customize the branding.

Is Invoicerr secure?

Invoicerr uses JWT or OIDC for authentication and secure tokens for signatures, ensuring your data is safe.

How do I report an issue?

You can report issues on the GitHub Issues page.

Can I contribute to Invoicerr?

Yes, contributions are welcome! Check out the Contributing Guide for more information.

Conclusion

Invoicerr is a powerful tool for freelancers looking to streamline their invoicing process. With its robust feature set, modern tech stack, and open-source nature, it's a game changer in the world of freelance invoicing. Check out the Invoicerr GitHub repository to get started today and take control of your invoicing workflow.

Advertisement

Comments (0)

No comments yet. Be the first to share your thoughts!

Leave a Comment

Apps & Tools Open Source

Apps & Tools Open Source

Bright Coding Prompt

Bright Coding Prompt

Categories

Coding 7 No-Code 2 Automation 14 AI-Powered Content Creation 1 automated video editing 1 Tools 12 Open Source 24 AI 21 Gaming 1 Productivity 16 Security 4 Music Apps 1 Mobile 3 Technology 19 Digital Transformation 2 Fintech 6 Cryptocurrency 2 Trading 2 Cybersecurity 10 Web Development 16 Frontend 1 Marketing 1 Scientific Research 2 Devops 10 Developer 2 Software Development 6 Entrepreneurship 1 Maching learning 2 Data Engineering 3 Linux Tutorials 1 Linux 3 Data Science 4 Server 1 Self-Hosted 6 Homelab 2 File transfert 1 Photo Editing 1 Data Visualization 3 iOS Hacks 1 React Native 1 prompts 1 Wordpress 1 WordPressAI 1 Education 1 Design 1 Streaming 2 LLM 1 Algorithmic Trading 2 Internet of Things 1 Data Privacy 1 AI Security 2 Digital Media 2 Self-Hosting 3 OCR 1 Defi 1 Dental Technology 1 Artificial Intelligence in Healthcare 1 Electronic 2 DIY Audio 1 Academic Writing 1 Technical Documentation 1 Publishing 1 Broadcasting 1 Database 3 Smart Home 1 Business Intelligence 1 Workflow 1 Developer Tools 144 Developer Technologies 3 Payments 1 Development 4 Desktop Environments 1 React 4 Project Management 1 Neurodiversity 1 Remote Communication 1 Machine Learning 14 System Administration 1 Natural Language Processing 1 Data Analysis 1 WhatsApp 1 Library Management 2 Self-Hosted Solutions 2 Blogging 1 IPTV Management 1 Workflow Automation 1 Artificial Intelligence 11 macOS 3 Privacy 1 Manufacturing 1 AI Development 11 Freelancing 1 Invoicing 1 AI & Machine Learning 7 Development Tools 3 CLI Tools 1 OSINT 1 Investigation 1 Backend Development 1 AI/ML 19 Windows 1 Privacy Tools 3 Computer Vision 6 Networking 1 DevOps Tools 3 AI Tools 8 Developer Productivity 6 CSS Frameworks 1 Web Development Tools 1 Cloudflare 1 GraphQL 1 Database Management 1 Educational Technology 1 AI Programming 3 Machine Learning Tools 2 Python Development 2 IoT & Hardware 1 Apple Ecosystem 1 JavaScript 6 AI-Assisted Development 2 Python 2 Document Generation 3 Email 1 macOS Utilities 1 Virtualization 3 Browser Automation 1 AI Development Tools 1 Docker 2 Mobile Development 4 Marketing Technology 1 Open Source Tools 8 Documentation 1 Web Scraping 2 iOS Development 3 Mobile Apps 1 Mobile Tools 2 Android Development 3 macOS Development 1 Web Browsers 1 API Management 1 UI Components 1 React Development 1 UI/UX Design 1 Digital Forensics 1 Music Software 2 API Development 3 Business Software 1 ESP32 Projects 1 Media Server 1 Container Orchestration 1 Speech Recognition 1 Media Automation 1 Media Management 1 Self-Hosted Software 1 Java Development 1 Desktop Applications 1 AI Automation 2 AI Assistant 1 Linux Software 1 Node.js 1 3D Printing 1 Low-Code Platforms 1 Software-Defined Radio 2 CLI Utilities 1 Music Production 1 Monitoring 1 IoT 1 Hardware Programming 1 Godot 1 Game Development Tools 1 IoT Projects 1 ESP32 Development 1 Career Development 1 Python Tools 1 Product Management 1 Python Libraries 1 Legal Tech 1 Home Automation 1 Robotics 1 Hardware Hacking 1 macOS Apps 3 Game Development 1 Network Security 1 Terminal Applications 1 Data Recovery 1 Developer Resources 1 Video Editing 1 AI Integration 4 SEO Tools 1 macOS Applications 1 Penetration Testing 1 System Design 1 Edge AI 1 Audio Production 1 Live Streaming Technology 1 Music Technology 1 Generative AI 1 Flutter Development 1 Privacy Software 1 API Integration 1 Android Security 1 Cloud Computing 1 AI Engineering 1 Command Line Utilities 1 Audio Processing 1 Swift Development 1 AI Frameworks 1 Multi-Agent Systems 1 JavaScript Frameworks 1 Media Applications 1 Mathematical Visualization 1 AI Infrastructure 1 Edge Computing 1 Financial Technology 2 Security Tools 1 AI/ML Tools 1 3D Graphics 2 Database Technology 1 Observability 1 RSS Readers 1 Next.js 1 SaaS Development 1 Docker Tools 1 DevOps Monitoring 1 Visual Programming 1 Testing Tools 1 Video Processing 1 Database Tools 1 Family Technology 1 Open Source Software 1 Motion Capture 1 Scientific Computing 1 Infrastructure 1 CLI Applications 1 AI and Machine Learning 1 Finance/Trading 1 Cloud Infrastructure 1 Quantum Computing 1
Advertisement
Advertisement