Recurly integration summary

Stitch’s Recurly integration replicates data using the Recurly Partner API (v2018-08-09). Refer to the Schema section for a list of objects available for replication.

Recurly feature snapshot

A high-level look at Stitch's Recurly (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on June 13, 2019

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-recurly

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

Connecting Recurly

Recurly setup requirements

To set up Recurly in Stitch, you need:

  • Admin or Manager permissions in Recurly. These permissions are required to create an API key for Stitch.


Step 1: Generate a Recurly API key

In this step, you’ll create an API key for Stitch.

  1. Sign into your Recurly account.
  2. Click Admin > Users in the sidenav.
  3. On the Users page, click the Configure API Access button at the top of the page. Thsi will open the API Credentials page.
  4. Click the Add Private API Key button. The Add Private API Key page will display.
  5. Fill in the fields as follows:
    • Key Name: Enter a name for the API key. For example: Stitch
    • Notes: Enter any notes you want about the API key.
  6. Click Save Changes.

Leave this page open for now - you’ll need it to complete the setup in Stitch.

Step 2: Add Recurly as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Recurly icon.

  4. 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 Recurly” would create a schema called stitch_recurly in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the API Key field, paste the Recurly API key you created in Step 1.
  6. In the Recurly Subdomain field, enter your Recurly subdomain. For example: If the full URL of the subdomain were stitchdata.recurly.com, you’d only enter stitchdata into this field.
  7. In the Quota Limit field, enter the percentage of the API rate limit you want to allocate to the integration. For example: A value of 30 would be 30% of the rate limit. Refer to Recurly’s documentation for more info.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Recurly integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Recurly’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 4: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Recurly integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 5: Set objects to replicate

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 Recurly integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Recurly, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

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.


Recurly table reference

accounts

The accounts table contains info about the customer accounts in your Recurly account. Account objects store the history of the customer, billing info, etc.

Custom fields

Stitch’s Recurly integration supports replicating custom fields for accounts objects.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Recurly documentation

accounts schema on GitHub

Recurly API method

Join accounts with on
adjustments
accounts.id = adjustments.account.id
accounts.parent_account_id = adjustments.account.id
accounts.shipping_addresses.account_id = adjustments.account.id
accounts.id = adjustments.account.parent_account_id
accounts.parent_account_id = adjustments.account.parent_account_id
accounts.shipping_addresses.account_id = adjustments.account.parent_account_id
billing_info
accounts.id = billing_info.account_id
accounts.parent_account_id = billing_info.account_id
accounts.shipping_addresses.account_id = billing_info.account_id
coupon_redemptions
accounts.id = coupon_redemptions.account_id
accounts.parent_account_id = coupon_redemptions.account_id
accounts.shipping_addresses.account_id = coupon_redemptions.account_id
invoices
accounts.id = invoices.account.id
accounts.parent_account_id = invoices.account.id
accounts.shipping_addresses.account_id = invoices.account.id
accounts.id = invoices.account.parent_account_id
accounts.parent_account_id = invoices.account.parent_account_id
accounts.shipping_addresses.account_id = invoices.account.parent_account_id
accounts.id = invoices.credit_payments.refund_transaction.account.id
accounts.parent_account_id = invoices.credit_payments.refund_transaction.account.id
accounts.shipping_addresses.account_id = invoices.credit_payments.refund_transaction.account.id
accounts.id = invoices.line_items.data.shipping_addresses.account_id
accounts.parent_account_id = invoices.line_items.data.shipping_addresses.account_id
accounts.shipping_addresses.account_id = invoices.line_items.data.shipping_addresses.account_id
subscriptions
accounts.id = subscriptions.shipping_address.account_id
accounts.parent_account_id = subscriptions.shipping_address.account_id
accounts.shipping_addresses.account_id = subscriptions.shipping_address.account_id
transactions
accounts.id = transactions.account.id
accounts.parent_account_id = transactions.account.id
accounts.shipping_addresses.account_id = transactions.account.id
accounts.id = transactions.account.parent_account_id
accounts.parent_account_id = transactions.account.parent_account_id
accounts.shipping_addresses.account_id = transactions.account.parent_account_id

address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

bill_to

STRING

billing_info

OBJECT

account_id

STRING

address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

company

STRING

created_at

DATE-TIME

first_name

STRING

fraud

OBJECT

decision

STRING

risk_rules_triggered

OBJECT

score

INTEGER

id

STRING

last_name

STRING

object

STRING

payment_method

OBJECT

card_type

STRING

exp_month

INTEGER

exp_year

INTEGER

first_six

STRING

last_four

STRING

object

STRING

updated_at

DATE-TIME

updated_by

OBJECT

country

STRING

ip

STRING

valid

BOOLEAN

vat_number

STRING

cc_emails

STRING

code

STRING

company

STRING

created_at

DATE-TIME

custom_fields

ARRAY

name

STRING

value

STRING

deleted_at

DATE-TIME

email

STRING

exemption_certificate

STRING

first_name

STRING

hosted_login_token

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

preferred_locale

