Get started with a free trial today
Already have an account? Sign in
Stitch’s Recharge integration replicates data using theRecharge Payments API. To access the Recharge API documentation, you will needyour API key. Refer to theSchema section for a list of objects available for replication.
A high-level look at Stitch's Recharge (v1) integration, including release status, useful links, and the features supported in Stitch.
| STITCH | |||
| Release status | Deprecated on August 30, 2022 | Supported by | |
| Stitch plan | Standard | API availability | Not available |
| Singer GitHub repository | |||
| REPLICATION SETTINGS | |||
| Anchor Scheduling | Supported | Advanced Scheduling | Supported |
| Table-level reset | Unsupported | Configurable Replication Methods | Unsupported |
| DATA SELECTION | |||
| Table selection | Supported | Column selection | Supported |
| Select all | Supported | ||
| TRANSPARENCY | |||
| Extraction Logs | Supported | Loading Reports | Supported |
To set up Recharge in Stitch, you need:
A Shopify Account. You need this to access your Recharge information.


Read Access scope for each permission.
On the Stitch Dashboard page, click theAdd Integration button.
Click theRecharge icon.
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Recharge” would create a schema calledstitch_recharge in the destination.Note: Schema names cannot be changed after you save the integration.
The Sync Historical Data setting defines the starting date for your Recharge integration. This means that dataequal to or newer than this date will be replicated to your data warehouse.
Change this setting if you want to replicate data beyond Recharge’s default setting of1 year. For a detailed look at historical replication jobs, check out theSyncing Historical SaaS Data guide.
In theReplication Frequency section, you’ll create the integration’sreplication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Recharge integrations support the following replication scheduling methods:
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See theUnderstanding and Reducing Your Row Usage guide for tips on reducing your usage.
The last step is to select the tables and columns you want to replicate.Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Recharge integrations, you can select:
Individual tables and columns
All tables and columns
Click the tabs to view instructions for each selection method.
To track a table, click thecheckbox next to the table’s name. A blue checkmark means the table is set to replicate.
To track a column, click thecheckbox next to the column’s name. A blue checkmark means the column is set to replicate.
Click theTables to Replicate tab.
In the menu that displays, clickTrack all Tables and Fields:

