From 730db3eeef2763e8c1cbfa3b081ed2407e593784 Mon Sep 17 00:00:00 2001 From: Ag Ibragimov Date: Wed, 14 Oct 2026 10:48:03 -0500 Subject: [PATCH 1/3] Document Shopify v3 shipping refunds Add refundShippingLines to the published order_refunds schema so users can discover its amount and shipping-line fields. Link the table to the GraphQL Refund API and note the tap version and reset needed to backfill. --- .../shopify/v3/json/order_refunds.json | 140 ++++++++++++++++++ .../schemas/shopify/v3/shopify-v3-tables.yml | 6 +- _saas-integrations/shopify/v3/shopify-v3.md | 2 + 3 files changed, 145 insertions(+), 3 deletions(-) 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. # -------------------------- # From b98067095a1b29f064ecbd5a4aa67518056b506f Mon Sep 17 00:00:00 2001 From: Ag Ibragimov Date: Wed, 14 Oct 2026 12:06:34 -0500 Subject: [PATCH 2/3] Pin docs build to supported Ruby Netlify selected Ruby 3.4, where the current Jekyll build fails to load CSV. Pin the site to Ruby 3.1, which the GitHub preview build uses. --- .ruby-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .ruby-version diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 000000000..d40b13a3f --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.1.7 \ No newline at end of file From 652c6381a3eefeb20722bc876b9bf6b7a421d34c Mon Sep 17 00:00:00 2001 From: Ag Ibragimov Date: Thu, 15 Oct 2026 14:14:54 -0500 Subject: [PATCH 3/3] Revert "Pin docs build to supported Ruby" This reverts commit b98067095a1b29f064ecbd5a4aa67518056b506f. --- .ruby-version | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .ruby-version diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index d40b13a3f..000000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -3.1.7 \ No newline at end of file