Square integration summary

Stitch’s Square integration replicates data using the Square API version 2023-06-08. Refer to the Schema section for a list of objects available for replication.

Square feature snapshot

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

STITCH
Release status

Released on July 19, 2023

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-square

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 Square

Square setup requirements

To set up Square in Stitch, you need:

  • To log into your Square sandbox environment, if you’re connecting a sandbox. To allow Stitch to successfully access the sandbox, you must be logged into it prior to setting up the Square integration in Stitch.

    If you’re connecting a production environment, start with Step 2 of this guide.


Step 1: Login to your Square sandbox environment

To connect to your Square sandbox environment, you’ll need to login to your sandbox environment before completing the next step. This is required to grant Stitch authorization to access the sandbox environment. For more info, refer to the Square documentation.

Step 2: Add Square 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 Square 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 Square” would create a schema called stitch_square in the destination. Note: Schema names cannot be changed after you save the integration.

  5. Check the Connect to a sandbox environment if choosing to connect to your Square sandbox. Note: Make sure you completed Step 1 before continuing.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Square 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 Square’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.

Square 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: Authorizing Stitch to Access Square

Lastly, you’ll be directed to Square’s website to complete the setup.

  1. Enter your Square credentials and click Login.
  2. After the authorization process successfully completes, you’ll be redirected back to Stitch.
  3. Click All Done.

Step 6: 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 Square 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 Square, 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.


Square table reference

bank_accounts

The bank_accounts contains information about a merchant’s bank account in Square.

Note: This table can’t be replicated if the Connect to a sandbox environment box is checked in the integration’s settings due to limits imposed by Square.

Replication Method

Full Table

Primary Key

id

Useful links

Square documentation

bank_accounts schema on GitHub

Square API method

Join bank_accounts with on
categories
bank_accounts.id = categories.absent_at_location_ids
discounts
bank_accounts.id = discounts.absent_at_location_ids
team_members
bank_accounts.id = team_members.assigned_locations.location_ids
inventories
bank_accounts.id = inventories.location_id
items
bank_accounts.id = items.absent_at_location_ids
bank_accounts.id = items.item_data.variations.item_variation_data.location_overrides.location_id
bank_accounts.id = items.item_data.variations.present_at_location_ids
bank_accounts.id = items.present_at_location_ids
locations
bank_accounts.id = locations.id
modifier_lists
bank_accounts.id = modifier_lists.absent_at_location_ids
orders
bank_accounts.id = orders.id
bank_accounts.id = orders.refunds.id
bank_accounts.id = orders.tenders.id
payments
bank_accounts.id = payments.id
refunds
bank_accounts.id = refunds.id
shifts
bank_accounts.id = shifts.id
taxes
bank_accounts.id = taxes.absent_at_location_ids

account_number_suffix

STRING

account_type

STRING

bank_name

STRING

country

STRING

creditable

BOOLEAN

currency

STRING

debit_mandate_reference_id

STRING

debitable

BOOLEAN

holder_name

STRING

id

STRING

location_id

STRING

primary_bank_identification_number

STRING

reference_id

STRING

secondary_bank_identification_number

STRING

status

STRING

version

INTEGER

cash_drawer_shifts

The cash_drawer_shifts table contains infomration about cash transactions in Square.

Replication Method

Full Table

Useful links

Square documentation

cash_drawer_shifts schema on GitHub

Square API method

closed_at

DATE-TIME

closed_cash_money

OBJECT

amount

INTEGER

currency

STRING

created_at

DATE-TIME

description

STRING

ended_at

DATE-TIME

expected_cash_money

OBJECT

amount

INTEGER

currency

STRING

id

STRING

location_id

STRING

opened_at

DATE-TIME

opened_cash_money

OBJECT

amount

INTEGER

currency

STRING

state

STRING

updated_at

DATE-TIME

categories

The categories table contains information about item categories for a given location in Square.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Square documentation

categories schema on GitHub

Square API method

Join categories with on
items
categories.id = items.item_data.category_id
categories.absent_at_location_ids = items.absent_at_location_ids
categories.absent_at_location_ids = items.item_data.variations.item_variation_data.location_overrides.location_id
categories.absent_at_location_ids = items.item_data.variations.present_at_location_ids
categories.absent_at_location_ids = items.present_at_location_ids
bank_accounts
categories.absent_at_location_ids = bank_accounts.id
discounts
categories.absent_at_location_ids = discounts.absent_at_location_ids
team_members
categories.absent_at_location_ids = team_members.assigned_locations.location_ids
inventories
categories.absent_at_location_ids = inventories.location_id
locations
categories.absent_at_location_ids = locations.id
modifier_lists
categories.absent_at_location_ids = modifier_lists.absent_at_location_ids
orders
categories.absent_at_location_ids = orders.id
categories.absent_at_location_ids = orders.refunds.id
categories.absent_at_location_ids = orders.tenders.id
payments
categories.absent_at_location_ids = payments.id
refunds
categories.absent_at_location_ids = refunds.id
shifts
categories.absent_at_location_ids = shifts.id
taxes
categories.absent_at_location_ids = taxes.absent_at_location_ids

absent_at_location_ids

ARRAY

category_data

OBJECT

id

STRING

is_deleted

BOOLEAN

present_at_all_locations

BOOLEAN