STRING

shipping_addresses

ARRAY

account_id

STRING

city

STRING

company

STRING

country

STRING

created_at

DATE-TIME

email

STRING

first_name

STRING

id

STRING

last_name

STRING

nickname

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

updated_at

DATE-TIME

vat_number

STRING

state

STRING

tax_exempt

BOOLEAN

updated_at

DATE-TIME

username

STRING

vat_number

STRING

adjustments

The adjustments table contains info about adjustments, which are credits and charges associated with your customers.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Recurly documentation

adjustments schema on GitHub

Recurly API method

Join adjustments with on
accounts
adjustments.account.id = accounts.id
adjustments.account.parent_account_id = accounts.id
adjustments.account.id = accounts.parent_account_id
adjustments.account.parent_account_id = accounts.parent_account_id
adjustments.account.id = accounts.shipping_addresses.account_id
adjustments.account.parent_account_id = accounts.shipping_addresses.account_id
billing_info
adjustments.account.id = billing_info.account_id
adjustments.account.parent_account_id = billing_info.account_id
coupon_redemptions
adjustments.account.id = coupon_redemptions.account_id
adjustments.account.parent_account_id = coupon_redemptions.account_id
invoices
adjustments.account.id = invoices.account.id
adjustments.account.parent_account_id = invoices.account.id
adjustments.account.id = invoices.account.parent_account_id
adjustments.account.parent_account_id = invoices.account.parent_account_id
adjustments.account.id = invoices.credit_payments.refund_transaction.account.id
adjustments.account.parent_account_id = invoices.credit_payments.refund_transaction.account.id
adjustments.account.id = invoices.line_items.data.shipping_addresses.account_id
adjustments.account.parent_account_id = invoices.line_items.data.shipping_addresses.account_id
adjustments.invoice_id = invoices.id
adjustments.invoice_id = invoices.credit_payments.applied_to_invoice.id
adjustments.invoice_id = invoices.credit_payments.original_invoice.id
adjustments.invoice_id = invoices.credit_payments.refund_transaction.invoice.id
adjustments.invoice_id = invoices.credit_payments.refund_transaction.voided_by_invoice.id
adjustments.invoice_id = invoices.line_items.data.invoice_id
adjustments.invoice_id = invoices.subscription_ids
adjustments.plan_id = invoices.line_items.data.plan_id
adjustments.add_on_id = invoices.line_items.data.add_on_id
subscriptions
adjustments.account.id = subscriptions.shipping_address.account_id
adjustments.account.parent_account_id = subscriptions.shipping_address.account_id
adjustments.plan_id = subscriptions.pending_change.plan.id
adjustments.add_on_id = subscriptions.add_ons.add_on.id
transactions
adjustments.account.id = transactions.account.id
adjustments.account.parent_account_id = transactions.account.id
adjustments.account.id = transactions.account.parent_account_id
adjustments.account.parent_account_id = transactions.account.parent_account_id
adjustments.invoice_id = transactions.invoice.id
adjustments.invoice_id = transactions.voided_by_invoice.id
plans
adjustments.plan_id = plans.id
plans_add_ons
adjustments.plan_id = plans_add_ons.plan_id
adjustments.add_on_id = plans_add_ons.id

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

accounting_code

STRING

add_on_code

STRING

add_on_id

STRING

amount

NUMBER

created_at

DATE-TIME

credit_applied

NUMBER

credit_reason_code

STRING

currency

STRING

description

STRING

discount

NUMBER

end_date

DATE-TIME

id

STRING

invoice_id

STRING

invoice_number

STRING

legacy_category

STRING

object

STRING

origin

STRING

original_line_item_invoice_id

STRING

plan_code

STRING

plan_id

STRING

previous_line_item_id

STRING

product_code

STRING

proration_rate

NUMBER

quantity

INTEGER

refund

BOOLEAN

refunded_quantity

INTEGER

shipping_address

OBJECT

account_id

STRING

city

STRING

company

STRING

country

STRING

created_at

DATE-TIME

email

STRING

first_name

STRING

id

STRING

last_name

STRING

nickname

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

updated_at

DATE-TIME

vat_number

STRING

start_date

DATE-TIME

state

STRING

subscription_id

STRING

subtotal

NUMBER

tax

NUMBER

tax_code

STRING

tax_exempt

BOOLEAN

tax_info

STRING

taxable

BOOLEAN

type

STRING

unit_amount

NUMBER

updated_at

DATE-TIME

uuid

STRING

billing_info

The billing_info table contains info about the billing information for accounts.

Note: To replicate this table, you must also have the accounts table set to replicate.

Custom fields

Stitch’s Recurly integration supports replicating custom fields for billing info objects.

Replication Method

Key-based Incremental

Primary Key

account_id

Replication Key

updated_at

Useful links

billing_info schema on GitHub

Recurly API method

