Skip to main content
Connectors

ChargeDesk connector

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

Sync your ChargeDesk billing data into BigQuery with Kaivo to analyse charges, subscriptions, and customers alongside the rest of your finance data.

CategoryFinance & Payments
AuthenticationAPI key
SetupSelf-service

Getting started with the ChargeDesk connector

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

Authenticate with your Secret Key.

FieldDescription
Secret Key

Your ChargeDesk secret key, used as the HTTP Basic Auth username. Enable API access and find your key at chargedesk.com/connect/api.

Tables and columns synced from ChargeDesk

Kaivo syncs 4 tables from ChargeDesk 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
metadataJSON
amountSTRING
objectSTRING
statusSTRING
companySTRING
is_paidBOOL
currencySTRING
occurredSTRING
added_taxSTRING
charge_idSTRING
sent_voidSTRING
gateway_idSTRING
manage_urlSTRING
name_emailSTRING
product_idSTRING
accurate_atSTRING
audited_jobSTRING
customer_idSTRING
gateway_urlSTRING
invoice_urlSTRING
refunded_atSTRING
status_textSTRING
support_urlSTRING
product_descSTRING
sent_dunningSTRING
sent_invoiceSTRING
sent_receiptSTRING
amount_symbolSTRING
customer_nameSTRING
last_4_digitsSTRING
support_emailSTRING
customer_emailSTRING
customer_phoneSTRING
failure_reasonSTRING
payment_methodSTRING
sent_authorizeSTRING
transaction_idSTRING
amount_refundedSTRING
email_last_sentFLOAT64
name_send_emailSTRING
subscription_idSTRING
amount_formattedSTRING
customer_countrySTRING
customer_usernameSTRING
occurred_relativeSTRING
amount_with_commasSTRING
occurred_formattedSTRING
payment_method_bankSTRING
sent_refund_receiptSTRING
invoice_download_urlSTRING
payment_method_brandSTRING
customer_email_domainSTRING
refunded_at_formattedSTRING
sent_invoice_reminderSTRING
statement_descriptionSTRING
payment_method_describeSTRING
amount_refunded_formattedSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: charges__logs

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: charges__methods_active

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: charges__methods_supported

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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
faxSTRING
nameSTRING
emailSTRING
phoneSTRING
editedSTRING
objectSTRING
chargesFLOAT64
companySTRING
countrySTRING
ticketsSTRING
websiteSTRING
usernameSTRING
has_itemsSTRING
delinquentSTRING
first_nameSTRING
first_seenFLOAT64
gateway_idSTRING
manage_urlSTRING
tax_numberSTRING
accurate_atSTRING
customer_idSTRING
gateway_urlSTRING
card_on_fileSTRING
email_domainSTRING
send_email_toSTRING
last_charge_idSTRING
tax_number_abrSTRING
billing_addressSTRING
invoice_detailsSTRING
customer_companySTRING
last_paid_chargeSTRING
readable_countrySTRING
shipping_addressSTRING
unsubscribe_voidSTRING
unsubscribe_refundsSTRING
unsubscribe_receiptsSTRING
unsubscribe_authorizeSTRING
_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__logs

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__items

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__subscriptions

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.
metadataJSON
amountSTRING
objectSTRING
statusSTRING
chargesFLOAT64
companySTRING
currencySTRING
ended_atSTRING
has_metaSTRING
intervalSTRING
quantitySTRING
has_itemsSTRING
trial_endSTRING
first_seenFLOAT64
gateway_idSTRING
last_emailSTRING
manage_urlSTRING
product_idSTRING
accurate_atSTRING
canceled_atSTRING
customer_idSTRING
gateway_urlSTRING
status_textSTRING
trial_startSTRING
product_descSTRING
setup_amountSTRING
amount_symbolSTRING
interval_countSTRING
subscription_idSTRING
amount_formattedSTRING
readable_intervalSTRING
trial_period_daysSTRING
current_period_endSTRING
current_period_startSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__subscriptions__logs

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__subscriptions__items

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.
descriptionSTRING
amountSTRING
item_idSTRING
percentSTRING
currencySTRING
quantitySTRING
amount_formattedSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: customers__subscriptions__methods_active

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__subscriptions__methods_supported

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__methods_active

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__methods_supported

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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
urlSTRING
nameSTRING
amountSTRING
statusSTRING
chargesFLOAT64
companySTRING
taxableFLOAT64
currencySTRING
intervalSTRING
quantitySTRING
chargeableSTRING
first_seenFLOAT64
gateway_idSTRING
product_idSTRING
support_urlSTRING
setup_amountSTRING
amount_symbolSTRING
has_agent_logSTRING
interval_countSTRING
amount_formattedSTRING
readable_intervalSTRING
trial_period_daysSTRING
billing_cycles_totalSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: products__logs

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.
metadataJSON
amountSTRING
objectSTRING
statusSTRING
chargesFLOAT64
companySTRING
currencySTRING
ended_atSTRING
has_metaSTRING
intervalSTRING
quantitySTRING
has_itemsSTRING
trial_endSTRING
first_seenFLOAT64
gateway_idSTRING
last_emailSTRING
manage_urlSTRING
product_idSTRING
accurate_atSTRING
canceled_atSTRING
customer_idSTRING
gateway_urlSTRING
status_textSTRING
trial_startSTRING
product_descSTRING
setup_amountSTRING
amount_symbolSTRING
interval_countSTRING
subscription_idSTRING
amount_formattedSTRING
readable_intervalSTRING
trial_period_daysSTRING
current_period_endSTRING
current_period_startSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: subscriptions__logs

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: subscriptions__items

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.
descriptionSTRING
amountSTRING
item_idSTRING
percentSTRING
currencySTRING
quantitySTRING
amount_formattedSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: subscriptions__methods_active

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__methods_supported

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.

How the ChargeDesk sync works

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

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

Common use cases for ChargeDesk data

Revenue reporting

Use charges to track payment volume and revenue over time.

Subscription tracking

Bring subscriptions into BigQuery to monitor recurring revenue and churn.

Customer view

Join charges with customers to measure repeat payments and lifetime value.

Use ChargeDesk data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea