Reach data share

Access your report data through Snowflake data sharing

The Reach data share uses Snowflake-native sharing to provide a direct, secure connection to your data. The data share works alongside your Reach reports to present a comprehensive view of your transactions and adjustments.

Data share options

Currently, two methods are available. Regardless of the chosen method, you can select which of the six core datasets you would like to receive.

Snowflake share

Available now

If your organization already uses Snowflake, this is the recommended path. Reach creates a dedicated share scoped to your Snowflake account identifier. You mount it as a database and query it as you would any other Snowflake database.

Reach automatically determines whether to use a direct share (same cloud and region as Reach) or a private listing (cross-cloud or cross-region) based on the account details you provide.

For those using a direct share, data freshness is live; for those using a private listing, it is approximately 10 minutes.

Cloud storage file drop

Available soon

If you use cloud storage (such as Azure or AWS) but not Snowflake, Reach will write daily CSV files directly into your bucket or container. A scheduled automation drops the files into your cloud storage location at the same time each day.

Working on it

Cloud storage file drop is not yet available. Express your interest and your Reach representative can notify you when the option opens.

Snowflake reader account

Available on request

If your organization does not use Snowflake and has no cloud storage infrastructure, we can offer a Reach-managed account to access your reporting data. To query your data, simply log in to the provided account.

Reader accounts are available upon request. Contact your Reach representative to discuss eligibility.

Request a data share

To request a data share, complete the following steps and contact your Reach representative to begin the setup process.

Choose your datasets

Choose any number of the six datasets. You can add additional datasets at any time by contacting your Reach representative.

Choose your delivery method

Review which delivery method fits your infrastructure

Gather the details for your chosen delivery method

Collect the requisite information. See the table below for details.

Send the details to your Reach representative

Use the request template below, or provide the information in your preferred format.

Depending on the chosen method, the setup process can be completed within the same day as the request.

Required information by delivery method

Each method requires slightly different information to begin the setup process. In your initial request, include the correct information for your chosen method.

Required information
MethodWhat Reach needs from youWhat Reach provides backEffort level
Snowflake shareYour Snowflake org account, account locator, and region (from the SQL query below)An invite—accept it in your Snowflake accountLow
Cloud storage file drop (not yet available)Requires collaboration to determine the best configuration for your businessImplementation instructionsModerate
Snowflake reader accountA contact email address for the account loginReader account URL and login credentialsLow

Query for Snowflake share setup

If you are using a Snowflake share, identify your Snowflake account by running the following query in your Snowflake account.

Include the output in your initial request to your Reach representative.

SELECT
CURRENT_ORGANIZATION_NAME() || '.' || CURRENT_ACCOUNT_NAME() AS ORG_ACCOUNT,
CURRENT_ACCOUNT() AS ACCOUNT_LOCATOR,
CURRENT_REGION() AS REGION;

Request template

You may use the following templates to make your request.

Select the delivery method tab that suits your business for the corresponding request template:

Snowflake share request template
===============================================================================
Supplier name:
Contact email(s):

── Datasets (select all that apply) ──────────────────────────
[ ] TRANSACTIONS
[ ] ORDER_DETAILS
[ ] CHARGEBACKS
[ ] PAYMENT_METHOD_DETAILS
[ ] PERSONS
[ ] SETTLEMENT_DETAILS

── Delivery method ───────────────────────────────────────────
[ ] Snowflake share / private listing   ← available now
[ ] Snowflake reader account            ← on request
[ ] Cloud storage file drop             ← not yet available, indicate interest

── Snowflake share / private listing ──────────────────────
  Run this in your Snowflake account and share the output in the fields below:

  SELECT
    CURRENT_ORGANIZATION_NAME() || '.' || CURRENT_ACCOUNT_NAME() AS ORG_ACCOUNT,
    CURRENT_ACCOUNT() AS ACCOUNT_LOCATOR,
    CURRENT_REGION()  AS REGION;

ORG_ACCOUNT    :
ACCOUNT_LOCATOR:
REGION         :
Cloud storage file drop request template
===============================================================================
Supplier name:
Contact email(s):

── Delivery method ───────────────────────────────────────────
[ ] Cloud storage file drop  ← not yet available, indicate interest

── Datasets ──────────────────────────
Select all that apply:
[ ] TRANSACTIONS
[ ] ORDER_DETAILS
[ ] CHARGEBACKS
[ ] PAYMENT_METHOD_DETAILS
[ ] PERSONS
[ ] SETTLEMENT_DETAILS