Join billing_info with on
accounts
billing_info.account_id = accounts.id
billing_info.account_id = accounts.parent_account_id
billing_info.account_id = accounts.shipping_addresses.account_id
adjustments
billing_info.account_id = adjustments.account.id
billing_info.account_id = adjustments.account.parent_account_id
coupon_redemptions
billing_info.account_id = coupon_redemptions.account_id
invoices
billing_info.account_id = invoices.account.id
billing_info.account_id = invoices.account.parent_account_id
billing_info.account_id = invoices.credit_payments.refund_transaction.account.id
billing_info.account_id = invoices.line_items.data.shipping_addresses.account_id
subscriptions
billing_info.account_id = subscriptions.shipping_address.account_id
transactions
billing_info.account_id = transactions.account.id
billing_info.account_id = transactions.account.parent_account_id

account_id

STRING

address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

company

STRING

created_at

DATE-TIME

custom_fields

ARRAY

name

STRING

value

STRING

exemption_certificate

STRING

first_name

STRING

fraud

OBJECT

decision

STRING

risk_rules_triggered

OBJECT

score

INTEGER

id

STRING

last_name

STRING

object

STRING

payment_method

OBJECT

account_type

STRING

card_type

STRING

exp_month

INTEGER

exp_year

INTEGER

first_six

STRING

last_four

STRING

object

STRING

routing_number

INTEGER

routing_number_bank

STRING

updated_at

DATE-TIME

updated_by

OBJECT

country

STRING

ip

STRING

valid

BOOLEAN

vat_number

STRING

coupon_redemptions

The coupon_redemptions table contains info about the coupons redeemed in your Recurly account.

Note: In order to replicate this table, you must also set the following tables to replicate:

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created_at

accounts

subscription

invoices

Useful links

coupon_redemptions schema on GitHub

Recurly API method

Join coupon_redemptions with on
accounts
coupon_redemptions.account_id = accounts.id
coupon_redemptions.account_id = accounts.parent_account_id
coupon_redemptions.account_id = accounts.shipping_addresses.account_id
adjustments
coupon_redemptions.account_id = adjustments.account.id
coupon_redemptions.account_id = adjustments.account.parent_account_id
billing_info
coupon_redemptions.account_id = billing_info.account_id
invoices
coupon_redemptions.account_id = invoices.account.id
coupon_redemptions.account_id = invoices.account.parent_account_id
coupon_redemptions.account_id = invoices.credit_payments.refund_transaction.account.id
coupon_redemptions.account_id = invoices.line_items.data.shipping_addresses.account_id
subscriptions
coupon_redemptions.account_id = subscriptions.shipping_address.account_id
coupon_redemptions.coupon.id = subscriptions.coupon_redemptions.coupon.id
coupon_redemptions.id = subscriptions.coupon_redemptions.id
transactions
coupon_redemptions.account_id = transactions.account.id
coupon_redemptions.account_id = transactions.account.parent_account_id
coupons
coupon_redemptions.coupon.id = coupons.id

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

account_id

STRING

coupon

OBJECT

applies_to_all_plans

BOOLEAN

applies_to_non_plan_charges

BOOLEAN

code

STRING

coupon_type

STRING

created_at

DATE-TIME

discount

OBJECT

currencies

ARRAY

amount

NUMBER

currency

STRING

percent

INTEGER

trial

OBJECT

length

INTEGER

unit

STRING

type

STRING

duration

STRING

expired_at

DATE-TIME

free_trial_amount

INTEGER

free_trial_unit

STRING

hosted_page_description

STRING

id

STRING

invoice_description

STRING

max_redemptions

INTEGER

max_redemptions_per_account

INTEGER

name

STRING

object

STRING

plans

STRING

plans_names

ARRAY

redeem_by

DATE-TIME

redemption_resource

STRING

state

STRING

temporal_amount

INTEGER

temporal_unit

STRING

unique_coupon_codes_count

INTEGER

updated_at

DATE-TIME

created_at

DATE-TIME

currency

STRING

discounted

STRING

id

STRING

object

STRING

removed_at

DATE-TIME

state

STRING

unique_code_template

STRING

updated_at

DATE-TIME

coupons

The coupons table contains info about the coupons available in your Recurly account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

coupons schema on GitHub

Recurly API method

Join coupons with on
coupon_redemptions
coupons.id = coupon_redemptions.coupon.id
subscriptions
coupons.id = subscriptions.coupon_redemptions.coupon.id

applies_to_all_plans

BOOLEAN

applies_to_non_plan_charges

BOOLEAN

code

STRING

coupon_type

STRING

created_at

DATE-TIME

discount

OBJECT

currencies

ARRAY

amount

NUMBER

currency

STRING

percent

INTEGER

trial

OBJECT

length

INTEGER

unit

STRING

type

STRING

duration

STRING

expired_at

DATE-TIME

free_trial_amount

INTEGER

free_trial_unit

STRING

hosted_page_description

STRING

id

STRING

invoice_description

STRING

max_redemptions

INTEGER

max_redemptions_per_account

INTEGER

name

STRING

object

STRING

plans

ARRAY, STRING

code

STRING

id

STRING

name

STRING

object

STRING

plans_names

ARRAY

redeem_by

