Skip to main content
Connectors

Maxio connector

Set up the Maxio connector in Kaivo: authentication, configuration, the 5 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 Maxio 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 Maxio connector

Sync your Maxio (Chargify) billing data into BigQuery with Kaivo to analyse subscriptions, invoices, and recurring revenue.

CategoryFinance & Payments
AuthenticationAPI key
SetupSelf-service

Getting started with the Maxio connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Maxio 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 Maxio

Authenticate with your API Key.

FieldDescription
API Key

Your Maxio Advanced Billing (Chargify) API key.

Configuring the Maxio connector

When you set up the connector, you provide:

FieldDescription
Domain

Your Chargify site domain, e.g. your-company.chargify.com.

Tables and columns synced from Maxio

Kaivo syncs 5 tables from Maxio 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
allow_negative_balanceBOOL
amountINT64
amount_in_centsINT64
apply_on_cancel_at_end_of_periodBOOL
archived_atSTRING
codeSTRING
compounding_strategySTRING
conversion_limitSTRING
created_atSTRING
discount_typeSTRING
duration_intervalINT64
duration_interval_spanSTRING
duration_interval_unitSTRING
duration_period_countINT64
end_dateSTRING
exclude_mid_period_allocationsBOOL
idINT64
nameSTRING
percentageINT64
product_family_idINT64
product_family_nameSTRING
recurringBOOL
recurring_schemeSTRING
stackableBOOL
start_dateSTRING
updated_atSTRING
use_site_exchange_rateBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: coupons__coupon_restrictions

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.
handleSTRING
idSTRING
item_idINT64
item_typeSTRING
nameSTRING
_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.
addressSTRING
address_2STRING
cc_emailsSTRING
citySTRING
countrySTRING
country_nameSTRING
created_atTIMESTAMP
default_subscription_group_uidSTRING
emailSTRING
first_nameSTRING
idINT64
last_nameSTRING
localeSTRING
organizationSTRING
parent_idINT64
phoneSTRING
portal_customer_created_atSTRING
portal_invite_last_accepted_atSTRING
portal_invite_last_sent_atTIMESTAMP
referenceSTRING
stateSTRING
state_nameSTRING
tax_exemptBOOL
updated_atTIMESTAMP
vat_numberSTRING
verifiedSTRING
zipSTRING
_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_address__citySTRING
billing_address__countrySTRING
billing_address__line2STRING
billing_address__stateSTRING
billing_address__streetSTRING
billing_address__zipSTRING
collection_methodSTRING
consolidation_levelSTRING
credit_amountSTRING
currencySTRING
customer__chargify_idINT64
customer__emailSTRING
customer__first_nameSTRING
customer__last_nameSTRING
customer__organizationSTRING
customer_idINT64
discount_amountSTRING
due_amountSTRING
due_dateDATE
group_primary_subscription_idINT64
issue_dateDATE
memoSTRING
numberSTRING
paid_amountSTRING
paid_dateDATE
parent_invoice_numberINT64
parent_invoice_uidINT64
payment_instructionsSTRING
product_family_nameSTRING
product_nameSTRING
refund_amountSTRING
seller__address__citySTRING
seller__address__countrySTRING
seller__address__line2STRING
seller__address__stateSTRING
seller__address__streetSTRING
seller__address__zipSTRING
seller__nameSTRING
seller__phoneSTRING
sequence_numberINT64
shipping_address__citySTRING
shipping_address__countrySTRING
shipping_address__line2STRING
shipping_address__stateSTRING
shipping_address__streetSTRING
shipping_address__zipSTRING
site_idINT64
statusSTRING
subscription_idINT64
subtotal_amountSTRING
tax_amountSTRING
total_amountSTRING
uidSTRING
_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.
activated_atSTRING
automatically_resume_atSTRING
balance_in_centsINT64
bank_account__bank_account_holder_typeSTRING
bank_account__bank_account_typeSTRING
bank_account__bank_nameSTRING
bank_account__billing_addressSTRING
bank_account__billing_address_2STRING
bank_account__billing_citySTRING
bank_account__billing_countrySTRING
bank_account__billing_stateSTRING
bank_account__billing_zipSTRING
bank_account__chargify_tokenSTRING
bank_account__current_vaultSTRING
bank_account__customer_idINT64
bank_account__customer_vault_tokenSTRING
bank_account__first_nameSTRING
bank_account__gateway_handleSTRING
bank_account__idINT64
bank_account__last_nameSTRING
bank_account__masked_bank_account_numberSTRING
bank_account__masked_bank_routing_numberSTRING
bank_account__site_gateway_setting_idINT64
bank_account__vault_tokenSTRING
cancel_at_end_of_periodBOOL
canceled_atSTRING
cancellation_messageSTRING
cancellation_methodSTRING
coupon_codeSTRING
coupon_use_countINT64
coupon_uses_allowedINT64
created_atSTRING
credit_balance_in_centsINT64
credit_card__billing_addressSTRING
credit_card__billing_address_2STRING
credit_card__billing_citySTRING
credit_card__billing_countrySTRING
credit_card__billing_stateSTRING
credit_card__billing_zipSTRING
credit_card__card_typeSTRING
credit_card__chargify_tokenSTRING
credit_card__current_vaultSTRING
credit_card__customer_idINT64
credit_card__customer_vault_tokenSTRING
credit_card__disabledBOOL
credit_card__expiration_monthINT64
credit_card__expiration_yearINT64
credit_card__first_nameSTRING
credit_card__gateway_handleSTRING
credit_card__idINT64
credit_card__last_nameSTRING
credit_card__masked_card_numberSTRING
credit_card__payment_typeSTRING
credit_card__site_gateway_setting_idINT64
credit_card__vault_tokenSTRING
currencySTRING
current_billing_amount_in_centsINT64
current_period_ends_atSTRING
current_period_started_atSTRING
customer__addressSTRING
customer__address_2STRING
customer__cc_emailsSTRING
customer__citySTRING
customer__countrySTRING
customer__country_nameSTRING
customer__created_atSTRING
customer__default_subscription_group_uidSTRING
customer__emailSTRING
customer__first_nameSTRING
customer__idINT64
customer__last_nameSTRING
customer__localeSTRING
customer__organizationSTRING
customer__parent_idINT64
customer__phoneSTRING
customer__portal_customer_created_atSTRING
customer__portal_invite_last_accepted_atSTRING
customer__portal_invite_last_sent_atSTRING
customer__referenceSTRING
customer__stateSTRING
customer__state_nameSTRING
customer__tax_exemptBOOL
customer__updated_atSTRING
customer__vat_numberSTRING
customer__verifiedBOOL
customer__zipSTRING
delayed_cancel_atSTRING
dunning_communication_delay_enabledBOOL
dunning_communication_delay_time_zoneSTRING
expires_atSTRING
group__primarySTRING
group__primary_subscription_idSTRING
group__schemeSTRING
group__uidSTRING
idINT64
localeSTRING
net_termsINT64
next_assessment_atSTRING
next_product_handleSTRING
next_product_idINT64
next_product_price_point_idINT64
offer_idINT64
on_hold_atSTRING
payer_idINT64
payment_collection_methodSTRING
payment_typeSTRING
prepaid_dunningBOOL
prepayment_balance_in_centsINT64
previous_stateSTRING
product__descriptionSTRING
product__accounting_codeSTRING
product__archived_atSTRING
product__created_atSTRING
product__default_product_price_point_idINT64
product__expiration_intervalINT64
product__expiration_interval_unitSTRING
product__handleSTRING
product__idINT64
product__initial_charge_after_trialBOOL
product__initial_charge_in_centsINT64
product__intervalINT64
product__interval_unitSTRING
product__nameSTRING
product__price_in_centsINT64
product__product_family__descriptionSTRING
product__product_family__accounting_codeSTRING
product__product_family__created_atSTRING
product__product_family__handleSTRING
product__product_family__idINT64
product__product_family__nameSTRING
product__product_family__updated_atSTRING
product__product_price_point_nameSTRING
product__request_billing_addressBOOL
product__request_credit_cardBOOL
product__require_billing_addressBOOL
product__require_credit_cardBOOL
product__require_shipping_addressBOOL
product__return_paramsSTRING
product__tax_codeSTRING
product__taxableBOOL
product__trial_intervalINT64
product__trial_interval_unitSTRING
product__trial_price_in_centsINT64
product__update_return_paramsSTRING
product__update_return_urlSTRING
product__updated_atSTRING
product__version_numberINT64
product_price_in_centsINT64
product_price_point_idINT64
product_price_point_typeSTRING
product_version_numberINT64
reason_codeSTRING
receives_invoice_emailsBOOL
referenceSTRING
referral_codeSTRING
scheduled_cancellation_atSTRING
signup_payment_idINT64
signup_revenueSTRING
snap_daySTRING
stateSTRING
stored_credential_transaction_idINT64
total_revenue_in_centsINT64
trial_ended_atSTRING
trial_started_atSTRING
updated_atSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: subscriptions__coupon_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.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: subscriptions__coupons

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.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: subscriptions__product__public_signup_pages

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.
typeSTRING
amount_in_centsINT64
card_expirationSTRING
card_numberSTRING
card_typeSTRING
component_idINT64
created_atSTRING
customer_idINT64
ending_balance_in_centsINT64
gateway_order_idINT64
gateway_transaction_idSTRING
gateway_usedSTRING
idINT64
item_nameSTRING
kindSTRING
memoSTRING
parent_idINT64
payment_idINT64
product_idINT64
refunded_amount_in_centsINT64
roleSTRING
starting_balance_in_centsINT64
statement_idINT64
subscription_idINT64
successBOOL
tax_idINT64
transaction_typeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Maxio sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Maxio 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 Maxio?

It depends on how much history is in your Maxio 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 Maxio'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 Maxio, 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 Maxio 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 Maxio connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Maxio data

Recurring revenue

Use subscriptions and invoices to track MRR, expansion, and churn over time.

Billing reporting

Join invoices with transactions to reconcile billing.

Customer view

Use customers to measure lifetime value and repeat billing.

Coupon impact

Use coupons to measure how discounts affect revenue.

Use Maxio data in your AI and BI tools

Once Maxio 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 Maxio 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 Maxio connector pricing and plan details.

Was this helpful?

Still need help? Share an idea