type

STRING

updated_at

DATE-TIME

version

INTEGER

customers

The customers contains information about customer profiles associated with your Square account.

Replication Method

Key-based Incremental

Replication Key

updated_at

Useful links

customers schema on GitHub

Square API method

address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

birthday

DATE-TIME

STRING

company_name

STRING

created_at

DATE-TIME

creation_source

STRING

email_address

STRING

family_name

STRING

given_name

STRING

group_ids

ARRAY

id

STRING

nickname

STRING

note

STRING

phone_number

STRING

preferences

OBJECT

email_unsubscribed

BOOLEAN

reference_id

STRING

segment_ids

ARRAY

tax_ids

OBJECT

eu_vat

STRING

updated_at

DATE-TIME

version

INTEGER

discounts

The discounts table contains information about discounts for a given location in Square.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

discounts schema on GitHub

Square API method

Join discounts with on
bank_accounts
discounts.absent_at_location_ids = bank_accounts.id
categories
discounts.absent_at_location_ids = categories.absent_at_location_ids
team_members
discounts.absent_at_location_ids = team_members.assigned_locations.location_ids
inventories
discounts.absent_at_location_ids = inventories.location_id
items
discounts.absent_at_location_ids = items.absent_at_location_ids
discounts.absent_at_location_ids = items.item_data.variations.item_variation_data.location_overrides.location_id
discounts.absent_at_location_ids = items.item_data.variations.present_at_location_ids
discounts.absent_at_location_ids = items.present_at_location_ids
locations
discounts.absent_at_location_ids = locations.id
modifier_lists
discounts.absent_at_location_ids = modifier_lists.absent_at_location_ids
orders
discounts.absent_at_location_ids = orders.id
discounts.absent_at_location_ids = orders.refunds.id
discounts.absent_at_location_ids = orders.tenders.id
payments
discounts.absent_at_location_ids = payments.id
refunds
discounts.absent_at_location_ids = refunds.id
shifts
discounts.absent_at_location_ids = shifts.id
taxes
discounts.absent_at_location_ids = taxes.absent_at_location_ids

absent_at_location_ids

ARRAY

discount_data

OBJECT

amount_money

OBJECT

amount

INTEGER

currency

STRING

application_method

STRING

discount_type

STRING

label_color

STRING

modify_tax_basis

STRING

name

STRING

percentage

STRING

pin_required

BOOLEAN

id

STRING

is_deleted

BOOLEAN

present_at_all_locations

BOOLEAN

type

STRING

updated_at

DATE-TIME

version

INTEGER

inventories

The inventories table contains info about the current calculated stock count for a Square location.

Replication Method

Full Table

Loading Behavior

Append-Only

Useful links

Square documentation

inventories schema on GitHub

Square API method

Join inventories with on
bank_accounts
inventories.location_id = bank_accounts.id
categories
inventories.location_id = categories.absent_at_location_ids
discounts
inventories.location_id = discounts.absent_at_location_ids
team_members
inventories.location_id = team_members.assigned_locations.location_ids
items
inventories.location_id = items.absent_at_location_ids
inventories.location_id = items.item_data.variations.item_variation_data.location_overrides.location_id
inventories.location_id = items.item_data.variations.present_at_location_ids
inventories.location_id = items.present_at_location_ids
locations
inventories.location_id = locations.id
modifier_lists
inventories.location_id = modifier_lists.absent_at_location_ids
orders
inventories.location_id = orders.id
inventories.location_id = orders.refunds.id
inventories.location_id = orders.tenders.id
payments
inventories.location_id = payments.id
refunds
inventories.location_id = refunds.id
shifts
inventories.location_id = shifts.id
taxes
inventories.location_id = taxes.absent_at_location_ids

calculated_at

DATE-TIME

catalog_object_id

STRING

catalog_object_type

STRING

location_id

STRING

quantity

STRING

state

STRING

items

The items table contains information about items for a given location in Square.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Square documentation

items schema on GitHub

Square API method