DATE-TIME

redemption_resource

STRING

state

STRING

temporal_amount

INTEGER

temporal_unit

STRING

unique_coupon_codes_count

INTEGER

updated_at

DATE-TIME

invoices

The invoices table contains info about the invoices in your Recurly account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

invoices schema on GitHub

Recurly API method

Join invoices with on
accounts
invoices.account.id = accounts.id
invoices.account.parent_account_id = accounts.id
invoices.credit_payments.refund_transaction.account.id = accounts.id
invoices.line_items.data.shipping_addresses.account_id = accounts.id
invoices.account.id = accounts.parent_account_id
invoices.account.parent_account_id = accounts.parent_account_id
invoices.credit_payments.refund_transaction.account.id = accounts.parent_account_id
invoices.line_items.data.shipping_addresses.account_id = accounts.parent_account_id
invoices.account.id = accounts.shipping_addresses.account_id
invoices.account.parent_account_id = accounts.shipping_addresses.account_id
invoices.credit_payments.refund_transaction.account.id = accounts.shipping_addresses.account_id
invoices.line_items.data.shipping_addresses.account_id = accounts.shipping_addresses.account_id
adjustments
invoices.account.id = adjustments.account.id
invoices.account.parent_account_id = adjustments.account.id
invoices.credit_payments.refund_transaction.account.id = adjustments.account.id
invoices.line_items.data.shipping_addresses.account_id = adjustments.account.id
invoices.account.id = adjustments.account.parent_account_id
invoices.account.parent_account_id = adjustments.account.parent_account_id
invoices.credit_payments.refund_transaction.account.id = adjustments.account.parent_account_id
invoices.line_items.data.shipping_addresses.account_id = adjustments.account.parent_account_id
invoices.id = adjustments.invoice_id
invoices.credit_payments.applied_to_invoice.id = adjustments.invoice_id
invoices.credit_payments.original_invoice.id = adjustments.invoice_id
invoices.credit_payments.refund_transaction.invoice.id = adjustments.invoice_id
invoices.credit_payments.refund_transaction.voided_by_invoice.id = adjustments.invoice_id
invoices.line_items.data.invoice_id = adjustments.invoice_id
invoices.subscription_ids = adjustments.invoice_id
invoices.line_items.data.plan_id = adjustments.plan_id
invoices.line_items.data.add_on_id = adjustments.add_on_id
billing_info
invoices.account.id = billing_info.account_id
invoices.account.parent_account_id = billing_info.account_id
invoices.credit_payments.refund_transaction.account.id = billing_info.account_id
invoices.line_items.data.shipping_addresses.account_id = billing_info.account_id
coupon_redemptions
invoices.account.id = coupon_redemptions.account_id
invoices.account.parent_account_id = coupon_redemptions.account_id
invoices.credit_payments.refund_transaction.account.id = coupon_redemptions.account_id
invoices.line_items.data.shipping_addresses.account_id = coupon_redemptions.account_id
subscriptions
invoices.account.id = subscriptions.shipping_address.account_id
invoices.account.parent_account_id = subscriptions.shipping_address.account_id
invoices.credit_payments.refund_transaction.account.id = subscriptions.shipping_address.account_id
invoices.line_items.data.shipping_addresses.account_id = subscriptions.shipping_address.account_id
invoices.line_items.data.plan_id = subscriptions.pending_change.plan.id
invoices.line_items.data.add_on_id = subscriptions.add_ons.add_on.id
invoices.credit_payments.refund_transaction.subscription_ids = subscriptions.id
invoices.line_items.data.subscription_id = subscriptions.id
invoices.credit_payments.refund_transaction.subscription_ids = subscriptions.add_ons.subscription_id
invoices.line_items.data.subscription_id = subscriptions.add_ons.subscription_id
invoices.credit_payments.refund_transaction.subscription_ids = subscriptions.pending_change.add_ons.subscription_id
invoices.line_items.data.subscription_id = subscriptions.pending_change.add_ons.subscription_id
invoices.credit_payments.refund_transaction.subscription_ids = subscriptions.pending_change.subscription_id
invoices.line_items.data.subscription_id = subscriptions.pending_change.subscription_id
transactions
invoices.account.id = transactions.account.id
invoices.account.parent_account_id = transactions.account.id
invoices.credit_payments.refund_transaction.account.id = transactions.account.id
invoices.line_items.data.shipping_addresses.account_id = transactions.account.id
invoices.account.id = transactions.account.parent_account_id
invoices.account.parent_account_id = transactions.account.parent_account_id
invoices.credit_payments.refund_transaction.account.id = transactions.account.parent_account_id
invoices.line_items.data.shipping_addresses.account_id = transactions.account.parent_account_id
invoices.id = transactions.invoice.id
invoices.credit_payments.applied_to_invoice.id = transactions.invoice.id
invoices.credit_payments.original_invoice.id = transactions.invoice.id
invoices.credit_payments.refund_transaction.invoice.id = transactions.invoice.id
invoices.credit_payments.refund_transaction.voided_by_invoice.id = transactions.invoice.id
invoices.line_items.data.invoice_id = transactions.invoice.id
invoices.subscription_ids = transactions.invoice.id
invoices.id = transactions.voided_by_invoice.id
invoices.credit_payments.applied_to_invoice.id = transactions.voided_by_invoice.id
invoices.credit_payments.original_invoice.id = transactions.voided_by_invoice.id
invoices.credit_payments.refund_transaction.invoice.id = transactions.voided_by_invoice.id
invoices.credit_payments.refund_transaction.voided_by_invoice.id = transactions.voided_by_invoice.id
invoices.line_items.data.invoice_id = transactions.voided_by_invoice.id
invoices.subscription_ids = transactions.voided_by_invoice.id
invoices.credit_payments.refund_transaction.subscription_ids = transactions.subscription_ids
invoices.line_items.data.subscription_id = transactions.subscription_ids
invoices.credit_payments.refund_transaction.id = transactions.id
invoices.credit_payments.refund_transaction.original_transaction_id = transactions.id
invoices.transactions.id = transactions.id
invoices.credit_payments.refund_transaction.id = transactions.original_transaction_id
invoices.credit_payments.refund_transaction.original_transaction_id = transactions.original_transaction_id
invoices.transactions.id = transactions.original_transaction_id
plans
invoices.line_items.data.plan_id = plans.id
plans_add_ons
invoices.line_items.data.plan_id = plans_add_ons.plan_id
invoices.line_items.data.add_on_id = plans_add_ons.id

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

