Assign a plan to a customer
Dashboard
API
To assign a plan to a customer through the user interface:
- Access the “Customers” section via the side menu;
- Select a customer from the list;
- In the “Overview” tab, click “Add a plan” on the right;
- Select a plan (that you can overwrite if needed - see below);
- Give a name to the subscription (name that will be displayed on the invoice - optional);
- Give an id to the subscription (define your own subscription identifier - optional);
- Set a subscription start date (start date of the subscription - see below);
- Set a subscription end date (start date of the subscription - see below - optional);
- Choose whether the subscription should be renewed at the beginning of the period or on its anniversary date (see below); and
- Click “Add plan” to confirm.
When a subscription is active, Lago will automatically generate invoices for the customer according to the plan model. It will also start monitoring the customer’s consumption, which means that you can start pushing events related to this subscription.
The subscription date displayed in the app is based on the organization’s timezone.
Billing cycles
Optimize billing for your customers by assigning subscriptions based on either calendar dates or anniversary dates (the day they signed up).
Calendar billing period
Anniversary billing period
By default, subscriptions are based on calendar periods. Therefore, if you assign a monthly plan to a customer on July 14th:
- The first invoice will be generated for the period July 14th to July 31st;
- The next invoice will be generated for the period August 1st to August 31st; and
- All future invoices will be generated for full calendar months.
When a subscription starts during the month, the subscription fee will be calculated on a pro rata basis according to the number of days.
Consider the following example:
Your customer signs up for the Premium plan, 50 / 31 days = $35.48**

Calendar billing cadence
Subscription start date
By default, the subscription starts the day it is created. However, you can set a subscription date in the past or in the future. The subscription date displayed in the app is based on the organization’s timezone. However, you can decide to start a subscription in the past or in the future.
Start date in the past
Start date in the future
If the start date of the subscription is in the past, the subscription is considered active.
Lago will not generate any invoices for past periods already completed.
The invoicing process varies depending on the plan model and billing cycle:
- If the plan includes a subscription fee to be paid in advance, it will be considered as already paid for the current period. The next invoice will include the usage-based charges for the current period and the subscription fee for the next period (see example 1 below); and
- If the plan includes a subscription fee to be paid in arrears, it will be included in the next invoice, together with the usage-based charges for the current period (see example 2 below).
Example 1: Start date in the past and subscription fee to be paid in advance

Illustration for start date in the past and subscription fee in advance
Example 2: Start date in the past and subscription fee to be paid in arrears

Illustration for start date in the past and subscription fee in advance
Subscription end date
By default, if no subscription end date is specified, the subscription will automatically renew at the end of the period.
However, if you define an end date, the subscription will terminate on that date without renewal. This is valuable for contracts with specific termination dates.
Keep in mind, 45 days and 15 days before the subscription ends, a webhook alert, called subscription.termination_alert
, will remind you. You then have two choices:
- Allow the subscription to continue until the end date and finalize it; or
- Adjust the subscription end date if the contract has been renegotiated.
Ensure that the subscription end date is set to a date later than the subscription start date.
Dashboard
API
Here is how you can define a susbcription end date from the UI:
- Access the “Customers” section via the side menu;
- Select a customer from the list;
- In the “Overview” tab, click “Add a plan” on the right;
- Set a subscription start date;
- Set a subscription end date;
- Choose between calendar or anniversary billing;
- Click “Add plan” to confirm.
Multiple plans
You may create several subscriptions for a customer by assigning them multiple plans. This can be particularly useful if your application allows customers to create different projects or workspaces (e.g. Free plan for Workspace 1, Free plan for Workspace 2, Premium plan for Workspace 3, etc.).
There are some rules to keep in mind when assigning multiple plans to a customer:
- All plans must be denominated in the same currency; and
- You must specify the
external_subscription_id
for each event or create batch events.
We recommend that you give each subscription a name when assigning multiple plans to a customer. The subscription names will make it easier to differentiate each plan and will also be displayed on the invoices.
When multiple subscriptions are linked to a customer, Lago will automatically consolidate invoices when possible.
Month 1 | Month 2 | Month 3 | Month 4 | (…) | Month 13 | |
---|---|---|---|---|---|---|
Plan A (monthly) | $40 | $40 | $40 | $40 | (…) | $40 |
Plan B (monthly) | $60 | $60 | $60 | $60 | (…) | $60 |
Plan C (yearly) | $500 | - | - | - | (…) | $500 |
Total invoice | $600 | $100 | $100 | $100 | (…) | $600 |
It is possible to link to the same customer subscriptions that are based on different billing cycles (e.g. a subscription based on calendar dates and another based on the anniversary date).
Overwriting a plan
By assigning a subscription, you can use an existing plan as a template to create a new plan for your customer.
When assigning a plan to a customer via the user interface:
- Select an existing plan;
- Click “Overwrite”, next to the plan name;
- Choose a name and a code for the new plan;
- Modify the plan model and charges according to your needs; and
- Click “Duplicate plan” to confirm.
To start a subscription, the currency of the new plan must match the currency associated with the customer.
Overwriting a plan has no impact on the original plan or existing subscriptions.
Deleting a plan
You could delete a plan linked to existing subscriptions.
If you do so, the subscriptions associated with this plan will be immediately terminated. This action may trigger the generation of invoices and/or credit notes.
After deleting a plan, you can create a new one using the same code.