Join items with on
categories
items.item_data.category_id = categories.id
items.absent_at_location_ids = categories.absent_at_location_ids
items.item_data.variations.item_variation_data.location_overrides.location_id = categories.absent_at_location_ids
items.item_data.variations.present_at_location_ids = categories.absent_at_location_ids
items.present_at_location_ids = categories.absent_at_location_ids
bank_accounts
items.absent_at_location_ids = bank_accounts.id
items.item_data.variations.item_variation_data.location_overrides.location_id = bank_accounts.id
items.item_data.variations.present_at_location_ids = bank_accounts.id
items.present_at_location_ids = bank_accounts.id
discounts
items.absent_at_location_ids = discounts.absent_at_location_ids
items.item_data.variations.item_variation_data.location_overrides.location_id = discounts.absent_at_location_ids
items.item_data.variations.present_at_location_ids = discounts.absent_at_location_ids
items.present_at_location_ids = discounts.absent_at_location_ids
team_members
items.absent_at_location_ids = team_members.assigned_locations.location_ids
items.item_data.variations.item_variation_data.location_overrides.location_id = team_members.assigned_locations.location_ids
items.item_data.variations.present_at_location_ids = team_members.assigned_locations.location_ids
items.present_at_location_ids = team_members.assigned_locations.location_ids
inventories
items.absent_at_location_ids = inventories.location_id
items.item_data.variations.item_variation_data.location_overrides.location_id = inventories.location_id
items.item_data.variations.present_at_location_ids = inventories.location_id
items.present_at_location_ids = inventories.location_id
locations
items.absent_at_location_ids = locations.id
items.item_data.variations.item_variation_data.location_overrides.location_id = locations.id
items.item_data.variations.present_at_location_ids = locations.id
items.present_at_location_ids = locations.id
modifier_lists
items.absent_at_location_ids = modifier_lists.absent_at_location_ids
items.item_data.variations.item_variation_data.location_overrides.location_id = modifier_lists.absent_at_location_ids
items.item_data.variations.present_at_location_ids = modifier_lists.absent_at_location_ids
items.present_at_location_ids = modifier_lists.absent_at_location_ids
items.item_data.modifier_list_info.modifier_list_id = modifier_lists.id
items.item_data.modifier_list_info.modifier_list_id = modifier_lists.modifier_list_data.modifiers.modifier_data.modifier_list_id
orders
items.absent_at_location_ids = orders.id
items.item_data.variations.item_variation_data.location_overrides.location_id = orders.id
items.item_data.variations.present_at_location_ids = orders.id
items.present_at_location_ids = orders.id
items.absent_at_location_ids = orders.refunds.id
items.item_data.variations.item_variation_data.location_overrides.location_id = orders.refunds.id
items.item_data.variations.present_at_location_ids = orders.refunds.id
items.present_at_location_ids = orders.refunds.id
items.absent_at_location_ids = orders.tenders.id
items.item_data.variations.item_variation_data.location_overrides.location_id = orders.tenders.id
items.item_data.variations.present_at_location_ids = orders.tenders.id
items.present_at_location_ids = orders.tenders.id
payments
items.absent_at_location_ids = payments.id
items.item_data.variations.item_variation_data.location_overrides.location_id = payments.id
items.item_data.variations.present_at_location_ids = payments.id
items.present_at_location_ids = payments.id
refunds
items.absent_at_location_ids = refunds.id
items.item_data.variations.item_variation_data.location_overrides.location_id = refunds.id
items.item_data.variations.present_at_location_ids = refunds.id
items.present_at_location_ids = refunds.id
shifts
items.absent_at_location_ids = shifts.id
items.item_data.variations.item_variation_data.location_overrides.location_id = shifts.id
items.item_data.variations.present_at_location_ids = shifts.id
items.present_at_location_ids = shifts.id
taxes
items.absent_at_location_ids = taxes.absent_at_location_ids
items.item_data.variations.item_variation_data.location_overrides.location_id = taxes.absent_at_location_ids
items.item_data.variations.present_at_location_ids = taxes.absent_at_location_ids
items.present_at_location_ids = taxes.absent_at_location_ids
items.item_data.tax_ids = taxes.id

absent_at_location_ids

ARRAY

id

STRING

is_deleted

BOOLEAN

item_data

OBJECT

abbreviation

STRING

available_electronically

BOOLEAN

available_for_pickup

BOOLEAN

available_online

BOOLEAN

category_id

STRING

description

STRING

item_options

ARRAY

item_option_id

STRING

label_color

STRING

legacy_tax_ids

ARRAY

modifier_list_info

ARRAY

enabled

BOOLEAN

modifier_list_id

STRING

name

STRING

product_type

STRING

skip_modifier_screen

BOOLEAN

tax_ids

ARRAY

variations

ARRAY

id

STRING

is_deleted

BOOLEAN

item_variation_data

OBJECT

inventory_alert_type

STRING

item_id

STRING

location_overrides

ARRAY

inventory_alert_threshold

INTEGER

inventory_alert_type

STRING

location_id

STRING

sold_out

BOOLEAN

track_inventory

BOOLEAN

name

STRING

ordinal

INTEGER

price_money

OBJECT

amount

INTEGER

currency

STRING

pricing_type

STRING

sku

STRING

track_inventory

BOOLEAN

user_data

STRING

present_at_all_locations

BOOLEAN

present_at_location_ids

ARRAY

type

STRING

updated_at

DATE-TIME

version

INTEGER

visibility

STRING

present_at_all_locations

BOOLEAN

present_at_location_ids

ARRAY

type

STRING

updated_at

DATE-TIME

version

INTEGER

locations

The locations table contains information about all of your business locations in Square.

Replication Method

Full Table

Useful links

Square documentation

locations schema on GitHub

Square API method

Join locations with on
bank_accounts
locations.id = bank_accounts.id
categories
locations.id = categories.absent_at_location_ids
discounts
locations.id = discounts.absent_at_location_ids
team_members
locations.id = team_members.assigned_locations.location_ids
inventories
locations.id = inventories.location_id
items
locations.id = items.absent_at_location_ids
locations.id = items.item_data.variations.item_variation_data.location_overrides.location_id
locations.id = items.item_data.variations.present_at_location_ids
locations.id = items.present_at_location_ids
modifier_lists
locations.id = modifier_lists.absent_at_location_ids
orders
locations.id = orders.id
locations.id = orders.refunds.id
locations.id = orders.tenders.id
payments
locations.id = payments.id
refunds
locations.id = refunds.id
shifts
locations.id = shifts.id
taxes
locations.id = taxes.absent_at_location_ids