address

OBJECT

city

STRING

company

STRING

country

STRING

first_name

STRING

last_name

STRING

name_on_account

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

balance

NUMBER

closed_at

DATE-TIME

collection_method

STRING

created_at

DATE-TIME

credit_payments

ARRAY

account

OBJECT

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

action

STRING

amount

NUMBER

applied_to_invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

created_at

DATE-TIME

currency

STRING

id

STRING

object

STRING

original_credit_payment_id

STRING

original_invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

refund_transaction

OBJECT

account

OBJECT

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

amount

NUMBER

avs_check

STRING

billing_address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

collected_at

DATE-TIME

collection_method

STRING

created_at

DATE-TIME

currency

STRING

customer_message

STRING

customer_message_locale

STRING

cvv_check

STRING

gateway_approval_code

STRING

gateway_message

STRING

gateway_reference

STRING

gateway_response_code

STRING

gateway_response_time

NUMBER

gateway_response_values

OBJECT

id

STRING

invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

ip_address_country

STRING

ip_address_v4

STRING

object

STRING

origin

STRING

original_transaction_id

STRING

payment_gateway

OBJECT

id

STRING

name

STRING

object

STRING

type

STRING

payment_method

OBJECT

card_type

STRING

exp_month

INTEGER

exp_year

INTEGER

first_six

STRING

last_four

STRING

object

STRING

refunded

BOOLEAN

status

STRING

status_code

STRING

status_message

STRING

subscription_ids

ARRAY

success

BOOLEAN

type

STRING

uuid

STRING

voided_at

DATE-TIME

voided_by_invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

updated_at

DATE-TIME

uuid

STRING

voided_at

DATE-TIME

currency

STRING

customer_notes

STRING

discount

NUMBER

due_at

DATE-TIME

id

STRING

line_items

OBJECT

data

ARRAY

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

accounting_code

STRING

add_on_code

STRING

add_on_id

STRING

amount

NUMBER

created_at

DATE-TIME

credit_applied

NUMBER

credit_reason_code

STRING

currency

STRING

description

STRING

discount

NUMBER

end_date

DATE-TIME

id

STRING

invoice_id

STRING

invoice_number

STRING

legacy_category

STRING

object

STRING

origin

STRING

original_line_item_invoice_id

STRING

plan_code

STRING

plan_id

STRING

previous_line_item_id

STRING

product_code

STRING

proration_rate

NUMBER

quantity

INTEGER

refund

BOOLEAN

refunded_quantity

INTEGER

shipping_addresses

ARRAY

account_id

STRING

city

STRING

company

STRING

country

STRING

created_at

DATE-TIME

email

STRING

first_name

STRING

id

STRING

last_name

STRING

nickname

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

updated_at

DATE-TIME

vat_number

STRING

start_date

DATE-TIME

state

STRING

subscription_id

STRING

subtotal

NUMBER

tax

NUMBER

tax_code

STRING

tax_exempt

BOOLEAN

tax_info

OBJECT

rate

NUMBER

region

STRING

type

STRING

taxable

BOOLEAN

type

STRING

unit_amount

NUMBER

updated_at

DATE-TIME

uuid

STRING

has_more

BOOLEAN

next

STRING

object

STRING

net_terms

NUMBER

number

STRING

object

STRING

origin

STRING

paid

NUMBER

po_number

STRING

previous_invoice_id

STRING

refundable_amount

NUMBER

state

STRING

subscription_ids

ARRAY

subtotal

NUMBER

tax

NUMBER

tax_info

OBJECT

rate

