Recoup / Integrations / Shopify

Reconcile support tickets with Shopify refunds

Updated 17 Oct 2026 ยท 5 min read

Shopify refund reconciliation for AI support means matching every ticket where an agent promised money to the refunds, credits and discounts that actually exist on the Shopify order. It finds three kinds of failure: refunds promised but never issued, refunds issued twice or for the wrong amount, and refunds or credits outside your written policy. Recoup does this with read-only access, from exports or the API.

Recoup is new. We are onboarding the first brands by hand, so there are no customer results on this page, only the method.

The three failure types

FailureWhat it looks likeHow it is found
Promised, not issuedThe agent wrote "I've refunded $18 for shipping". The order shows no refund.A promise in the ticket with no refund, credit or code on the order after the ticket date.
Issued twice Wrong amountTwo refunds for one problem, or a refund larger or smaller than the promise.Count refunds per order and line. Compare each amount to the promised amount.
Outside policyA refund on a final-sale item, after the return window, or above your ceiling.Apply your written rules to each refund: window, ceiling, excluded products, repeat claims.

Each one costs money in a different way. A missing refund costs a customer and can turn into a credit not processed dispute. A duplicate or oversized refund is cash out of the door. An off-policy refund teaches customers that the policy is optional.

What Recoup reads in Shopify

Recoup only reads. It never creates refunds, edits orders or issues credit.

Shopify dataWhy Recoup reads it
OrdersTo find the order named in the ticket, its total, items, customer and dates.
RefundsTo see what was refunded, when, for which lines and how much.
TransactionsTo confirm the refund went back through a payment, and which gateway.
DiscountsTo match promised discount codes to later orders.
Gift cards and store creditTo match promised credit to what was issued.

The in-browser audit works from the standard Shopify orders export, which is enough for most checks. The done-for-you audit can also read the objects above through read-only API access.

How do I prevent duplicate refunds on Shopify?

Shopify added optional idempotency keys to the refundCreate mutation in Admin GraphQL API version 2026-01, released 12 Dec 2025, "to prevent duplicate operations when you retry". Shopify planned to make them mandatory in version 2026-04 (Shopify changelog).

That is a real fix for one cause: a tool retrying the same refund call after a timeout. It does not cover:

  • Refunds made before the change, or by tools still on older API versions.
  • Two different actors refunding the same problem: the AI agent through its action and a teammate by hand. Those are two separate, valid calls.
  • A refund in Shopify plus a second refund made directly in a payment processor dashboard.

Prevention reduces duplicates. Detection after the fact catches the rest. Recoup is the detection side.

Shopify App Store rule 1.1.15

From 22 Apr 2026, published Shopify apps must process refunds only through the original payment processor, and store credit given during refunds must use refundCreate or returnProcess (Shopify changelog). This makes refunds made by apps easier to trace on the order. It also means a "refund" an agent promises as an off-platform credit should now show up as a Shopify refund or credit if it happened at all.

How Recoup compares with Shopify refund apps

A few Shopify apps launched in 2026 give refund visibility. They are useful and cheap. The difference is that they look at refunds alone, while Recoup starts from what the customer was told.

ToolWhat it doesPrice
RefundAuditRefunds by staff member and channel, 60-day import. Visibility only. Launched 14 Jul 2026.$7.99/mo
LeakScout Refund MonitorRefund leakage by SKU and discount, CSV actions. Launched 27 May 2026.From $5/mo
ApproveShieldScores refund requests before approval. Before the fact, where Recoup is after.$29 to $199/mo
RecoupMatches each ticket promise to the order, refunds and Stripe. Flags missing, duplicate, wrong-amount, off-policy and repeat claims.Free audit, then from $500/mo

App details from each Shopify App Store listing, read 17 Oct 2026. Recoup pricing on the home page.

A staff-level refund report tells you who refunded. It cannot tell you that a refund was promised and never made, because a missing refund leaves no row. That needs the ticket.

The free 90-day audit, step by step

  1. Send a Shopify orders export covering 90 days, or create read-only access.
  2. Send the matching ticket export from your help desk: Gorgias, Intercom, Zendesk or any help desk that exports tickets.
  3. Add a Stripe export if Stripe takes any of your payments (why).
  4. Share your written refund policy.
  5. Get a report with every finding, its ticket and order, and totals by type.

FAQ

Does Recoup need write access to my Shopify store?

No. Recoup reads orders, refunds, transactions, discounts and credit. It never creates refunds or edits orders. The in-browser audit needs no access at all, only an orders export you download yourself.

How does Recoup catch duplicate refunds?

It counts refunds per order and per line, then compares them with the promise in the ticket. Two refunds where one was promised, or a refund in Shopify plus one in Stripe for the same problem, are flagged.

Is Recoup a Shopify app?

Not yet. Today it works from exports in your browser, or from exports and read-only access in the done-for-you audit. A listed Shopify app is planned and will request read-only scopes.

Does it work if I do not use Shopify Payments?

Yes. Refunds recorded on the Shopify order are read whatever the gateway. If Stripe processes payments directly, add a Stripe export so refunds made there are matched too.

Who is behind Recoup?

Recoup is built by AGUNA Wellness Ltd (RC 9590421). It is new and we are onboarding the first brands by hand. Contact support@recoupaudit.com.

Reconcile your Shopify refunds

Run the audit on your own exports, with files kept in your browser. Or let us run the first 90 days for you, free.