address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

business_email

STRING

business_hours

OBJECT

periods

ARRAY

day_of_week

STRING

end_local_time

STRING

start_local_time

STRING

business_name

STRING

capabilities

ARRAY

coordinates

OBJECT

latitude

NUMBER

longitude

NUMBER

country

STRING

created_at

DATE-TIME

currency

STRING

description

STRING

facebook_url

STRING

full_format_logo_url

STRING

id

STRING

instagram_username

STRING

language_code

STRING

logo_url

STRING

mcc

STRING

merchant_id

STRING

name

STRING

phone_number

STRING

pos_background_url

STRING

status

STRING

timezone

STRING

twitter_username

STRING

type

STRING

website_url

STRING

modifier_lists

The modifier_lists table contains information about modifier lists for a given location in Square.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Square documentation

modifier_lists schema on GitHub

Square API method

Join modifier_lists with on
bank_accounts
modifier_lists.absent_at_location_ids = bank_accounts.id
categories
modifier_lists.absent_at_location_ids = categories.absent_at_location_ids
discounts
modifier_lists.absent_at_location_ids = discounts.absent_at_location_ids
team_members
modifier_lists.absent_at_location_ids = team_members.assigned_locations.location_ids
inventories
modifier_lists.absent_at_location_ids = inventories.location_id
items
modifier_lists.absent_at_location_ids = items.absent_at_location_ids
modifier_lists.absent_at_location_ids = items.item_data.variations.item_variation_data.location_overrides.location_id
modifier_lists.absent_at_location_ids = items.item_data.variations.present_at_location_ids
modifier_lists.absent_at_location_ids = items.present_at_location_ids
modifier_lists.id = items.item_data.modifier_list_info.modifier_list_id
modifier_lists.modifier_list_data.modifiers.modifier_data.modifier_list_id = items.item_data.modifier_list_info.modifier_list_id
locations
modifier_lists.absent_at_location_ids = locations.id
orders
modifier_lists.absent_at_location_ids = orders.id
modifier_lists.absent_at_location_ids = orders.refunds.id
modifier_lists.absent_at_location_ids = orders.tenders.id
payments
modifier_lists.absent_at_location_ids = payments.id
refunds
modifier_lists.absent_at_location_ids = refunds.id
shifts
modifier_lists.absent_at_location_ids = shifts.id
taxes
modifier_lists.absent_at_location_ids = taxes.absent_at_location_ids

absent_at_location_ids

ARRAY

id

STRING

is_deleted

BOOLEAN

modifier_list_data

OBJECT

modifiers

ARRAY

id

STRING

is_deleted

BOOLEAN

modifier_data

OBJECT

modifier_list_id

STRING

name

STRING

on_by_default

BOOLEAN

ordinal

INTEGER

price_money

OBJECT

amount

INTEGER

currency

STRING

present_at_all_locations

BOOLEAN

type

STRING

updated_at

DATE-TIME

version

INTEGER

name

STRING

ordinal

INTEGER

selection_type

STRING

present_at_all_locations

BOOLEAN

type

STRING

updated_at

DATE-TIME

version

INTEGER

orders

The orders table contains information about order updates in Square.

Replication Method

Key-based Incremental

Replication Key

updated_at

Useful links

Square documentation

orders schema on GitHub

Square API method

Join orders with on
bank_accounts
orders.id = bank_accounts.id
orders.refunds.id = bank_accounts.id
orders.tenders.id = bank_accounts.id
categories
orders.id = categories.absent_at_location_ids
orders.refunds.id = categories.absent_at_location_ids
orders.tenders.id = categories.absent_at_location_ids
discounts
orders.id = discounts.absent_at_location_ids
orders.refunds.id = discounts.absent_at_location_ids
orders.tenders.id = discounts.absent_at_location_ids
team_members
orders.id = team_members.assigned_locations.location_ids
orders.refunds.id = team_members.assigned_locations.location_ids
orders.tenders.id = team_members.assigned_locations.location_ids
inventories
orders.id = inventories.location_id
orders.refunds.id = inventories.location_id
orders.tenders.id = inventories.location_id
items
orders.id = items.absent_at_location_ids
orders.refunds.id = items.absent_at_location_ids
orders.tenders.id = items.absent_at_location_ids
orders.id = items.item_data.variations.item_variation_data.location_overrides.location_id
orders.refunds.id = items.item_data.variations.item_variation_data.location_overrides.location_id
orders.tenders.id = items.item_data.variations.item_variation_data.location_overrides.location_id
orders.id = items.item_data.variations.present_at_location_ids
orders.refunds.id = items.item_data.variations.present_at_location_ids
orders.tenders.id = items.item_data.variations.present_at_location_ids
orders.id = items.present_at_location_ids
orders.refunds.id = items.present_at_location_ids
orders.tenders.id = items.present_at_location_ids
locations
orders.id = locations.id
orders.refunds.id = locations.id
orders.tenders.id = locations.id
modifier_lists
orders.id = modifier_lists.absent_at_location_ids
orders.refunds.id = modifier_lists.absent_at_location_ids
orders.tenders.id = modifier_lists.absent_at_location_ids
payments
orders.id = payments.id
orders.refunds.id = payments.id
orders.tenders.id = payments.id
orders.id = payments.order_id
orders.returns.source_order_id = payments.order_id
orders.refunds.id = payments.order_id
orders.refunds.id = payments.refund_ids
refunds
orders.id = refunds.id
orders.refunds.id = refunds.id
orders.tenders.id = refunds.id
orders.id = refunds.order_id
orders.returns.source_order_id = refunds.order_id
orders.tenders.id = refunds.payment_id
shifts
orders.id = shifts.id
orders.refunds.id = shifts.id
orders.tenders.id = shifts.id
taxes
orders.id = taxes.absent_at_location_ids
orders.refunds.id = taxes.absent_at_location_ids
orders.tenders.id = taxes.absent_at_location_ids