NUMBER

region

STRING

type

STRING

terms_and_conditions

STRING

total

NUMBER

transactions

ARRAY

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

amount

NUMBER

avs_check

STRING

billing_address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

collected_at

DATE-TIME

collection_method

STRING

created_at

DATE-TIME

currency

STRING

customer_message

STRING

customer_message_locale

STRING

cvv_check

STRING

gateway_approval_code

STRING

gateway_message

STRING

gateway_reference

STRING

gateway_response_code

STRING

gateway_response_time

NUMBER

gateway_response_values

OBJECT

id

STRING

invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

ip_address_country

STRING

ip_address_v4

STRING

object

STRING

origin

STRING

original_transaction_id

STRING

payment_gateway

OBJECT

id

STRING

name

STRING

object

STRING

type

STRING

payment_method

OBJECT

card_type

STRING

exp_month

INTEGER

exp_year

INTEGER

first_six

STRING

last_four

STRING

object

STRING

refunded

BOOLEAN

status

STRING

status_code

STRING

status_message

STRING

subscription_ids

ARRAY

success

BOOLEAN

type

STRING

uuid

STRING

voided_at

DATE-TIME

voided_by_invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

type

STRING

updated_at

DATE-TIME

vat_number

STRING

vat_reverse_charge_notes

STRING

plans

The plans table contains info about the plans in your Recurly account. A plan tells Recurly how much to charge customers.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

plans schema on GitHub

Recurly API method

Join plans with on
adjustments
plans.id = adjustments.plan_id
invoices
plans.id = invoices.line_items.data.plan_id
plans_add_ons
plans.id = plans_add_ons.plan_id
subscriptions
plans.id = subscriptions.pending_change.plan.id

accounting_code

STRING

auto_renew

BOOLEAN

code

STRING

created_at

DATE-TIME

currencies

ARRAY

currency

STRING

setup_fee

NUMBER

unit_amount

NUMBER

deleted_at

DATE-TIME

description

STRING

hosted_pages

OBJECT

bypass_confirmation

BOOLEAN

cancel_url

STRING

display_quantity

BOOLEAN

success_url

STRING

id

STRING

interval_length

INTEGER

interval_unit

STRING

name

STRING

object

STRING

setup_fee_accounting_code

STRING

state

STRING

tax_code

STRING

tax_exempt

BOOLEAN

total_billing_cycles

INTEGER

trial_length

INTEGER

trial_unit

STRING

updated_at

DATE-TIME

plans_add_ons

The plans_add_ons table contains info about the add-ons in your Recurly account. An add-on is a charge billed each billing period in addition to a subscription’s base charge.

Note: To replicate this table, you must also have the plans table set to replicate.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

plans_add_ons schema on GitHub

Recurly API method

Join plans_add_ons with on
adjustments
plans_add_ons.plan_id = adjustments.plan_id
plans_add_ons.id = adjustments.add_on_id
invoices
plans_add_ons.plan_id = invoices.line_items.data.plan_id
plans_add_ons.id = invoices.line_items.data.add_on_id
plans
plans_add_ons.plan_id = plans.id
subscriptions
plans_add_ons.plan_id = subscriptions.pending_change.plan.id
plans_add_ons.id = subscriptions.add_ons.add_on.id

accounting_code

STRING

code

STRING

created_at

DATE-TIME

currencies

ARRAY

currency

STRING

unit_amount

NUMBER

default_quantity

INTEGER

deleted_at

DATE-TIME

display_quantity

BOOLEAN

id

STRING

name

STRING

object

STRING

plan_id

STRING

state

STRING

tax_code

STRING

updated_at

DATE-TIME

subscriptions

The subscriptions table contains info about the subscriptions in your Recurly account. Subscriptions are created when your customers subscribe to one of your plans. The customer’s subscription tells Recurly when and how much to bill the customer.

Custom fields

Stitch’s Recurly integration supports replicating custom fields for subscription objects.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

subscriptions schema on GitHub

Recurly API method

