Move from Lago to yRecurring.
Lago stores only provider ids for payment methods, so the cards are already in your Stripe, Adyen or GoCardless account. Invoices export from the app; the rest comes from the API or, self hosted, straight from your database.
1. Export from Lago
Invoices, then filter, then export (basic is one row per invoice, advanced one row per fee), with a link that is valid for seven days; credit notes the same way; customers, subscriptions and plans through the API list endpoints or your own Postgres.
- Invoices, basic or advanced
- Credit notes
- Customers, subscriptions and plans through the API or the database
As documented by Lago on 24 September 2026: their export guide.
2. Saved cards
Nothing to move. Lago holds the provider's customer and payment method ids, not the cards; connect the same Stripe, Adyen or GoCardless account to yRecurring and import the saved payment methods as token references.
Source: Lago documentation, read 24 September 2026. How yRecurring imports them: migrating saved payment methods.
3. What carries over
| In Lago | In yRecurring | Notes |
|---|---|---|
| Customers | Customers | Name, email, address, tax ids, your own customer id kept as the external id |
| Plans and charges | Products and prices | One product, many prices: currency, billing period and pricing model per price |
| Subscriptions | Subscriptions | With their renewal dates, so nobody is charged early or twice |
| Invoices | Invoices | Historical, marked as imported; they never email your customers |
| Payments | Payments | Recorded against the imported invoices |
| Credit notes | Credit notes | Historical, against the imported invoices |
| Saved cards | Saved payment methods | As token references from your payment gateway, never card numbers |
Records go in dependency order: customers and catalog, then subscriptions, then invoices and the payments that settle them. Each row keeps your old system's id, so a second run updates instead of duplicating. What you can import.
4. The cutover, in five steps
- 01Export
Run the Lago exports above, on the day you are ready to import them.
- 02Connect
Start the free trial and connect the same payment account you charge through today.
- 03Dry run
Upload the files. The import maps the columns, cleans the values, and shows every row it would create before it writes one.
- 04Parallel cycle
Run one billing cycle in test mode beside Lago and compare the invoices line by line.
- 05Switch
Turn charging on at a renewal boundary and stop Lago charging the same day.
Questions teams ask
Can I keep my usage events flowing during the move?
Yes. Send usage to both systems for the overlap cycle; yRecurring counts a repeated event once, so a replay of the backlog is safe.
Will my customers get emails during the import?
No. Imported invoices, payments and subscriptions are historical records; the importer never sends a customer email for them. The first message a customer gets from yRecurring is the first invoice or receipt you choose to send.
Could someone be charged twice while both systems run?
Not if the renewal dates come across, which the import keeps. Run yRecurring in test mode beside the old platform for one cycle, compare the invoices, then switch charging on at a renewal boundary and turn the old platform's charging off the same day.
How long does a migration take?
A catalog of a few plans and a few hundred customers is an afternoon: export, dry run, import, one test invoice. The saved cards decide the rest, and that depends on whether your current platform holds them or your gateway does.
Can you do the migration for us?
Yes. Book a demo and bring your export; we import it live with you on the call, so you leave with a working environment on your own data.
Bring your Lago export to a call.
We import it live with you, dry run first, so you leave with a working environment on your own data. Or start the trial and run the import yourself; it is built for that.