closed_at

DATE-TIME

created_at

DATE-TIME

discounts

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

applied_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

pricing_rule_id

STRING

scope

STRING

type

STRING

fulfillments

ARRAY

pickup_details

OBJECT

accepted_at

DATE-TIME

auto_complete_duration

STRING

cancel_reason

STRING

canceled_at

DATE-TIME

expired_at

DATE-TIME

expires_at

DATE-TIME

note

STRING

picked_up_at

DATE-TIME

pickup_at

DATE-TIME

pickup_window_duration

STRING

placed_at

DATE-TIME

prep_time_duration

STRING

ready_at

DATE-TIME

recipient

OBJECT

customer_id

STRING

display_name

STRING

email_address

STRING

phone_number

STRING

rejected_at

DATE-TIME

schedule_type

STRING

state

STRING

type

STRING

uid

STRING

id

STRING

line_items

ARRAY

base_price_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

gross_sales_money

OBJECT

amount

INTEGER

currency

STRING

item_type

STRING

modifiers

ARRAY

base_price_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

quantity

STRING

total_price_money

OBJECT

amount

INTEGER

currency

STRING

name

STRING

note

STRING

quantity

STRING

quantity_unit

OBJECT

catalog_object_id

STRING

catalog_version

INTEGER

measurement_unit

OBJECT

area_unit

STRING

custom_unit

OBJECT

abbreviation

STRING

name

STRING

generic_unit

STRING

length_unit

STRING

time_unit

STRING

type

STRING

volume_unit

STRING

weight_unit

STRING

precision

INTEGER

total_discount_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

total_tax_money

OBJECT

amount

INTEGER

currency

STRING

uid

STRING

variation_name

STRING

variation_total_price_money

OBJECT

amount

INTEGER

currency

STRING

location_id

STRING

net_amount_due_money

OBJECT

amount

INTEGER

currency

STRING

net_amounts

OBJECT

discount_money

OBJECT

amount

INTEGER

currency

STRING

service_charge_money

OBJECT

amount

INTEGER

currency

STRING

tax_money

OBJECT

amount

INTEGER

currency

STRING

tip_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

pricing_options

OBJECT

auto_apply_discounts

BOOLEAN

reference_id

STRING

refunds

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

created_at

DATE-TIME

id

STRING

location_id

STRING

processing_fee_money

OBJECT

amount

INTEGER

currency

STRING

reason

STRING

status

STRING

tender_id

STRING

transaction_id

STRING

return_amounts

OBJECT

discount_money

OBJECT

amount

INTEGER

currency

STRING

service_charge_money

OBJECT

amount

INTEGER

currency

STRING

tax_money

OBJECT

amount

INTEGER

currency

STRING

tip_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

returns

ARRAY

return_amounts

OBJECT

discount_money

OBJECT

amount

INTEGER

currency

STRING

service_charge_money

OBJECT

amount

INTEGER

currency

STRING

tax_money

OBJECT

amount

INTEGER

currency

STRING

tip_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

return_discounts

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

applied_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

scope

STRING

source_discount_uid

STRING

type

STRING

uid

STRING

return_line_items

ARRAY

applied_discounts

ARRAY

applied_money

OBJECT

amount

INTEGER

currency

STRING

discount_uid

STRING

uid

STRING

applied_service_charges

ARRAY

applied_money

OBJECT

amount

INTEGER

currency

STRING

service_charge_uid

STRING

uid

STRING

applied_taxes

ARRAY

applied_money

OBJECT

amount

INTEGER

currency

STRING

tax_uid

STRING

uid

STRING

base_price_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

gross_return_money

OBJECT

amount

INTEGER

currency

STRING

item_type

STRING

name

STRING

note

STRING

quantity

STRING

quantity_unit

OBJECT

catalog_object_id

STRING

catalog_version

INTEGER

measurement_unit

OBJECT

area_unit

STRING

custom_unit

OBJECT

abbreviation

STRING

name

STRING

generic_unit

STRING

length_unit

STRING

time_unit

STRING

type

STRING

volume_unit

STRING

weight_unit

STRING

precision

INTEGER

return_modifiers

ARRAY

base_price_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

quantity

STRING

source_modifier_uid

STRING

total_price_money

OBJECT

amount

INTEGER

currency

STRING

uid

STRING

source_line_item_uid

STRING

total_discount_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

total_service_charge_money

OBJECT

amount

INTEGER

currency

STRING

total_tax_money

OBJECT

amount

INTEGER

currency

STRING

uid

STRING

variation_name

STRING

variation_total_price_money

OBJECT

amount

INTEGER

currency

STRING