After you finish setting up Recharge, itsSync Status may show asPending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, aPending status indicates that Stitch is in the process of scheduling the initial replication job for the integration.This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to theAnchor Scheduling documentation for more information.
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is forversion 1 of this integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs >customers), while case is maintained in PostgreSQL destinations (CusTomERs >CusTomERs). Refer to theLoading Guide for your destination for more info.
Theaddresses table contains info about the addresses (shipping locations) a customer has. A subscription is tied to a given address, but a customer can have multiple addresses.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join addresses with | on |
|---|---|
| charges | addresses.id = charges.address_id addresses.customer_id = charges.customer_id |
| onetimes | addresses.id = onetimes.address_id addresses.customer_id = onetimes.customer_id |
| orders | addresses.id = orders.address_id addresses.customer_id = orders.customer_id |
| subscriptions | addresses.id = subscriptions.address_id addresses.customer_id = subscriptions.customer_id |
| customers | addresses.customer_id = customers.id |
| discounts | addresses.discount_id = discounts.id |
address1 STRING | |||
address2 STRING | |||
cart_attributes ARRAY
| |||
cart_note STRING | |||
city STRING | |||
company STRING | |||
country STRING | |||
created_at DATE-TIME | |||
customer_id INTEGER | |||
discount_id INTEGER | |||
first_name STRING | |||
id INTEGER | |||
last_name STRING | |||
note_attributes ARRAY
| |||
original_shipping_lines ARRAY
| |||
phone STRING | |||
province STRING | |||
shipping_lines_override ARRAY
| |||
updated_at DATE-TIME | |||
zip STRING |
Thecharges table contains info about charges. A charge is a placeholder for an upcoming charge once the charge is processed successfully.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join charges with | on |
|---|---|
| addresses | charges.address_id = addresses.id charges.customer_id = addresses.customer_id |
| onetimes | charges.address_id = onetimes.address_id charges.customer_id = onetimes.customer_id charges.line_items.shopify_product_id = onetimes.shopify_product_id charges.line_items.shopify_variant_id = onetimes.shopify_variant_id |
| orders | charges.address_id = orders.address_id charges.id = orders.charge_id charges.customer_id = orders.customer_id charges.line_items.shopify_product_id = orders.line_items.shopify_product_id charges.shopify_order_id = orders.shopify_order_id charges.line_items.subscription_id = orders.line_items.subscription_id charges.transaction_id = orders.transaction_id charges.line_items.shopify_variant_id = orders.line_items.shopify_variant_id |
| subscriptions | charges.address_id = subscriptions.address_id charges.customer_id = subscriptions.customer_id charges.line_items.shopify_product_id = subscriptions.shopify_product_id charges.line_items.subscription_id = subscriptions.id charges.line_items.shopify_variant_id = subscriptions.shopify_variant_id |
| customers | charges.customer_id = customers.id |
| products | charges.line_items.shopify_product_id = products.id |
address_id INTEGER | |||||||||||||||||
billing_address OBJECT
| |||||||||||||||||
browser_ip STRING | |||||||||||||||||
client_details OBJECT
| |||||||||||||||||
created_at DATE-TIME | |||||||||||||||||
customer_hash STRING | |||||||||||||||||
customer_id INTEGER | |||||||||||||||||
discount_codes ARRAY
| |||||||||||||||||
STRING | |||||||||||||||||
first_name STRING | |||||||||||||||||
has_uncommited_changes BOOLEAN | |||||||||||||||||
id INTEGER | |||||||||||||||||
last_name STRING | |||||||||||||||||
line_items ARRAY
| |||||||||||||||||
note STRING | |||||||||||||||||
note_attributes ARRAY
| |||||||||||||||||
processed_at DATE-TIME | |||||||||||||||||
processor_name STRING | |||||||||||||||||
scheduled_at DATE-TIME | |||||||||||||||||
shipments_count INTEGER | |||||||||||||||||
shipping_address OBJECT
| |||||||||||||||||
shipping_lines ARRAY
| |||||||||||||||||
shopify_order_id STRING | |||||||||||||||||
status STRING | |||||||||||||||||
sub_total STRING | |||||||||||||||||
subtotal_price STRING | |||||||||||||||||
tags STRING | |||||||||||||||||
tax_lines NUMBER | |||||||||||||||||
total_discounts STRING | |||||||||||||||||
total_line_items_price STRING | |||||||||||||||||
total_price STRING | |||||||||||||||||
total_refunds NUMBER | |||||||||||||||||
total_tax NUMBER | |||||||||||||||||
total_weight INTEGER | |||||||||||||||||
transaction_id STRING | |||||||||||||||||
type STRING | |||||||||||||||||
updated_at DATE-TIME |
Thecollections table contains info about your collections.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join collections with | on |
|---|---|
| products | collections.id = products.collection_id |
created_at DATE-TIME |
description STRING |
id INTEGER |
name STRING |
sort_order STRING |
title STRING |
type STRING |
updated_at DATE-TIME |
Thecustomers table contains info about customer accounts with a shop.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join customers with | on |
|---|---|
| addresses | customers.id = addresses.customer_id |
| charges | customers.id = charges.customer_id |
| onetimes | customers.id = onetimes.customer_id |
| orders | customers.id = orders.customer_id customers.shopify_customer_id = orders.shopify_customer_id |
| subscriptions | customers.id = subscriptions.customer_id |
billing_address1 STRING |
billing_address2 STRING |
billing_city STRING |
billing_company STRING |
billing_country STRING |
billing_phone STRING |
billing_province STRING |
billing_zip STRING |
braintree_customer_token STRING |
created_at DATE-TIME |
STRING |
first_charge_processed_at DATE-TIME |
first_name STRING |
has_card_error_in_dunning BOOLEAN |
has_valid_payment_method BOOLEAN |
hash STRING |
id INTEGER |
last_name STRING |
number_active_subscriptions INTEGER |
number_subscriptions INTEGER |
paypal_customer_token STRING |
processor_type STRING |
reason_payment_method_not_valid STRING |
shopify_customer_id STRING |
status STRING |
updated_at DATE-TIME |
Thediscounts table contains info about discounts.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join discounts with | on |
|---|---|
| addresses | discounts.id = addresses.discount_id |
applies_to_id INTEGER |
applies_to_product_type STRING |
applies_to_resource STRING |
code STRING |
created_at DATE-TIME |
duration STRING |
duration_usage_limit INTEGER |
ends_at DATE-TIME |
id INTEGER |
once_per_customer BOOLEAN |
starts_at DATE-TIME |
status STRING |
times_used INTEGER |
updated_at DATE-TIME |
usage_limit INTEGER |
value INTEGER |
Themetafields_customer table contains info about metafields related to customers.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join metafields_customer with | on |
|---|---|
| metafields_store | metafields_customer.owner_id = metafields_store.owner_id |
| metafields_subscription | metafields_customer.owner_id = metafields_subscription.owner_id |
created_at DATE-TIME |
description STRING |
id INTEGER |
key STRING |
namespace STRING |
owner_id INTEGER |
owner_resource STRING |
updated_at DATE-TIME |
value STRING |
value_type STRING |
Themetafields_store table contains info about metafields related to stores.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join metafields_store with | on |
|---|---|
| metafields_customer | metafields_store.owner_id = metafields_customer.owner_id |
| metafields_subscription | metafields_store.owner_id = metafields_subscription.owner_id |
created_at DATE-TIME |
description STRING |
id INTEGER |
key STRING |
namespace STRING |
owner_id INTEGER |
owner_resource STRING |
updated_at DATE-TIME |
value STRING |
value_type STRING |
Themetafields_subscription table contains info about metafields related to subscriptions.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join metafields_subscription with | on |
|---|---|
| metafields_customer | metafields_subscription.owner_id = metafields_customer.owner_id |
| metafields_store | metafields_subscription.owner_id = metafields_store.owner_id |
created_at DATE-TIME |
description STRING |
id INTEGER |
key STRING |
namespace STRING |
owner_id INTEGER |
owner_resource STRING |
updated_at DATE-TIME |
value STRING |
value_type STRING |
Theonetimes table contains info about one time products.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join onetimes with | on |
|---|---|
| addresses | onetimes.address_id = addresses.id onetimes.customer_id = addresses.customer_id |
| charges | onetimes.address_id = charges.address_id onetimes.customer_id = charges.customer_id onetimes.shopify_product_id = charges.line_items.shopify_product_id onetimes.shopify_variant_id = charges.line_items.shopify_variant_id |
| orders | onetimes.address_id = orders.address_id onetimes.customer_id = orders.customer_id onetimes.shopify_product_id = orders.line_items.shopify_product_id onetimes.shopify_variant_id = orders.line_items.shopify_variant_id |
| subscriptions | onetimes.address_id = subscriptions.address_id onetimes.customer_id = subscriptions.customer_id onetimes.shopify_product_id = subscriptions.shopify_product_id onetimes.shopify_variant_id = subscriptions.shopify_variant_id |
| customers | onetimes.customer_id = customers.id |
| products | onetimes.shopify_product_id = products.id |
address_id INTEGER | ||
created_at DATE-TIME | ||
customer_id INTEGER | ||
id INTEGER | ||
next_charge_scheduled_at DATE-TIME | ||
price NUMBER | ||
product_title STRING | ||
properties ARRAY
| ||
quantity INTEGER | ||
recharge_product_id INTEGER | ||
shopify_product_id INTEGER | ||
shopify_variant_id INTEGER | ||
sku STRING | ||
status STRING | ||
updated_at DATE-TIME | ||
variant_title STRING |
Theorders table contains info about orders. Orders are created after a charge is successfully processed.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join orders with | on |
|---|---|
| addresses | orders.address_id = addresses.id orders.customer_id = addresses.customer_id |
| charges | orders.address_id = charges.address_id orders.charge_id = charges.id orders.customer_id = charges.customer_id orders.line_items.shopify_product_id = charges.line_items.shopify_product_id orders.shopify_order_id = charges.shopify_order_id orders.line_items.subscription_id = charges.line_items.subscription_id orders.transaction_id = charges.transaction_id orders.line_items.shopify_variant_id = charges.line_items.shopify_variant_id |
| onetimes | orders.address_id = onetimes.address_id orders.customer_id = onetimes.customer_id orders.line_items.shopify_product_id = onetimes.shopify_product_id orders.line_items.shopify_variant_id = onetimes.shopify_variant_id |
| subscriptions | orders.address_id = subscriptions.address_id orders.customer_id = subscriptions.customer_id orders.line_items.shopify_product_id = subscriptions.shopify_product_id orders.line_items.subscription_id = subscriptions.id orders.line_items.shopify_variant_id = subscriptions.shopify_variant_id |
| customers | orders.customer_id = customers.id orders.shopify_customer_id = customers.shopify_customer_id |
| products | orders.line_items.shopify_product_id = products.id |
address_id INTEGER | |||||||||||||||||
address_is_active INTEGER | |||||||||||||||||
billing_address OBJECT
| |||||||||||||||||
charge_id INTEGER | |||||||||||||||||
charge_status STRING | |||||||||||||||||
created_at DATE-TIME | |||||||||||||||||
customer_id INTEGER | |||||||||||||||||
discount_codes ARRAY
| |||||||||||||||||
STRING | |||||||||||||||||
first_name STRING | |||||||||||||||||
hash STRING | |||||||||||||||||
id INTEGER | |||||||||||||||||
is_prepaid INTEGER | |||||||||||||||||
last_name STRING | |||||||||||||||||
line_items ARRAY
| |||||||||||||||||
note STRING | |||||||||||||||||
note_attributes ARRAY
| |||||||||||||||||
payment_processor STRING | |||||||||||||||||
processed_at DATE-TIME | |||||||||||||||||
scheduled_at DATE-TIME | |||||||||||||||||
shipped_date DATE-TIME | |||||||||||||||||
shipping_address OBJECT
| |||||||||||||||||
shipping_date DATE-TIME | |||||||||||||||||
shipping_lines ARRAY
| |||||||||||||||||
shopify_cart_token STRING | |||||||||||||||||
shopify_customer_id STRING | |||||||||||||||||
shopify_id STRING | |||||||||||||||||
shopify_order_id STRING | |||||||||||||||||
shopify_order_number INTEGER | |||||||||||||||||
status STRING | |||||||||||||||||
subtotal_price STRING | |||||||||||||||||
tags STRING | |||||||||||||||||
tax_lines ARRAY
| |||||||||||||||||
total_discounts NUMBER | |||||||||||||||||
total_line_items_price NUMBER | |||||||||||||||||
total_price STRING | |||||||||||||||||
total_refunds NUMBER | |||||||||||||||||
total_tax NUMBER | |||||||||||||||||
total_weight INTEGER | |||||||||||||||||
transaction_id STRING | |||||||||||||||||
type STRING | |||||||||||||||||
updated_at DATE-TIME |
Theproducts table contains info about your products.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join products with | on |
|---|---|
| collections | products.collection_id = collections.id |
| charges | products.id = charges.line_items.shopify_product_id |
| onetimes | products.id = onetimes.shopify_product_id |
| orders | products.id = orders.line_items.shopify_product_id |
| subscriptions | products.id = subscriptions.shopify_product_id |
collection_id INTEGER | ||||||||||||
created_at DATE-TIME | ||||||||||||
discount_amount NUMBER | ||||||||||||
discount_type STRING | ||||||||||||
id INTEGER | ||||||||||||
images OBJECT
| ||||||||||||
product_id INTEGER | ||||||||||||
shopify_product_id INTEGER | ||||||||||||
subscription_defaults OBJECT
| ||||||||||||
title STRING | ||||||||||||
updated_at DATE-TIME |
Theshop table contains info about your shop.
Full Table | |
Primary Key | id |
| Useful links |
checkout_logo_url STRING |
created_at STRING |
currency STRING |
domain STRING |
STRING |
iana_timezone STRING |
id INTEGER |
my_shopify_domain STRING |
name STRING |
shop_email STRING |
shop_phone STRING |
timezone STRING |
updated_at STRING |
Thesubscriptions table contains info about subscriptions. Subscriptions are individual items that customers receive on a recurring basis.
Key-based Incremental | |
Primary Key | id |
Replication Key | updated_at |
| Useful links |
| Join subscriptions with | on |
|---|---|
| addresses | subscriptions.address_id = addresses.id subscriptions.customer_id = addresses.customer_id |
| charges | subscriptions.address_id = charges.address_id subscriptions.customer_id = charges.customer_id subscriptions.shopify_product_id = charges.line_items.shopify_product_id subscriptions.id = charges.line_items.subscription_id subscriptions.shopify_variant_id = charges.line_items.shopify_variant_id |
| onetimes | subscriptions.address_id = onetimes.address_id subscriptions.customer_id = onetimes.customer_id subscriptions.shopify_product_id = onetimes.shopify_product_id subscriptions.shopify_variant_id = onetimes.shopify_variant_id |
| orders | subscriptions.address_id = orders.address_id subscriptions.customer_id = orders.customer_id subscriptions.shopify_product_id = orders.line_items.shopify_product_id subscriptions.id = orders.line_items.subscription_id subscriptions.shopify_variant_id = orders.line_items.shopify_variant_id |
| customers | subscriptions.customer_id = customers.id |
| products | subscriptions.shopify_product_id = products.id |
address_id INTEGER | ||
cancellation_reason STRING | ||
cancellation_reason_comments STRING | ||
cancelled_at DATE-TIME | ||
charge_interval_frequency STRING | ||
created_at DATE-TIME | ||
customer_id INTEGER | ||
expire_after_specific_number_of_charges INTEGER | ||
has_queued_charges INTEGER | ||
id INTEGER | ||
is_skippable BOOLEAN | ||
is_swappable BOOLEAN | ||
max_retries_reached INTEGER | ||
next_charge_scheduled_at DATE-TIME | ||
order_day_of_month STRING | ||
order_day_of_week STRING | ||
order_interval_frequency STRING | ||
order_interval_unit STRING | ||
price NUMBER | ||
product_title STRING | ||
properties ARRAY
| ||
quantity INTEGER | ||
recharge_product_id INTEGER | ||
shopify_product_id INTEGER | ||
shopify_variant_id INTEGER | ||
sku STRING | ||
sku_override STRING | ||
status STRING | ||
updated_at DATE-TIME | ||
variant_title STRING |
| Related | Troubleshooting |
Did this article help? If you have questions or feedback, feel free tosubmit a pull request with your suggestions,open an issue on GitHub, orreach out to us.