── Required information ──────────────────────
Requires a conversation with your team and ours to determine best configuration. Further requirements to be added when option is available.
Snowflake reader account request template
===============================================================================
Supplier name:
Requester email:

── Chosen delivery method ───────────────────────────────────────────
[x] Snowflake reader account  ← on request

── Datasets ──────────────────────────
Select all that apply:
[ ] TRANSACTIONS
[ ] ORDER_DETAILS
[ ] CHARGEBACKS
[ ] PAYMENT_METHOD_DETAILS
[ ] PERSONS
[ ] SETTLEMENT_DETAILS

── Required information ──────────────────────
A contact email address for the account login  :

Datasets

Suppliers may select any of the six available datasets for their data share:

  • CHARGEBACKS — dispute records
  • ORDER_DETAILS — line-item detail for each order
  • PAYMENT_METHOD_DETAILS — card and payment instrument attributes
  • PERSONS — consumer and consignee personally identifiable information (PII)
  • SETTLEMENT_DETAILS — settlement line-items
  • TRANSACTIONS — core transaction data

The following tables document the available columns in each dataset. All timestamps are in UTC. Monetary amounts are in the currency specified by the accompanying currency column.

Chargebacks dataset

One row per chargeback. Includes chargeback amount, currency, reason, submission date, and outcome (e.g., won or lost).

Chargebacks
ColumnTypeDescription
EXTERNAL_IDstringAn external identifier set by Reach
MERCHANT_REFERENCE_IDstringOptional reference data for transaction. Set by the supplier
CHARGEBACK_AMOUNTnumberThe total amount charged for the dispute from the cardholder in the customer's currency
CHARGEBACK_CURRENCYstringThe currency for the disputed transaction, the customer's currency
CHARGEBACK_DESCRIPTIONstringThe description for the dispute reason provided from the payment service provider
CHARGEBACK_REASONstringThe categorized reason for the payment method provided from the payment service provider
CB_AMOUNT_USDnumberThe total amount charged for the dispute from the cardholder in USD
CB_DATEdateThe date in which the dispute was submitted to the payment service provider
WON_OR_LOSTstringThe final state of the dispute — won or lost
PAYMENT_METHODstringThe shortened name of the payment type
LAST_UPDATED_ONtimestampThe last time the row was updated

Order details dataset

One order per line item. Includes SKUs, quantities, consumer prices, and currency per line item for each order.

Order Details
ColumnTypeDescription
ORDER_EXTERNAL_IDstringAn external identifier for the order associated with the transaction set by Reach
MERCHANT_ORDER_IDstringAn external identifier for the order associated with the transaction set by the supplier
MERCHANT_SKUstringThe Stock Keeping Unit (SKU) identifier the supplier has associated to the product
CONSUMER_CURRENCYstringThe ISO currency code of the consumer purchase
QUANTITYnumberThe number of SKUs included in the order line item detail
CONSUMER_PRICEnumberThe consumer price of the product
LAST_UPDATED_ONtimestampThe last time the row was updated

Payment method details dataset

Includes BIN, expiry, issuing country, card type, and account identifier data for payment methods used in your transactions.

Payment Method Details
ColumnTypeDescription
PAYMENT_METHOD_DETAIL_IDnumberAn identifier to join payment method properties
PAYMENT_METHODstringThe payment option used by the consumer
BINnumberBank identification number of a card
EXPIRYdatePayment method is valid before this date
ACCOUNT_IDENTIFIERstringIdentifying string for the payment account belonging to the end customer
PAYMENT_MODELstringEncapsulates whether the transaction is a cardholder-initiated transaction (CIT), mail or telephone order (MOTO), or a merchant-initiated transaction (MIT)
ISSUING_COUNTRYstringIssuing country, if known
ISSUER_NAMEstringName of the issuer, if known
TYPEstringType of card (credit/debit), if known
CORPORATEstringCorporate card indicator, if known
PRE_PAIDbooleanIndicates if the card is a prepaid card
DESCRIPTIONstringA description associated to the payment method
VIRTUALbooleanIndicates if the card is virtual
LAST_UPDATED_ONtimestampThe last time the row was updated

Persons dataset

Consumer and consignee PII— data regarding your consumers, including: names, billing and shipping addresses, emails, and phone numbers.