return_service_charges

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

applied_money

OBJECT

amount

INTEGER

currency

STRING

calculation_phase

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

source_service_charge_uid

STRING

taxable

BOOLEAN

total_money

OBJECT

amount

INTEGER

currency

STRING

total_tax_money

OBJECT

amount

INTEGER

currency

STRING

return_taxes

ARRAY

applied_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

scope

STRING

source_tax_uid

STRING

type

STRING

uid

STRING

rounding_adjustment

OBJECT

amount_money

OBJECT

amount

INTEGER

currency

STRING

name

STRING

uid

STRING

source_order_id

STRING

uid

STRING

service_charges

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

applied_money

OBJECT

amount

INTEGER

currency

STRING

calculation_phase

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

taxable

BOOLEAN

total_money

OBJECT

amount

INTEGER

currency

STRING

total_tax_money

OBJECT

amount

INTEGER

currency

STRING

type

STRING

source

OBJECT

state

STRING

taxes

ARRAY

applied_money

OBJECT

amount

INTEGER

currency

STRING

catalog_object_id

STRING

catalog_version

INTEGER

name

STRING

percentage

STRING

scope

STRING

type

STRING

tenders

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

card_details

OBJECT

card

OBJECT

billing_address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

bin

STRING

card_brand

STRING

card_co_brand

STRING

card_type

STRING

cardholder_name

STRING

customer_id

STRING

enabled

BOOLEAN

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

id

STRING

last_4

STRING

merchant_id

STRING

prepaid_type

STRING

reference_id

STRING

version

INTEGER

entry_method

STRING

status

STRING

cash_details

OBJECT

buyer_tendered_money

OBJECT

amount

INTEGER

currency

STRING

change_back_money

OBJECT

amount

INTEGER

currency

STRING

created_at

DATE-TIME

customer_id

STRING

id

STRING

location_id

STRING

note

STRING

payment_id

STRING

processing_fee_money

OBJECT

amount

INTEGER

currency

STRING

tip_money

OBJECT

amount

INTEGER

currency

STRING

transaction_id

STRING

type

STRING

total_discount_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

total_service_charge_money

OBJECT

amount

INTEGER

currency

STRING

total_tax_money

OBJECT

amount

INTEGER

currency

STRING

total_tip_money

OBJECT

amount

INTEGER

currency

STRING

updated_at

DATE-TIME

version

INTEGER

payments

The payments table contains information about all payments taken in Square.

Replication Method

Full Table

Useful links

Square documentation

payments schema on GitHub

Square API method

Join payments with on
bank_accounts
payments.id = bank_accounts.id
categories
payments.id = categories.absent_at_location_ids
discounts
payments.id = discounts.absent_at_location_ids
team_members
payments.id = team_members.assigned_locations.location_ids
inventories
payments.id = inventories.location_id
items
payments.id = items.absent_at_location_ids
payments.id = items.item_data.variations.item_variation_data.location_overrides.location_id
payments.id = items.item_data.variations.present_at_location_ids
payments.id = items.present_at_location_ids
locations
payments.id = locations.id
modifier_lists
payments.id = modifier_lists.absent_at_location_ids
orders
payments.id = orders.id
payments.id = orders.refunds.id
payments.id = orders.tenders.id
payments.order_id = orders.id
payments.order_id = orders.returns.source_order_id
payments.order_id = orders.refunds.id
payments.refund_ids = orders.refunds.id
refunds
payments.id = refunds.id
payments.order_id = refunds.order_id
payments.id = refunds.payment_id
payments.order_id = refunds.id
payments.refund_ids = refunds.id
shifts
payments.id = shifts.id
taxes
payments.id = taxes.absent_at_location_ids

amount_money

OBJECT

amount

INTEGER

currency

STRING

app_fee_money

OBJECT

amount

INTEGER

currency

STRING

application_details

OBJECT

application_id

STRING

square_product

STRING

approved_money

OBJECT

amount

INTEGER

currency

STRING

bank_account_details

OBJECT

account_ownership_type

STRING

ach_details

OBJECT

account_number_suffix

STRING

account_type

STRING

routing_number

STRING

bank_name

STRING

country

STRING

errors

ARRAY

category

STRING

code

STRING

detail

STRING

field

STRING

fingerprint

STRING

statement_description

STRING

transfer_type

STRING

billing_address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

buy_now_pay_later_details

OBJECT

afterpay_details

OBJECT

email_address

STRING

brand

STRING

clearpay_details

OBJECT

email_address

STRING

buyer_email_address

STRING

capabilities

ARRAY

card_details

OBJECT

application_cryptogram

STRING

application_identifier

STRING

application_name

STRING

auth_result_code

STRING

avs_status

STRING

card

OBJECT

billing_address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

bin

STRING

card_brand

STRING

card_co_brand

STRING

card_type

STRING

cardholder_name

STRING

customer_id

STRING

enabled

BOOLEAN

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

id

STRING

last_4

STRING

merchant_id

STRING

prepaid_type

STRING

reference_id

STRING

version

INTEGER

card_payment_timeline

OBJECT

authorized_at

DATE-TIME

captured_at

DATE-TIME

voided_at

DATE-TIME

cvv_status

STRING

entry_method

STRING

errors

ARRAY

category

STRING

code

STRING

detail

STRING