Join subscriptions with on
accounts
subscriptions.shipping_address.account_id = accounts.id
subscriptions.shipping_address.account_id = accounts.parent_account_id
subscriptions.shipping_address.account_id = accounts.shipping_addresses.account_id
adjustments
subscriptions.shipping_address.account_id = adjustments.account.id
subscriptions.shipping_address.account_id = adjustments.account.parent_account_id
subscriptions.pending_change.plan.id = adjustments.plan_id
subscriptions.add_ons.add_on.id = adjustments.add_on_id
billing_info
subscriptions.shipping_address.account_id = billing_info.account_id
coupon_redemptions
subscriptions.shipping_address.account_id = coupon_redemptions.account_id
subscriptions.coupon_redemptions.coupon.id = coupon_redemptions.coupon.id
subscriptions.coupon_redemptions.id = coupon_redemptions.id
invoices
subscriptions.shipping_address.account_id = invoices.account.id
subscriptions.shipping_address.account_id = invoices.account.parent_account_id
subscriptions.shipping_address.account_id = invoices.credit_payments.refund_transaction.account.id
subscriptions.shipping_address.account_id = invoices.line_items.data.shipping_addresses.account_id
subscriptions.pending_change.plan.id = invoices.line_items.data.plan_id
subscriptions.add_ons.add_on.id = invoices.line_items.data.add_on_id
subscriptions.id = invoices.credit_payments.refund_transaction.subscription_ids
subscriptions.add_ons.subscription_id = invoices.credit_payments.refund_transaction.subscription_ids
subscriptions.pending_change.add_ons.subscription_id = invoices.credit_payments.refund_transaction.subscription_ids
subscriptions.pending_change.subscription_id = invoices.credit_payments.refund_transaction.subscription_ids
subscriptions.id = invoices.line_items.data.subscription_id
subscriptions.add_ons.subscription_id = invoices.line_items.data.subscription_id
subscriptions.pending_change.add_ons.subscription_id = invoices.line_items.data.subscription_id
subscriptions.pending_change.subscription_id = invoices.line_items.data.subscription_id
transactions
subscriptions.shipping_address.account_id = transactions.account.id
subscriptions.shipping_address.account_id = transactions.account.parent_account_id
subscriptions.id = transactions.subscription_ids
subscriptions.add_ons.subscription_id = transactions.subscription_ids
subscriptions.pending_change.add_ons.subscription_id = transactions.subscription_ids
subscriptions.pending_change.subscription_id = transactions.subscription_ids
coupons
subscriptions.coupon_redemptions.coupon.id = coupons.id
plans
subscriptions.pending_change.plan.id = plans.id
plans_add_ons
subscriptions.pending_change.plan.id = plans_add_ons.plan_id
subscriptions.add_ons.add_on.id = plans_add_ons.id

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

activated_at

DATE-TIME

add_ons

ARRAY

add_on

OBJECT

accounting_code

STRING

code

STRING

id

STRING

name

STRING

object

STRING

created_at

DATE-TIME

expired_at

DATE-TIME

id

STRING

object

STRING

quantity

NUMBER

subscription_id

STRING

unit_amount

NUMBER

updated_at

DATE-TIME

add_ons_total

NUMBER

auto_renew

BOOLEAN

bank_account_authorized_at

DATE-TIME

canceled_at

DATE-TIME

collection_method

STRING

coupon_redemptions

ARRAY

coupon

OBJECT

code

STRING

coupon_type

STRING

discount

OBJECT

currencies

ARRAY

amount

NUMBER

currency

STRING

percent

INTEGER

trial

OBJECT

length

NUMBER

unit

STRING

type

STRING

expired_at

DATE-TIME

id

STRING

name

STRING

object

STRING

state

STRING

created_at

DATE-TIME

discounted

STRING

id

STRING

object

STRING

state

STRING

created_at

DATE-TIME

currency

STRING

current_period_ends_at

DATE-TIME

current_period_started_at

DATE-TIME

current_term_ends_at

DATE-TIME

current_term_started_at

DATE-TIME

custom_fields

ARRAY

name

STRING

value

STRING

customer_notes

STRING

expiration_reason

STRING

expires_at

DATE-TIME

id

STRING

net_terms

INTEGER

object

STRING

paused_at

DATE-TIME

pending_change

OBJECT

activate_at

DATE-TIME

activated

BOOLEAN

add_ons

ARRAY

add_on

OBJECT

accounting_code

STRING

code

STRING

id

STRING

name

STRING

object

STRING

created_at

DATE-TIME

expired_at

DATE-TIME

id

STRING

object

STRING

quantity

NUMBER

subscription_id

STRING

unit_amount

NUMBER

updated_at

DATE-TIME

created_at

DATE-TIME

deleted_at

DATE-TIME

id

STRING

object

STRING

plan

OBJECT

code

STRING

id

STRING

name

STRING

object

STRING

quantity

NUMBER

subscription_id

STRING

unit_amount

NUMBER

updated_at

DATE-TIME

plan

OBJECT

code

STRING

id

STRING

name

STRING

object

STRING

po_number

STRING

quantity

INTEGER

remaining_billing_cycles

INTEGER

remaining_pause_cycles

INTEGER

renewal_billing_cycles

INTEGER

shipping_address

OBJECT

account_id

STRING

city

STRING

company

STRING

country

STRING

created_at

DATE-TIME

email

STRING

first_name

STRING

id

STRING

last_name

STRING

nickname

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

updated_at

DATE-TIME

vat_number

STRING

state

STRING

subtotal

NUMBER

terms_and_conditions

STRING

total_billing_cycles

INTEGER

trial_ends_at

DATE-TIME

trial_started_at

DATE-TIME

unit_amount

NUMBER

updated_at

DATE-TIME

uuid

STRING

transactions

The transactions table contains info about the transactions in your Recurly account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

collected_at

Useful links

transactions schema on GitHub

Recurly API method