Joined to the transactions table via CONSUMER_PERSON_ID and CONSIGNEE_PERSON_ID.

Persons
ColumnTypeDescription
PERSON_IDnumberReach created identifier. Joins to TRANSACTIONS.CONSUMER_PERSON_ID or TRANSACTIONS.CONSIGNEE_PERSON_ID.
MERCHANT_CONSUMER_PROFILE_IDstringAn identifier created by supplier to identify consumer profiles in their datasets
HASHED_EMAIL_ADDRESSstringThe consumer hashed email address
BILLING_EMAIL_ADDRESSstringThe consumer's billing email address
BILLING_NAMEstringName of the consumer
BILLING_COUNTRYstringCountry code of the consumer
BILLING_REGIONstringRegion or state of the consumer
BILLING_POSTAL_CODEstringPostal code of the consumer
BILLING_PHONEstringPhone number of the consumer
SHIPPING_EMAIL_ADDRESSstringThe consignee's shipping email address
SHIPPING_NAMEstringName of the consignee
SHIPPING_COUNTRYstringCountry code of the consignee
SHIPPING_REGIONstringRegion or state of the consignee
SHIPPING_POSTAL_CODEstringPostal code of the consignee
SHIPPING_PHONEstringPhone number of the consignee
DEVICE_IPstringIP address of the associated device used
LAST_UPDATED_ONtimestampThe last time the row was updated

Settlement details dataset

Settlement lines items—sale, refund, chargeback, and fee line types with gross, fee, and net amounts in settlement currency.

Settlement Details
ColumnTypeDescription
LINE_TYPEstringSettlement line type: Sale, Refund, Chargeback, or Fee
ORDER_IDstringOrder identifier
MERCHANT_ORDER_IDstringSupplier-assigned order identifier
REFUND_IDstringRefund identifier, if applicable
MERCHANT_REFUND_IDstringSupplier-assigned refund identifier, if applicable
ORDER_DATEdateDate of the original order
PAYMENT_METHODstringPayment method used for the settlement
SELL_CURRENCYstringCurrency of the consumer sell amount
SELL_AMOUNT_TOTALnumberTotal sell amount in consumer currency
SELL_AMOUNT_SUBTOTALnumberSell amount subtotal before tax
SELL_AMOUNT_TAXnumberTax portion of the sell amount
SETTLEMENT_CURRENCYstringCurrency of the settlement to the supplier
SETTLEMENT_AMOUNT_TOTALnumberTotal settlement amount in settlement currency
SETTLEMENT_AMOUNT_TAXnumberTax portion of the settlement amount
SETTLEMENT_AMOUNT_GROSSnumberGross settlement amount before fees
FEE_PROCESSINGnumberProcessing fee charged
FEE_FRAUDnumberFraud prevention fee charged
MERCHANT_MARKUPnumberSupplier markup amount
FEE_FINANCINGnumberFinancing fee charged
FEE_REFUNDnumberRefund fee charged
NET_AMOUNTnumberNet settlement amount after all fees
FX_RATEnumberForeign exchange rate applied
SETTLEMENT_DATEdateDate the settlement was processed
PROCESSED_DATEdateDate the transaction was processed
NOTESstringOptional settlement notes
LAST_UPDATED_ONtimestampThe last time the row was updated

Transaction dataset

The core table for transaction data. One row per transaction. Includes amounts, currencies, payment method, state, timestamps, risk signals, and FX breakdown.