field

STRING

statement_description

STRING

status

STRING

verification_method

STRING

verification_results

STRING

cash_details

OBJECT

buyer_supplied_money

OBJECT

amount

INTEGER

currency

STRING

change_back_money

OBJECT

amount

INTEGER

currency

STRING

created_at

DATE-TIME

customer_id

STRING

delay_action

STRING

delay_duration

STRING

delayed_until

DATE-TIME

device_details

OBJECT

device_id

STRING

device_installation_id

STRING

device_name

STRING

external_details

OBJECT

source

STRING

source_fee_money

OBJECT

amount

INTEGER

currency

STRING

source_id

STRING

type

STRING

id

STRING

location_id

STRING

note

STRING

order_id

STRING

processing_fee

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

effective_at

DATE-TIME

type

STRING

receipt_number

STRING

receipt_url

STRING

reference_id

STRING

refund_ids

ARRAY

refunded_money

OBJECT

amount

INTEGER

currency

STRING

risk_evaluation

OBJECT

created_at

DATE-TIME

risk_level

STRING

shipping_address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

source_type

STRING

statement_description_identifier

STRING

status

STRING

team_member_id

STRING

tip_money

OBJECT

amount

INTEGER

currency

STRING

total_money

OBJECT

amount

INTEGER

currency

STRING

updated_at

DATE-TIME

version_token

STRING

wallet_details

OBJECT

brand

STRING

cash_app_details

OBJECT

buyer_cashtag

STRING

buyer_country_code

STRING

buyer_full_name

STRING

status

STRING

payouts

The payouts table contains information about all payouts made in Square.

Replication Method

Full Table

Useful links

Square documentation

payouts schema on GitHub

Square API method

amount_money

OBJECT

amount

INTEGER

currency

STRING

arrival_date

DATE-TIME

created_at

DATE-TIME

destination

OBJECT

id

STRING

type

STRING

end_to_end_id

STRING

id

STRING

location_id

STRING

payout_fee

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

effective_at

DATE-TIME

type

STRING

status

STRING

type

STRING

updated_at

DATE-TIME

version

INTEGER

refunds

The refunds table contains information about refunds on items in Square.

Replication Method

Full Table

Useful links

Square documentation

refunds schema on GitHub

Square API method

Join refunds with on
bank_accounts
refunds.id = bank_accounts.id
categories
refunds.id = categories.absent_at_location_ids
discounts
refunds.id = discounts.absent_at_location_ids
team_members
refunds.id = team_members.assigned_locations.location_ids
inventories
refunds.id = inventories.location_id
items
refunds.id = items.absent_at_location_ids
refunds.id = items.item_data.variations.item_variation_data.location_overrides.location_id
refunds.id = items.item_data.variations.present_at_location_ids
refunds.id = items.present_at_location_ids
locations
refunds.id = locations.id
modifier_lists
refunds.id = modifier_lists.absent_at_location_ids
orders
refunds.id = orders.id
refunds.id = orders.refunds.id
refunds.id = orders.tenders.id
refunds.order_id = orders.id
refunds.order_id = orders.returns.source_order_id
refunds.payment_id = orders.tenders.id
payments
refunds.id = payments.id
refunds.order_id = payments.order_id
refunds.payment_id = payments.id
refunds.id = payments.order_id
refunds.id = payments.refund_ids
shifts
refunds.id = shifts.id
taxes
refunds.id = taxes.absent_at_location_ids

amount_money

OBJECT

amount

INTEGER

currency

STRING

app_fee_money

OBJECT

amount

INTEGER

currency

STRING

created_at

DATE-TIME

destination_details

OBJECT

card_details

OBJECT

card

OBJECT

billing_address

OBJECT

address_line_1

STRING

address_line_2

STRING

address_line_3

STRING

administrative_district_level_1

STRING

administrative_district_level_2

STRING

administrative_district_level_3

STRING

country

STRING

first_name

STRING

last_name

STRING

locality

STRING

postal_code

STRING

sublocality

STRING

sublocality_2

STRING

sublocality_3

STRING

bin

STRING

card_brand

STRING

card_co_brand

STRING

card_type

STRING

cardholder_name

STRING

customer_id

STRING

enabled

BOOLEAN

exp_month

INTEGER

exp_year

INTEGER

fingerprint

STRING

id

STRING

last_4

STRING

merchant_id

STRING

prepaid_type

STRING

reference_id

STRING

version

INTEGER

entry_method

STRING

destination_type

STRING

id

STRING

location_id

STRING

order_id

STRING

payment_id

STRING

processing_fee

ARRAY

amount_money

OBJECT

amount

INTEGER

currency

STRING

effective_at

DATE-TIME

type

STRING

reason

STRING

status

STRING

team_member_id

STRING

unlinked

BOOLEAN

updated_at

DATE-TIME

roles

The roles table contains information about employees’ roles in Square.

Note: This table can’t be replicated if the Connect to a sandbox environment box is checked in the integration’s settings due to limits imposed by Square.

Replication Method

Full Table

Primary Key

id

Useful links

Square documentation

roles schema on GitHub

Square API method

created_at

DATE-TIME

id

STRING

is_owner

BOOLEAN

name

STRING

permissions

ARRAY

updated_at

DATE-TIME

shifts

The shifts table contains information about employee’s shifts in Square.

Replication Method

Key-based Incremental

Replication Key

updated_at

Useful links

Square documentation

shifts schema on GitHub

Square API method

Join shifts with on
team_members
shifts.team_member_id = team_members.id
shifts.id = team_members.assigned_locations.location_ids
bank_accounts
shifts.id = bank_accounts.id
categories
shifts.id = categories.absent_at_location_ids
discounts
shifts.id = discounts.absent_at_location_ids
inventories
shifts.id = inventories.location_id
items
shifts.id = items.absent_at_location_ids
shifts.id = items.item_data.variations.item_variation_data.location_overrides.location_id
shifts.id = items.item_data.variations.present_at_location_ids
shifts.id = items.present_at_location_ids
locations
shifts.id = locations.id
modifier_lists
shifts.id = modifier_lists.absent_at_location_ids
orders
shifts.id = orders.id
shifts.id = orders.refunds.id
shifts.id = orders.tenders.id
payments
shifts.id = payments.id
refunds
shifts.id = refunds.id
taxes
shifts.id = taxes.absent_at_location_ids

breaks

ARRAY

break_type_id

STRING

end_at

DATE-TIME

expected_duration

STRING

id

STRING

is_paid

BOOLEAN

name

STRING

start_at

DATE-TIME

created_at

DATE-TIME

end_at

DATE-TIME

id

STRING

location_id

STRING

start_at

DATE-TIME

status

STRING

team_member_id

STRING

timezone

STRING

updated_at

DATE-TIME

version

INTEGER

wage

OBJECT

hourly_rate

OBJECT

amount

INTEGER

currency

STRING

job_id

STRING

title

STRING

taxes

The taxes table contains information about taxes enabled on your items in Square.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

taxes schema on GitHub

Square API method

Join taxes with on
bank_accounts
taxes.absent_at_location_ids = bank_accounts.id
categories
taxes.absent_at_location_ids = categories.absent_at_location_ids
discounts
taxes.absent_at_location_ids = discounts.absent_at_location_ids
team_members
taxes.absent_at_location_ids = team_members.assigned_locations.location_ids
inventories
taxes.absent_at_location_ids = inventories.location_id
items
taxes.absent_at_location_ids = items.absent_at_location_ids
taxes.absent_at_location_ids = items.item_data.variations.item_variation_data.location_overrides.location_id
taxes.absent_at_location_ids = items.item_data.variations.present_at_location_ids
taxes.absent_at_location_ids = items.present_at_location_ids
taxes.id = items.item_data.tax_ids
locations
taxes.absent_at_location_ids = locations.id
modifier_lists
taxes.absent_at_location_ids = modifier_lists.absent_at_location_ids
orders
taxes.absent_at_location_ids = orders.id
taxes.absent_at_location_ids = orders.refunds.id
taxes.absent_at_location_ids = orders.tenders.id
payments
taxes.absent_at_location_ids = payments.id
refunds
taxes.absent_at_location_ids = refunds.id
shifts
taxes.absent_at_location_ids = shifts.id

absent_at_location_ids

ARRAY

id

STRING

is_deleted

BOOLEAN

present_at_all_locations

BOOLEAN

tax_data

OBJECT

applies_to_custom_amounts

BOOLEAN

calculation_phase

STRING

enabled

BOOLEAN

inclusion_type

STRING

name

STRING

percentage

STRING

tax_type_id

STRING

tax_type_name

STRING

type

STRING

updated_at

DATE-TIME

version

INTEGER

team_members

Replication Method

Key-based Incremental

Replication Key

updated_at

Useful links

Square documentation

team_members schema on GitHub

Square API method

Join team_members with on
shifts
team_members.id = shifts.team_member_id
team_members.assigned_locations.location_ids = shifts.id
bank_accounts
team_members.assigned_locations.location_ids = bank_accounts.id
categories
team_members.assigned_locations.location_ids = categories.absent_at_location_ids
discounts
team_members.assigned_locations.location_ids = discounts.absent_at_location_ids
inventories
team_members.assigned_locations.location_ids = inventories.location_id
items
team_members.assigned_locations.location_ids = items.absent_at_location_ids
team_members.assigned_locations.location_ids = items.item_data.variations.item_variation_data.location_overrides.location_id
team_members.assigned_locations.location_ids = items.item_data.variations.present_at_location_ids
team_members.assigned_locations.location_ids = items.present_at_location_ids
locations
team_members.assigned_locations.location_ids = locations.id
modifier_lists
team_members.assigned_locations.location_ids = modifier_lists.absent_at_location_ids
orders
team_members.assigned_locations.location_ids = orders.id
team_members.assigned_locations.location_ids = orders.refunds.id
team_members.assigned_locations.location_ids = orders.tenders.id
payments
team_members.assigned_locations.location_ids = payments.id
refunds
team_members.assigned_locations.location_ids = refunds.id
taxes
team_members.assigned_locations.location_ids = taxes.absent_at_location_ids

assigned_locations

OBJECT

assignment_type

STRING

location_ids

ARRAY

created_at

DATE-TIME

email_address

STRING

family_name

STRING

given_name

STRING

id

STRING

is_owner

BOOLEAN

phone_number

STRING

reference_id

STRING

status

STRING

updated_at

DATE-TIME


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.