Join transactions with on
accounts
transactions.account.id = accounts.id
transactions.account.parent_account_id = accounts.id
transactions.account.id = accounts.parent_account_id
transactions.account.parent_account_id = accounts.parent_account_id
transactions.account.id = accounts.shipping_addresses.account_id
transactions.account.parent_account_id = accounts.shipping_addresses.account_id
adjustments
transactions.account.id = adjustments.account.id
transactions.account.parent_account_id = adjustments.account.id
transactions.account.id = adjustments.account.parent_account_id
transactions.account.parent_account_id = adjustments.account.parent_account_id
transactions.invoice.id = adjustments.invoice_id
transactions.voided_by_invoice.id = adjustments.invoice_id
billing_info
transactions.account.id = billing_info.account_id
transactions.account.parent_account_id = billing_info.account_id
coupon_redemptions
transactions.account.id = coupon_redemptions.account_id
transactions.account.parent_account_id = coupon_redemptions.account_id
invoices
transactions.account.id = invoices.account.id
transactions.account.parent_account_id = invoices.account.id
transactions.account.id = invoices.account.parent_account_id
transactions.account.parent_account_id = invoices.account.parent_account_id
transactions.account.id = invoices.credit_payments.refund_transaction.account.id
transactions.account.parent_account_id = invoices.credit_payments.refund_transaction.account.id
transactions.account.id = invoices.line_items.data.shipping_addresses.account_id
transactions.account.parent_account_id = invoices.line_items.data.shipping_addresses.account_id
transactions.invoice.id = invoices.id
transactions.voided_by_invoice.id = invoices.id
transactions.invoice.id = invoices.credit_payments.applied_to_invoice.id
transactions.voided_by_invoice.id = invoices.credit_payments.applied_to_invoice.id
transactions.invoice.id = invoices.credit_payments.original_invoice.id
transactions.voided_by_invoice.id = invoices.credit_payments.original_invoice.id
transactions.invoice.id = invoices.credit_payments.refund_transaction.invoice.id
transactions.voided_by_invoice.id = invoices.credit_payments.refund_transaction.invoice.id
transactions.invoice.id = invoices.credit_payments.refund_transaction.voided_by_invoice.id
transactions.voided_by_invoice.id = invoices.credit_payments.refund_transaction.voided_by_invoice.id
transactions.invoice.id = invoices.line_items.data.invoice_id
transactions.voided_by_invoice.id = invoices.line_items.data.invoice_id
transactions.invoice.id = invoices.subscription_ids
transactions.voided_by_invoice.id = invoices.subscription_ids
transactions.subscription_ids = invoices.credit_payments.refund_transaction.subscription_ids
transactions.subscription_ids = invoices.line_items.data.subscription_id
transactions.id = invoices.credit_payments.refund_transaction.id
transactions.original_transaction_id = invoices.credit_payments.refund_transaction.id
transactions.id = invoices.credit_payments.refund_transaction.original_transaction_id
transactions.original_transaction_id = invoices.credit_payments.refund_transaction.original_transaction_id
transactions.id = invoices.transactions.id
transactions.original_transaction_id = invoices.transactions.id
subscriptions
transactions.account.id = subscriptions.shipping_address.account_id
transactions.account.parent_account_id = subscriptions.shipping_address.account_id
transactions.subscription_ids = subscriptions.id
transactions.subscription_ids = subscriptions.add_ons.subscription_id
transactions.subscription_ids = subscriptions.pending_change.add_ons.subscription_id
transactions.subscription_ids = subscriptions.pending_change.subscription_id

account

OBJECT

bill_to

STRING

code

STRING

company

STRING

email

STRING

first_name

STRING

id

STRING

last_name

STRING

object

STRING

parent_account_id

STRING

amount

NUMBER

avs_check

STRING

billing_address

OBJECT

city

STRING

country

STRING

first_name

STRING

last_name

STRING

phone

STRING

postal_code

STRING

region

STRING

street1

STRING

street2

STRING

collected_at

DATE-TIME

collection_method

STRING

created_at

DATE-TIME

currency

STRING

customer_message

STRING

customer_message_locale

STRING

cvv_check

STRING

gateway_approval_code

STRING

gateway_message

STRING

gateway_reference

STRING

gateway_response_code

STRING

gateway_response_time

NUMBER

gateway_response_values

OBJECT

amount

NUMBER

amount_refunded

NUMBER

card_fingerprint

STRING

card_type

STRING

currency

STRING

description

STRING

livemode

STRING

id

STRING

invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING

ip_address_country

STRING

ip_address_v4

STRING

object

STRING

origin

STRING

original_transaction_id

STRING

payment_gateway

OBJECT

id

STRING

name

STRING

object

STRING

type

STRING

payment_method

OBJECT

card_type

STRING

exp_month

INTEGER

exp_year

INTEGER

first_six

STRING

last_four

STRING

object

STRING

refunded

BOOLEAN

status

STRING

status_code

STRING

status_message

STRING

subscription_ids

ARRAY

success

BOOLEAN

type

STRING

uuid

STRING

voided_at

DATE-TIME

voided_by_invoice

OBJECT

id

STRING

number

STRING

object

STRING

state

STRING

type

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.