OpenSource-Hub
L

Lago

9.6k stars·Developer Tools·SHA-256 checksum verified

Open-source billing platform for usage-based and subscription models. Track anything, bill anything.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Open-source billing platform for flexible pricing, self-hosted data control.

Core Features

  • Usage Metering: real-time event ingestion and aggregation
  • Billing & Invoicing: automated invoice generation for subscriptions, usage, hybrid plans
  • Entitlements: feature access management tied to billing plans
  • Cash Collection: payment orchestration with dunning, retries, multi-gateway
  • Revenue Analytics: MRR, usage trends, revenue drivers

What It Can't Do

  • Self-host: update .env with server URL if not localhost. Default anonymous usage tracking (no PII) can be disabled. For high volume, configure dedicated workers. AGPLv3 license—check compliance for commercial use.

Use Cases

  • SaaS companies with hybrid pricing (base subscription + overage)
  • AI API platforms billing by tokens
  • Marketplaces providing billing for third-party sellers

Detailed Introduction

Lago is the open-source billing platform designed for product-led companies. It supports usage-based, subscription-based, and hybrid pricing models with real-time event ingestion, automated invoicing, payment orchestration, entitlements, and revenue analytics. Self-host or use Lago Cloud. API-first, payment-agnostic, and SOC 2 Type II certified. Trusted by PayPal, Mistral AI, Groq, and more.

Troubleshooting & FAQ (2)

Troubleshooting
Why can't I log in with the new password after updating the LAGO_ORG_USER_PASSWORD environment variable?

The signup.rake task uses create_with, which only sets the password on user creation. If the user already exists, restarts after password changes leave the old password in place, causing "incorrect login or password". To fix permanently, modify lib/tasks/signup.rake to use find_or_initialize_by, set password explicitly, then save. As a quick workaround, delete the existing user (rails console: User.find_by(email: ENV['LAGO_ORG_USER_EMAIL'])&.destroy) and re-run the signup rake task, or update the password directly in the database. The fix ensures the password stays synced with the env var across restarts.

GitHub Issue #708
Troubleshooting
Why does db:schema:load fail with 'relation "public.payment_receipts" does not exist' in Lago?

This error occurs because the structure.sql file in Lago attempts to DROP TRIGGER on the payment_receipts table before it is created. A workaround is to manually create the table first: 'CREATE TABLE IF NOT EXISTS public.payment_receipts (id uuid DEFAULT gen_random_uuid() NOT NULL, number character varying NOT NULL, payment_id uuid NOT NULL, organization_id uuid NOT NULL, created_at timestamp(6) without time zone NOT NULL, updated_at timestamp(6) without time zone NOT NULL, billing_entity_id uuid NOT NULL);' Then run db:schema:load or db:migrate. The issue was reported on Lago v1.33.4 and v1.38.0. The maintainers could not reproduce it in the latest version, so upgrading may resolve it.

GitHub Issue #669

Tags

billingmeteringinvoicingopen-sourcesubscriptionusage-basedrevenueAI-native

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Ensure Docker and Git are installed

4

Step 2: Clone repo and enter directory: git clone --depth 1 https://github.com/getlago/lago.git && cd lago

5

Step 3: Generate RSA key and start: echo 'LAGO_RSA_PRIVATE_KEY="$(openssl genrsa 2048 | openssl base64 -A)"' >> .env && source .env && docker compose up

Install Guide
  1. Step 1: Ensure Docker and Git are installed
  2. Step 2: Clone repo and enter directory: git clone --depth 1 https://github.com/getlago/lago.git && cd lago
  3. Step 3: Generate RSA key and start: echo 'LAGO_RSA_PRIVATE_KEY="$(openssl genrsa 2048 | openssl base64 -A)"' >> .env && source .env && docker compose up
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Run docker compose down to stop containers, then delete the lago folder. To remove all data, delete the Docker volumes.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseAGPL-3.0
Last Updated2026-06-27 11:05:16
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects