This library will allow you to build an entire billing system from scratch. Lago is a real-time, event-based solution made for usage-based billing, subscription-based billing, and all the nuances of pricing in between.

You can use the self-hosted version to deploy Lago on your existing infrastructure or request access to Lago Cloud to start using our solution immediately.

Five-step billing workflow

1. Usage ingestion

Events provide information about your customers’ consumption, with the highest level of granularity. Any product feature for which you want to charge your customers should correspond to a specific event. An event can be triggered by an action or can be sent periodically. Lago is able to ingest events at scale while preventing duplicates.

2. Metrics aggregation

The aggregation process consists in converting events into billable metrics. There are 4 aggregation types:

AggregationDescriptionType
COUNTCounts the number of times an incoming event occursMetered
COUNT_UNIQUEReturns the number of unique values of a predefined property for incoming eventsMetered or Recurring
LATESTReturns the lastest value of a predefined property for incoming eventsMetered
MAXReturns the maximum value of a predefined property for incoming eventsMetered
SUMCalculates the sum of a predefined property for incoming eventsMetered or Recurring
WEIGHTED SUMCalculates the sum of a predefined property for incoming events prorated based on time used per periodMetered or Recurring

3. Pricing and packaging

Creating plans allows you to define how much your customers should pay for using your product. You can then combine plans and billable metrics to implement any billing model (i.e. subscription-based, usage-based, or hybrid). Billable metrics may be priced differently depending on the associated plan.

4. Invoicing

Lago automatically generates invoices for each customer according to the plan model: the subscription fee can be billed at the beginning or at the end of the billing period while usage-based charges are always calculated at the end of the billing period. Invoices include fees, taxes and customer information.

5. Payments

When an invoice is emitted and finalized, it’s ready for payment collection. Connect payment providers through native integrations or trigger payments on any PSPs using the invoice payload created by Lago.