---
updatedAt: 2026-07-23T19:53:33.000Z
agentTools:
  projectIndex: https://docs.withreach.com/llms.txt
---

# 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](https://docs.withreach.com/docs/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](https://docs.withreach.com/docs/reach-data-share#datasets) you would like to receive.

<HeadingWithPill title="Snowflake share" label="Available now" level={3} pillRight bg="#FFE1C6" color="#1E1A15" boxBg="#f3f3f3" />

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.

<HeadingWithPill title="Cloud storage file drop" label="Available soon" level={3} pillRight  bg="#EFE3FD" color="#1E1A15" boxBg="#f3f3f3" />

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.

<CardCallout type="brand" title="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.
</CardCallout>

<HeadingWithPill title="Snowflake reader account" label="Available on request" level={3} pillRight bg="#E0F1EF" color="#1E1A15" boxBg="#f3f3f3" />

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.&#x20;

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.

<TimelineV2
  events={[
  { title: 'Choose your datasets', description: 'Choose any number of the six datasets. You can add additional datasets at any time by contacting your Reach representative.' },
	{ title: 'Choose your delivery method', description: 'Review which delivery method fits your infrastructure' },
  { title: 'Gather the details for your chosen delivery method', description: 'Collect the requisite information. See the table below for details.' },
  { title: 'Send the details to your Reach representative', description: '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.

<DataTable
  caption="Required information"
  headers="Method|What Reach needs from you|What Reach provides back|Effort level"

  columnTypes="text|text|text|type"
>
  <DataTableRow data="Snowflake share|Your Snowflake org account, account locator, and region (from the SQL query below)|An invite—accept it in your Snowflake account|Low" />
  <DataTableRow data="Cloud storage file drop (not yet available)|Requires collaboration to determine the best configuration for your business|Implementation instructions|Moderate" />
  <DataTableRow data="Snowflake reader account|A contact email address for the account login|Reader account URL and login credentials|Low" />
</DataTable>

#### 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.&#x20;

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

```sql SQL query for Snowflake account identification
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.&#x20;

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

```text Snowflake share 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         :
```
```text Cloud storage file drop request template
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.
```
```text Snowflake reader request template
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&#x20;

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

<ReachDataCard title="Download example chargeback dataset" link="https://docs.google.com/spreadsheets/d/1FRlADabgFMieDhAmzAyxYn_mHb8JOurKwC3J_Gc8wo0/view?usp=sharing" />

<DataTable
  caption="Chargebacks"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="EXTERNAL_ID|string|An external identifier set by Reach" />
  <DataTableRow data="MERCHANT_REFERENCE_ID|string|Optional reference data for transaction. Set by the supplier" />
  <DataTableRow data="CHARGEBACK_AMOUNT|number|The total amount charged for the dispute from the cardholder in the customer's currency" />
  <DataTableRow data="CHARGEBACK_CURRENCY|string|The currency for the disputed transaction, the customer's currency" />
  <DataTableRow data="CHARGEBACK_DESCRIPTION|string|The description for the dispute reason provided from the payment service provider" />
  <DataTableRow data="CHARGEBACK_REASON|string|The categorized reason for the payment method provided from the payment service provider" />
  <DataTableRow data="CB_AMOUNT_USD|number|The total amount charged for the dispute from the cardholder in USD" />
  <DataTableRow data="CB_DATE|date|The date in which the dispute was submitted to the payment service provider" />
  <DataTableRow data="WON_OR_LOST|string|The final state of the dispute — won or lost" />
  <DataTableRow data="PAYMENT_METHOD|string|The shortened name of the payment type" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the row was updated" />
</DataTable>

### Order details dataset

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

<ReachDataCard title="Download example order details dataset" link="https://docs.google.com/spreadsheets/d/1w25D3SfGBY8_RTNKEOssbYyaf3yp39-CoQHHoZjK7NU/view?usp=sharing" />

<DataTable
  caption="Order Details"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="ORDER_EXTERNAL_ID|string|An external identifier for the order associated with the transaction set by Reach" />
  <DataTableRow data="MERCHANT_ORDER_ID|string|An external identifier for the order associated with the transaction set by the supplier" />
  <DataTableRow data="MERCHANT_SKU|string|The Stock Keeping Unit (SKU) identifier the supplier has associated to the product" />
  <DataTableRow data="CONSUMER_CURRENCY|string|The ISO currency code of the consumer purchase" />
  <DataTableRow data="QUANTITY|number|The number of SKUs included in the order line item detail" />
  <DataTableRow data="CONSUMER_PRICE|number|The consumer price of the product" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the row was updated" />
</DataTable>

### Payment method details dataset

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

<ReachDataCard title="Download example payment method details dataset" link="https://docs.google.com/spreadsheets/d/1djJbP10n5k8Rqs0nNrxTl3M4hnYG9EB4onns-7s_aqo/view?usp=sharing" />

<DataTable
  caption="Payment Method Details"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="PAYMENT_METHOD_DETAIL_ID|number|An identifier to join payment method properties" />
  <DataTableRow data="PAYMENT_METHOD|string|The payment option used by the consumer" />
  <DataTableRow data="BIN|number|Bank identification number of a card" />
  <DataTableRow data="EXPIRY|date|Payment method is valid before this date" />
  <DataTableRow data="ACCOUNT_IDENTIFIER|string|Identifying string for the payment account belonging to the end customer" />
  <DataTableRow data="PAYMENT_MODEL|string|Encapsulates whether the transaction is a cardholder-initiated transaction (CIT), mail or telephone order (MOTO), or a merchant-initiated transaction (MIT) " />
  <DataTableRow data="ISSUING_COUNTRY|string|Issuing country, if known" />
  <DataTableRow data="ISSUER_NAME|string|Name of the issuer, if known" />
  <DataTableRow data="TYPE|string|Type of card (credit/debit), if known" />
  <DataTableRow data="CORPORATE|string|Corporate card indicator, if known" />
  <DataTableRow data="PRE_PAID|boolean|Indicates if the card is a prepaid card" />
  <DataTableRow data="DESCRIPTION|string|A description associated to the payment method" />
  <DataTableRow data="VIRTUAL|boolean|Indicates if the card is virtual" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the row was updated" />
</DataTable>

### 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`.

<ReachDataCard title="Download example persons dataset" link="https://docs.google.com/spreadsheets/d/16xc6Bsm10ffXYt7c_tvQWP-d1Q8JfpKlf0rGDtW76ZY/view?usp=sharing" />

<DataTable
  caption="Persons"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="PERSON_ID|number|Reach created identifier. Joins to `TRANSACTIONS.CONSUMER_PERSON_ID` or `TRANSACTIONS.CONSIGNEE_PERSON_ID`." />
  <DataTableRow data="MERCHANT_CONSUMER_PROFILE_ID|string|An identifier created by supplier to identify consumer profiles in their datasets" />
  <DataTableRow data="HASHED_EMAIL_ADDRESS|string|The consumer hashed email address" />
  <DataTableRow data="BILLING_EMAIL_ADDRESS|string|The consumer's billing email address" />
  <DataTableRow data="BILLING_NAME|string|Name of the consumer" />
  <DataTableRow data="BILLING_COUNTRY|string|Country code of the consumer" />
  <DataTableRow data="BILLING_REGION|string|Region or state of the consumer" />
  <DataTableRow data="BILLING_POSTAL_CODE|string|Postal code of the consumer" />
  <DataTableRow data="BILLING_PHONE|string|Phone number of the consumer" />
  <DataTableRow data="SHIPPING_EMAIL_ADDRESS|string|The consignee's shipping email address" />
  <DataTableRow data="SHIPPING_NAME|string|Name of the consignee" />
  <DataTableRow data="SHIPPING_COUNTRY|string|Country code of the consignee" />
  <DataTableRow data="SHIPPING_REGION|string|Region or state of the consignee" />
  <DataTableRow data="SHIPPING_POSTAL_CODE|string|Postal code of the consignee" />
  <DataTableRow data="SHIPPING_PHONE|string|Phone number of the consignee" />
  <DataTableRow data="DEVICE_IP|string|IP address of the associated device used" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the row was updated" />
</DataTable>

### Settlement details dataset

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

<ReachDataCard title="Download example settlement details dataset" link="https://docs.google.com/spreadsheets/d/1_32bzZgha6tZ2bWLmEqZJbdRlrSAh0adpwbK6Yyl3NY/view?usp=sharing" />

<DataTable
  caption="Settlement Details"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="LINE_TYPE|string|Settlement line type: Sale, Refund, Chargeback, or Fee" />
  <DataTableRow data="ORDER_ID|string|Order identifier" />
  <DataTableRow data="MERCHANT_ORDER_ID|string|Supplier-assigned order identifier" />
  <DataTableRow data="REFUND_ID|string|Refund identifier, if applicable" />
  <DataTableRow data="MERCHANT_REFUND_ID|string|Supplier-assigned refund identifier, if applicable" />
  <DataTableRow data="ORDER_DATE|date|Date of the original order" />
  <DataTableRow data="PAYMENT_METHOD|string|Payment method used for the settlement" />
  <DataTableRow data="SELL_CURRENCY|string|Currency of the consumer sell amount" />
  <DataTableRow data="SELL_AMOUNT_TOTAL|number|Total sell amount in consumer currency" />
  <DataTableRow data="SELL_AMOUNT_SUBTOTAL|number|Sell amount subtotal before tax" />
  <DataTableRow data="SELL_AMOUNT_TAX|number|Tax portion of the sell amount" />
  <DataTableRow data="SETTLEMENT_CURRENCY|string|Currency of the settlement to the supplier" />

  <DataTableRow data="SETTLEMENT_AMOUNT_TOTAL|number|Total settlement amount in settlement currency" />
  <DataTableRow data="SETTLEMENT_AMOUNT_TAX|number|Tax portion of the settlement amount" />
  <DataTableRow data="SETTLEMENT_AMOUNT_GROSS|number|Gross settlement amount before fees" />
  <DataTableRow data="FEE_PROCESSING|number|Processing fee charged" />
  <DataTableRow data="FEE_FRAUD|number|Fraud prevention fee charged" />
  <DataTableRow data="MERCHANT_MARKUP|number|Supplier markup amount" />

  <DataTableRow data="FEE_FINANCING|number|Financing fee charged" />

  <DataTableRow data="FEE_REFUND|number|Refund fee charged" />
  <DataTableRow data="NET_AMOUNT|number|Net settlement amount after all fees" />
  <DataTableRow data="FX_RATE|number|Foreign exchange rate applied" />
  <DataTableRow data="SETTLEMENT_DATE|date|Date the settlement was processed" />
  <DataTableRow data="PROCESSED_DATE|date|Date the transaction was processed" />
  <DataTableRow data="NOTES|string|Optional settlement notes" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the row was updated" />
</DataTable>

### Transaction dataset

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

<ReachDataCard title="Download example transaction dataset" link="https://docs.google.com/spreadsheets/d/1jlLv5mv54u0aIEJHD6TngLdqMWp-IrtU2K_pDXIOSas/view?usp=sharing" />

<DataTable
  caption="Transactions"
  headers="Column|Type|Description"
  columnTypes="code|type|text"
>
  <DataTableRow data="EXTERNAL_ID|string|An external identifier created by Reach for external sharing" />
  <DataTableRow data="MERCHANT_NAME|string|Name of the supplier" />
  <DataTableRow data="BUY_CURRENCY|string|The buy (ISO standard) currency code of the transaction (e.g. GBP)" />
  <DataTableRow data="SELL_CURRENCY|string|The ISO currency code of the consumer associated to the transaction (e.g. JPY)" />
  <DataTableRow data="SELL_AMOUNT|number|The total amount to charge to the consumer" />
  <DataTableRow data="PAYMENT_MODEL|string|The payment model in use for the transaction" />
  <DataTableRow data="BILLING_COUNTRY_CODE|string|The ISO country code associated to the payment device (e.g. NZ)" />
  <DataTableRow data="STATE|string|The current state of the transaction (e.g. Authorized)" />
  <DataTableRow data="THREE_DS2_ENABLED|boolean|True if 3DS2 is supported by the supplier and payment features" />
  <DataTableRow data="MERCHANT_REFERENCE_ID|string|Optional reference data for this transaction by the supplier" />
  <DataTableRow data="OFFERED_BUY_AMOUNT|number|The amount to be disbursed to the supplier once the transaction completes" />
  <DataTableRow data="SELL_BREAKDOWN_PRODUCT|number|The breakdown of the sell amount charged to the shopper, specifically for the product being sold" />
  <DataTableRow data="SELL_BREAKDOWN_SHIPPING|number|The breakdown of the sell amount charged to the shopper, specifically for the shipping cost charged" />
  <DataTableRow data="SELL_BREAKDOWN_DUTY|number|The breakdown of the sell amount charged to the shopper, specifically for the duty cost charged" />
  <DataTableRow data="SELL_BREAKDOWN_TAX|number|The breakdown of the sell amount charged to the shopper, specifically for the tax charged" />
  <DataTableRow data="SELL_BREAKDOWN_FINANCING|number|The breakdown of the sell amount charged to the shopper, specifically for the financing cost charged" />
  <DataTableRow data="MERCHANT_BUY_BREAKDOWN_PRODUCT|number|The breakdown of the supplier buy amount, specifically for the product being sold" />
  <DataTableRow data="MERCHANT_BUY_BREAKDOWN_SHIPPING|number|The breakdown of the supplier buy amount, specifically for the shipping costs" />
  <DataTableRow data="MERCHANT_BUY_BREAKDOWN_DUTY|number|The breakdown of the supplier buy amount, specifically for the duty costs" />
  <DataTableRow data="MERCHANT_BUY_BREAKDOWN_TAX|number|The breakdown of the supplier buy amount, specifically for the tax charged" />
  <DataTableRow data="MERCHANT_BUY_BREAKDOWN_FINANCING|number|The breakdown of the supplier buy amount, specifically for the financing cost charged" />
  <DataTableRow data="REFUND_SELL_AMOUNT|number|The sum of all refund amounts associated with this transaction, in units of sell currency" />
  <DataTableRow data="RAW_AMOUNT|number|The raw amount value specified by the supplier" />
  <DataTableRow data="STORE|string|The supplier identifier for the store associated with this transaction" />
  <DataTableRow data="INSTALMENTS|number|The number of instalments in which the amount is collected" />
  <DataTableRow data="CONSUMER_HASHED_EMAIL_ADDRESS|string|The consumer hashed email address" />
  <DataTableRow data="CONSUMER_PERSON_ID|number|An identifier used to join consumer PII information associated with the transaction" />
  <DataTableRow data="CONSIGNEE_PERSON_ID|number|An identifier used to join consignee PII information associated with the transaction" />
  <DataTableRow data="METHOD|string|The payment method name associated with the transaction (e.g. MC)" />
  <DataTableRow data="CLASS|string|A broader type classification for the transaction payment method (e.g. Card, Online, Offline)" />
  <DataTableRow data="PAYMENT_METHOD_DETAIL_ID|number|An identifier to join payment method properties" />
  <DataTableRow data="PAYMENT_METHOD_DISPLAY_NAME|string|The display name of the payment type (e.g. MasterCard)" />
  <DataTableRow data="AUTHORIZED_TIMESTAMP|timestamp|The datetime in UTC when the transaction entered the Authorized state" />
  <DataTableRow data="PROCESSED_TIMESTAMP|timestamp|The datetime in UTC when the transaction entered the PaymentProcessed state" />
  <DataTableRow data="PAYMENT_RESULT|string|The payment result mapped from a payment provider error code" />
  <DataTableRow data="PAYMENT_ERROR_TEXT_RAW|string|The text Reach has mapped to the payment error code" />
  <DataTableRow data="SHIPPING_COUNTRY_CODE|string|The ISO standard country code the transaction was shipped to" />
  <DataTableRow data="MERCHANT_DEFAULT_CURRENCY|string|The ISO standard default currency of the supplier account" />
  <DataTableRow data="ORDER_EXTERNAL_ID|string|An external identifier for the order associated with the transaction" />
  <DataTableRow data="ORDER_CREATED_ON|timestamp|The datetime the order was originally created" />
  <DataTableRow data="MERCHANT_ORDER_ID|string|The supplier's order ID" />
  <DataTableRow data="SELL_AMOUNT_MERCHANT|number|The sell amount converted to the supplier's default currency" />
  <DataTableRow data="AUTHORIZED_OR_NOT|string|Identifies if the transaction is considered authorized, not authorized, or excluded" />
  <DataTableRow data="CONTRACT_TXN_TYPE|string|Identifies if the transaction is a purchase opening, non-purchase opening, subsequent contract, or non-contract transaction" />
  <DataTableRow data="OPENING_CONTRACT_TXN|boolean|True if the transaction is a non-purchase contract opening transaction" />
  <DataTableRow data="CHALLENGE_FLOW_3DS|string|Identifies if the transaction went through a frictionless or challenge 3DS flow" />
  <DataTableRow data="RISK_SCORE|string|Risk score calculated in Kount system" />
  <DataTableRow data="CARD_VERIFICATION_CODE_RESULT|string|CVC result from card provider's verification checks" />
  <DataTableRow data="ADDRESS_VERIFICATION_RESULT|string|Address result from card provider's verification checks" />
  <DataTableRow data="PAYMENT_ERROR_TEXT|string|The payment error text Reach has mapped to the error codes received from a processor" />
  <DataTableRow data="LAST_UPDATED_ON|timestamp|The last time the transaction was updated" />
  <DataTableRow data="START_TIME|timestamp|The UTC datetime the transaction was initiated" />
</DataTable>

## Join key reference

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

![](https://files.readme.io/1c22b31e3f4865113292f2ec4f0189767780cef4b8180e8a62614015217e0624-Reach_-_Data_share_ERD.png)

Use the following keys to join the datasets that best suit your needs.&#x20;

<DataTable
  caption="Transactions"
  headers="
To join…|Use this key"
  columnTypes="text|code"
>
  <DataTableRow data="`TRANSACTIONS` → `CHARGEBACKS`|TRANSACTIONS.EXTERNAL_ID = CHARGEBACKS.EXTERNAL_ID" />
  <DataTableRow data="`TRANSACTIONS` → `PAYMENT_METHOD_DETAILS`|TRANSACTIONS.PAYMENT_METHOD_DETAIL_ID = PAYMENT_METHOD_DETAILS.PAYMENT_METHOD_DETAIL_ID" />
  <DataTableRow data="`TRANSACTIONS` → `ORDER_DETAILS`|`TRANSACTIONS.ORDER_EXTERNAL_ID = ORDER_DETAILS.ORDER_EXTERNAL_ID`" />
  <DataTableRow data="`TRANSACTIONS` → `PERSONS` for consumer|TRANSACTIONS.CONSUMER_PERSON_ID = PERSONS.PERSON_ID" />
  <DataTableRow data="`TRANSACTIONS` → `PERSONS` for consignee|TRANSACTIONS.CONSIGNEE_PERSON_ID = PERSONS.PERSON_ID" />
  <DataTableRow data="`TRANSACTIONS` → `SETTLEMENT_DETAILS`|TRANSACTIONS.ORDER_EXTERNAL_ID = SETTLEMENT_DETAILS.ORDER_ID" />
</DataTable>

## 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.

```sql Query for payment method details
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.

```sql SQL query for net settlement by order
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.

```sql SQL query for disputed transactions
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.

```sql SQL query for specific order line items
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>';
```

<div
  style={{
        marginLeft: '5px',
        marginRight: '5px', 
        color: '#FAF7F5',
        paddingLeft: '20px',
	paddingRight: '20px',
        paddingTop: '20px',
	paddingBottom: '10px',
        backgroundColor: '#1E1A15',
        maxWidth: '1000%',
	borderRadius: '10px'
      }}
>
  For additional assistance or inquiries <p style={{color:'#999177'}}>contact your Reach representative or our support team at [support@withreach.com](mailto:support@withreach.com).</p>
</div>

<br />