Transactions
ColumnTypeDescription
EXTERNAL_IDstringAn external identifier created by Reach for external sharing
MERCHANT_NAMEstringName of the supplier
BUY_CURRENCYstringThe buy (ISO standard) currency code of the transaction (e.g. GBP)
SELL_CURRENCYstringThe ISO currency code of the consumer associated to the transaction (e.g. JPY)
SELL_AMOUNTnumberThe total amount to charge to the consumer
PAYMENT_MODELstringThe payment model in use for the transaction
BILLING_COUNTRY_CODEstringThe ISO country code associated to the payment device (e.g. NZ)
STATEstringThe current state of the transaction (e.g. Authorized)
THREE_DS2_ENABLEDbooleanTrue if 3DS2 is supported by the supplier and payment features
MERCHANT_REFERENCE_IDstringOptional reference data for this transaction by the supplier
OFFERED_BUY_AMOUNTnumberThe amount to be disbursed to the supplier once the transaction completes
SELL_BREAKDOWN_PRODUCTnumberThe breakdown of the sell amount charged to the shopper, specifically for the product being sold
SELL_BREAKDOWN_SHIPPINGnumberThe breakdown of the sell amount charged to the shopper, specifically for the shipping cost charged
SELL_BREAKDOWN_DUTYnumberThe breakdown of the sell amount charged to the shopper, specifically for the duty cost charged
SELL_BREAKDOWN_TAXnumberThe breakdown of the sell amount charged to the shopper, specifically for the tax charged
SELL_BREAKDOWN_FINANCINGnumberThe breakdown of the sell amount charged to the shopper, specifically for the financing cost charged
MERCHANT_BUY_BREAKDOWN_PRODUCTnumberThe breakdown of the supplier buy amount, specifically for the product being sold
MERCHANT_BUY_BREAKDOWN_SHIPPINGnumberThe breakdown of the supplier buy amount, specifically for the shipping costs
MERCHANT_BUY_BREAKDOWN_DUTYnumberThe breakdown of the supplier buy amount, specifically for the duty costs
MERCHANT_BUY_BREAKDOWN_TAXnumberThe breakdown of the supplier buy amount, specifically for the tax charged
MERCHANT_BUY_BREAKDOWN_FINANCINGnumberThe breakdown of the supplier buy amount, specifically for the financing cost charged
REFUND_SELL_AMOUNTnumberThe sum of all refund amounts associated with this transaction, in units of sell currency
RAW_AMOUNTnumberThe raw amount value specified by the supplier
STOREstringThe supplier identifier for the store associated with this transaction
INSTALMENTSnumberThe number of instalments in which the amount is collected
CONSUMER_HASHED_EMAIL_ADDRESSstringThe consumer hashed email address
CONSUMER_PERSON_IDnumberAn identifier used to join consumer PII information associated with the transaction
CONSIGNEE_PERSON_IDnumberAn identifier used to join consignee PII information associated with the transaction
METHODstringThe payment method name associated with the transaction (e.g. MC)
CLASSstringA broader type classification for the transaction payment method (e.g. Card, Online, Offline)
PAYMENT_METHOD_DETAIL_IDnumberAn identifier to join payment method properties
PAYMENT_METHOD_DISPLAY_NAMEstringThe display name of the payment type (e.g. MasterCard)
AUTHORIZED_TIMESTAMPtimestampThe datetime in UTC when the transaction entered the Authorized state
PROCESSED_TIMESTAMPtimestampThe datetime in UTC when the transaction entered the PaymentProcessed state
PAYMENT_RESULTstringThe payment result mapped from a payment provider error code
PAYMENT_ERROR_TEXT_RAWstringThe text Reach has mapped to the payment error code
SHIPPING_COUNTRY_CODEstringThe ISO standard country code the transaction was shipped to
MERCHANT_DEFAULT_CURRENCYstringThe ISO standard default currency of the supplier account
ORDER_EXTERNAL_IDstringAn external identifier for the order associated with the transaction
ORDER_CREATED_ONtimestampThe datetime the order was originally created
MERCHANT_ORDER_IDstringThe supplier's order ID
SELL_AMOUNT_MERCHANTnumberThe sell amount converted to the supplier's default currency
AUTHORIZED_OR_NOTstringIdentifies if the transaction is considered authorized, not authorized, or excluded
CONTRACT_TXN_TYPEstringIdentifies if the transaction is a purchase opening, non-purchase opening, subsequent contract, or non-contract transaction
OPENING_CONTRACT_TXNbooleanTrue if the transaction is a non-purchase contract opening transaction
CHALLENGE_FLOW_3DSstringIdentifies if the transaction went through a frictionless or challenge 3DS flow
RISK_SCOREstringRisk score calculated in Kount system
CARD_VERIFICATION_CODE_RESULTstringCVC result from card provider's verification checks
ADDRESS_VERIFICATION_RESULTstringAddress result from card provider's verification checks
PAYMENT_ERROR_TEXTstringThe payment error text Reach has mapped to the error codes received from a processor
LAST_UPDATED_ONtimestampThe last time the transaction was updated
START_TIMEtimestampThe UTC datetime the transaction was initiated

Join key reference

The six datasets form a star schema centered on TRANSACTIONS. The diagram below shows the join keys.

Use the following keys to join the datasets that best suit your needs.

