diff --git a/_data/taps/schemas/shopify/v3/json/order_refunds.json b/_data/taps/schemas/shopify/v3/json/order_refunds.json index a08d0b63a..da1633442 100644 --- a/_data/taps/schemas/shopify/v3/json/order_refunds.json +++ b/_data/taps/schemas/shopify/v3/json/order_refunds.json @@ -992,6 +992,146 @@ } } }, + "refundShippingLines": { + "type": [ + "null", + "array" + ], + "items": { + "type": [ + "null", + "object" + ], + "properties": { + "id": { + "type": [ + "null", + "string" + ] + }, + "subtotalAmountSet": { + "type": [ + "null", + "object" + ], + "properties": { + "presentmentMoney": { + "type": [ + "null", + "object" + ], + "properties": { + "amount": { + "type": [ + "null", + "string" + ], + "format": "singer.decimal" + }, + "currencyCode": { + "type": [ + "null", + "string" + ] + } + } + }, + "shopMoney": { + "type": [ + "null", + "object" + ], + "properties": { + "amount": { + "type": [ + "null", + "string" + ], + "format": "singer.decimal" + }, + "currencyCode": { + "type": [ + "null", + "string" + ] + } + } + } + } + }, + "taxAmountSet": { + "type": [ + "null", + "object" + ], + "properties": { + "presentmentMoney": { + "type": [ + "null", + "object" + ], + "properties": { + "amount": { + "type": [ + "null", + "string" + ], + "format": "singer.decimal" + }, + "currencyCode": { + "type": [ + "null", + "string" + ] + } + } + }, + "shopMoney": { + "type": [ + "null", + "object" + ], + "properties": { + "amount": { + "type": [ + "null", + "string" + ], + "format": "singer.decimal" + }, + "currencyCode": { + "type": [ + "null", + "string" + ] + } + } + } + } + }, + "shippingLine": { + "type": [ + "null", + "object" + ], + "properties": { + "id": { + "type": [ + "null", + "string" + ] + }, + "title": { + "type": [ + "null", + "string" + ] + } + } + } + } + } + }, "updatedAt": { "type": [ "null", diff --git a/_data/taps/schemas/shopify/v3/shopify-v3-tables.yml b/_data/taps/schemas/shopify/v3/shopify-v3-tables.yml index 01fbd6374..1d46c89c0 100644 --- a/_data/taps/schemas/shopify/v3/shopify-v3-tables.yml +++ b/_data/taps/schemas/shopify/v3/shopify-v3-tables.yml @@ -202,13 +202,13 @@ tables: primary-key: id replication-key: updatedAt - name: order_refunds - description: 'The `{{ table.name }}` table contains info about refunds associated - with orders. + description: 'The `{{ table.name }}` table contains info about refunds and refunded shipping + associated with orders. ' links: singer-schema: https://github.com/singer-io/tap-shopify/blob/master/tap_shopify/schemas/order_refunds.json - api-method: https://shopify.dev/docs/admin-api/rest/reference/orders/refund?api[version]=2019-07 + api-method: https://shopify.dev/docs/api/admin-graphql/2025-07/objects/Refund table-details: replication-method: Key-based Incremental primary-key: id diff --git a/_saas-integrations/shopify/v3/shopify-v3.md b/_saas-integrations/shopify/v3/shopify-v3.md index 03eeb1d3b..97adeac7a 100644 --- a/_saas-integrations/shopify/v3/shopify-v3.md +++ b/_saas-integrations/shopify/v3/shopify-v3.md @@ -199,6 +199,8 @@ replication-sections: To extract order refund data, Stitch queries every order in your account. If you have the `order_refunds` table selected for replication, the process can potentially be very slow depending on how many orders and refunds exist in your {{ integration.display_name }} account. As tables are extracted one at a time, this could cause extraction to not proceed for days at a time. To ensure timely replication of your other selected tables, consider creating a separate integration for only the `order_refunds` table. **Note**: Creating a separate integration for your `order_refunds` table may negatively affect your {{ integration.display_name }} API quota. + + The `order_refunds` table includes `refundShippingLines`, which contains each refund's shipping refund amounts and associated shipping line. The field is available in tap-shopify 3.14.0 and later. Select it and reset the `order_refunds` table to backfill shipping refunds for existing orders. # -------------------------- #