Skip to main content
Connectors

Lago connector

Set up the Lago connector in Kaivo: authentication, configuration, the 11 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your Lago data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your payment and finance data instead of moving it.

What is the Lago connector

Sync your Lago billing data into BigQuery with Kaivo to analyse usage-based billing, subscriptions, and revenue.

CategoryFinance & Payments
AuthenticationAPI key
SetupSelf-service

Getting started with the Lago connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Lago account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating Lago

Authenticate with your API Key.

FieldDescription
API Key

Your Lago API key. Find it in your Lago account under API keys.

Configuring the Lago connector

When you set up the connector, you provide:

FieldDescription
API URL

Base URL for the Lago API. Change this only for self-hosted Lago instances.

Tables and columns synced from Lago

Kaivo syncs 11 tables from Lago into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
amount_centsFLOAT64
amount_currencySTRING
codeSTRING
created_atSTRING
lago_idSTRING
nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: add_ons__taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
active_subscriptions_countFLOAT64
aggregation_typeSTRING
codeSTRING
created_atSTRING
draft_invoices_countFLOAT64
field_nameSTRING
lago_idSTRING
nameSTRING
plans_countFLOAT64
recurringBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: billable_metrics__filters

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amount_centsFLOAT64
amount_currencySTRING
codeSTRING
coupon_typeSTRING
created_atSTRING
expirationSTRING
expiration_atSTRING
frequencySTRING
lago_idSTRING
limited_billable_metricsBOOL
limited_plansBOOL
nameSTRING
percentage_rateSTRING
reusableBOOL
terminated_atSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: coupons__billable_metric_codes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: coupons__plan_codes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amount_centsFLOAT64
currencySTRING
customer_idSTRING
from_datetimeSTRING
issuing_dateSTRING
subscription_idSTRING
taxes_amount_centsFLOAT64
to_datetimeSTRING
total_amount_centsFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customer_usage__charges_usage

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amount_centsFLOAT64
amount_currencySTRING
billable_metric__aggregation_typeSTRING
billable_metric__codeSTRING
billable_metric__lago_idSTRING
billable_metric__nameSTRING
charge__charge_modelSTRING
charge__lago_idSTRING
events_countFLOAT64
unitsSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customer_usage__charges_usage__filters

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customer_usage__charges_usage__grouped_usage

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amount_centsFLOAT64
currencySTRING
customer_idSTRING
from_datetimeSTRING
issuing_dateSTRING
lago_invoice_idSTRING
subscription_idSTRING
taxes_amount_centsFLOAT64
to_datetimeSTRING
total_amount_centsFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customer_usage_past__charges_usage

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
account_typeSTRING
address_line1STRING
applicable_timezoneSTRING
billing_configuration__payment_providerSTRING
billing_configuration__payment_provider_codeSTRING
citySTRING
countrySTRING
created_atSTRING
currencySTRING
emailSTRING
external_idSTRING
finalize_zero_amount_invoiceSTRING
lago_idSTRING
legal_nameSTRING
legal_numberSTRING
nameSTRING
phoneSTRING
sequential_idFLOAT64
skip_invoice_custom_sectionsBOOL
slugSTRING
stateSTRING
updated_atSTRING
zipcodeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__metadata

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__billing_configuration__provider_payment_methods

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__integration_customers

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
amount_centsFLOAT64
amount_currencySTRING
amount_details__plan_amount_centsFLOAT64
created_atSTRING
external_customer_idSTRING
external_subscription_idSTRING
from_dateSTRING
invoiceableBOOL
item__typeSTRING
item__descriptionSTRING
item__codeSTRING
item__invoice_display_nameSTRING
item__item_typeSTRING
item__lago_item_idSTRING
item__nameSTRING
lago_customer_idSTRING
lago_idSTRING
lago_invoice_idSTRING
lago_subscription_idSTRING
pay_in_advanceBOOL
payment_statusSTRING
precise_amountSTRING
precise_coupons_amount_centsSTRING
precise_total_amountSTRING
precise_unit_amountSTRING
self_billedBOOL
taxes_amount_centsFLOAT64
taxes_precise_amountSTRING
taxes_rateFLOAT64
to_dateSTRING
total_amount_centsFLOAT64
total_amount_currencySTRING
unitsSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: fees__applied_taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
coupons_amount_centsFLOAT64
created_atSTRING
credit_notes_amount_centsFLOAT64
currencySTRING
customer__account_typeSTRING
customer__address_line1STRING
customer__applicable_timezoneSTRING
customer__billing_configuration__payment_providerSTRING
customer__billing_configuration__payment_provider_codeSTRING
customer__citySTRING
customer__countrySTRING
customer__created_atSTRING
customer__currencySTRING
customer__emailSTRING
customer__external_idSTRING
customer__finalize_zero_amount_invoiceSTRING
customer__lago_idSTRING
customer__legal_nameSTRING
customer__legal_numberSTRING
customer__nameSTRING
customer__phoneSTRING
customer__sequential_idFLOAT64
customer__skip_invoice_custom_sectionsBOOL
customer__slugSTRING
customer__stateSTRING
customer__updated_atSTRING
customer__zipcodeSTRING
fees_amount_centsFLOAT64
file_urlSTRING
invoice_typeSTRING
issuing_dateSTRING
lago_idSTRING
net_payment_termFLOAT64
numberSTRING
payment_due_dateSTRING
payment_overdueBOOL
payment_statusSTRING
prepaid_credit_amount_centsFLOAT64
progressive_billing_credit_amount_centsFLOAT64
self_billedBOOL
sequential_idFLOAT64
statusSTRING
sub_total_excluding_taxes_amount_centsFLOAT64
sub_total_including_taxes_amount_centsFLOAT64
taxes_amount_centsFLOAT64
total_amount_centsFLOAT64
total_due_amount_centsFLOAT64
updated_atSTRING
version_numberFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__metadata

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__applied_taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__customer__metadata

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__customer__billing_configuration__provider_payment_methods

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: invoices__customer__integration_customers

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
active_subscriptions_countFLOAT64
amount_centsFLOAT64
amount_currencySTRING
codeSTRING
created_atSTRING
customers_countFLOAT64
draft_invoices_countFLOAT64
intervalSTRING
lago_idSTRING
nameSTRING
pay_in_advanceBOOL
trial_periodFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: plans__charges

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
billable_metric_codeSTRING
charge_modelSTRING
created_atSTRING
invoiceableBOOL
lago_billable_metric_idSTRING
lago_idSTRING
min_amount_centsFLOAT64
pay_in_advanceBOOL
properties__amountSTRING
proratedBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: plans__charges__filters

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: plans__charges__taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: plans__taxes

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: plans__usage_thresholds

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
billing_timeSTRING
created_atSTRING
current_billing_period_ending_atSTRING
current_billing_period_started_atSTRING
external_customer_idSTRING
external_idSTRING
lago_customer_idSTRING
lago_idSTRING
nameSTRING
plan_codeSTRING
started_atSTRING
statusSTRING
subscription_atSTRING
trial_ended_atSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
balance_centsFLOAT64
consumed_creditsSTRING
created_atSTRING
credits_balanceSTRING
credits_ongoing_balanceSTRING
credits_ongoing_usage_balanceSTRING
currencySTRING
external_customer_idSTRING
invoice_requires_successful_paymentBOOL
lago_customer_idSTRING
lago_idSTRING
last_balance_sync_atSTRING
last_consumed_credit_atSTRING
nameSTRING
ongoing_balance_centsFLOAT64
ongoing_usage_balance_centsFLOAT64
rate_amountSTRING
statusSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: wallets__recurring_transaction_rules

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Lago sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Lago supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for Lago?

It depends on how much history is in your Lago account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when Lago's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in Lago, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Lago instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Lago connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Lago data

Recurring revenue

Use subscriptions and invoices to track recurring revenue and churn over time.

Usage billing

Join billable_metrics with customer_usage and fees to analyse usage-based charges.

Customer view

Use customers and wallets to measure balances and lifetime value.

Use Lago data in your AI and BI tools

Once Lago data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with Lago data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for Lago connector pricing and plan details.

Was this helpful?

Still need help? Share an idea