Transactions
To join…Use this key
TRANSACTIONSCHARGEBACKSTRANSACTIONS.EXTERNAL_ID = CHARGEBACKS.EXTERNAL_ID
TRANSACTIONSPAYMENT_METHOD_DETAILSTRANSACTIONS.PAYMENT_METHOD_DETAIL_ID = PAYMENT_METHOD_DETAILS.PAYMENT_METHOD_DETAIL_ID
TRANSACTIONSORDER_DETAILS`TRANSACTIONS.ORDER_EXTERNAL_ID = ORDER_DETAILS.ORDER_EXTERNAL_ID`
TRANSACTIONSPERSONS for consumerTRANSACTIONS.CONSUMER_PERSON_ID = PERSONS.PERSON_ID
TRANSACTIONSPERSONS for consigneeTRANSACTIONS.CONSIGNEE_PERSON_ID = PERSONS.PERSON_ID
TRANSACTIONSSETTLEMENT_DETAILSTRANSACTIONS.ORDER_EXTERNAL_ID = SETTLEMENT_DETAILS.ORDER_ID

Querying your dataset

Use the following basic SQL queries to extract key data from the six datasets.

All transactions with payment method details

Joins the TRANSACTIONS and PAYMENT_METHOD_DETAILS datasets to show each transaction alongside the card or payment method used, useful for analyzing payment method performance or troubleshooting declines.

SELECT
    t.EXTERNAL_ID,
    t.MERCHANT_NAME,
    t.SELL_AMOUNT,
    t.SELL_CURRENCY,
    t.STATE,
    t.AUTHORIZED_TIMESTAMP,
    p.BIN,
    p.TYPE          AS CARD_TYPE,
    p.ISSUING_COUNTRY
FROM      TRANSACTIONS          t
LEFT JOIN PAYMENT_METHOD_DETAILS p
       ON t.PAYMENT_METHOD_DETAIL_ID = p.PAYMENT_METHOD_DETAIL_ID
WHERE t.STATE = 'Authorized';

Net settlement by order with billing country

Joins the TRANSACTIONS and SETTLEMENT_DETAILS datasets to reconcile what was charged to the consumer against what was settled to the supplier, including fees and FX rate applied.

SELECT
    t.ORDER_EXTERNAL_ID,
    t.MERCHANT_ORDER_ID,
    t.BILLING_COUNTRY_CODE,
    t.SELL_CURRENCY,
    t.SELL_AMOUNT,
    s.NET_AMOUNT,
    s.SETTLEMENT_CURRENCY,
    s.SETTLEMENT_DATE
FROM      TRANSACTIONS     t
LEFT JOIN SETTLEMENT_DETAILS s
       ON t.ORDER_EXTERNAL_ID = s.ORDER_ID
WHERE s.LINE_TYPE = 'Sale';

Disputed transactions with consumer billing details

Joins the TRANSACTIONS, CHARGEBACKS and PERSONS datasets to surface the consumer's billing details for any disputed transaction, useful for fraud investigation or chargeback response preparation.

SELECT
    t.EXTERNAL_ID,
    t.MERCHANT_NAME,
    t.SELL_AMOUNT,
    t.SELL_CURRENCY,
    cb.CB_DATE,
    cb.CHARGEBACK_REASON,
    cb.CHARGEBACK_AMOUNT,
    cb.WON_OR_LOST,
    per.BILLING_NAME,
    per.BILLING_COUNTRY
FROM      TRANSACTIONS t
JOIN      CHARGEBACKS  cb  ON t.EXTERNAL_ID         = cb.EXTERNAL_ID
LEFT JOIN PERSONS      per ON t.CONSUMER_PERSON_ID  = per.PERSON_ID;

Order line items for a specific order

Joins the TRANSACTIONS and ORDER_DETAILS datasets to break down an order into its individual SKUs, quantities, and prices, useful for reconciling order-level data against line-item detail.

SELECT
    t.ORDER_EXTERNAL_ID,
    t.MERCHANT_ORDER_ID,
    od.MERCHANT_SKU,
    od.QUANTITY,
    od.CONSUMER_PRICE,
    od.CONSUMER_CURRENCY
FROM      TRANSACTIONS  t
JOIN      ORDER_DETAILS od
       ON t.ORDER_EXTERNAL_ID = od.ORDER_EXTERNAL_ID
WHERE t.MERCHANT_ORDER_ID = '<your-order-id>';
For additional assistance or inquiries

contact your Reach representative or our support team at [email protected].