Sample report
This is what a Recoup audit looks like. It ran on the built-in sample store: 60 tickets closed by an AI support agent, 85 Shopify orders and the matching Stripe payments and refunds. Recoup found 39 money promises. 18 matched the ledger. 21 did not, with $744.25 at stake. Each finding below shows the exact sentence the agent wrote and the ledger line it was checked against.
Summary
| Item | Result |
|---|---|
| Tickets scanned | 60 |
| Tickets with a money promise | 38 |
| Money promises found | 39 |
| Matched the ledger | 18 |
| Mismatches | 21 (54%) |
| Money at stake | $744.25 |
Mismatches by type
| Type | Count | At stake |
|---|---|---|
| Promised, not issued | 4 | $222.90 |
| Issued twice | 3 | $144.00 |
| Wrong amount | 3 | $76.20 |
| Outside policy | 5 | $181.20 |
| Repeat claimant | 3 | $74.95 |
| No order found | 3 | $45.00 |
| Total | 21 | $744.25 |
Policy used for the sample: discounts up to 20%, store credit up to $50, automatic refunds up to $150, a 30-day refund window, and a repeat claimant at 3 claims. In a real audit we write your own policy into the rules.
Every mismatch
Promised, not issued (4)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48214147 2026-08-20 | #1055 | “I've issued a full refund for order #1055.” | Shopify refunded $0.00 on #1055; Stripe: no successful refund, 1 failed refund of $101.95 The agent told the customer a refund was done. #1055 shows $0.00 refunded and Stripe has no successful refund for this order or email within 14 days of the ticket. A Stripe refund of $101.95 failed on 20 Aug 2026 and was not retried. | $101.95 |
| 48213532 2026-07-06 | #1023 | “I've refunded your order. You'll see it in 3-5 business days.” | Shopify refunded $0.00 on #1023; Stripe: no successful refund The agent told the customer a refund was done. #1023 shows $0.00 refunded and Stripe has no successful refund for this order or email within 14 days of the ticket. | $64.95 |
| 48214436 2026-09-09 | #1069 | “Sorry Henry, we'll refund the $32.00 for the bottle today.” | Shopify refunded $0.00 on #1069; Stripe: no successful refund The agent told the customer a refund of $32.00 was done. #1069 shows $0.00 refunded and Stripe has no successful refund for this order or email within 14 days of the ticket. | $32.00 |
| 48213725 2026-07-19 | #1031 | “Refund has been processed for $24.00 for the socks.” | Shopify refunded $0.00 on #1031; Stripe: no successful refund The agent told the customer a refund of $24.00 was done. #1031 shows $0.00 refunded and Stripe has no successful refund for this order or email within 14 days of the ticket. | $24.00 |
Issued twice (3)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48213924 2026-08-03 | #1042 | “I've refunded $89.00 for the jacket.” | Shopify refunded $178.00 on #1042; Stripe: 2 refunds, $178.00 Stripe shows 2 refunds of $89.00 on the same order 3 hours apart, and total refunds of $178.00 are $82.05 more than the order total of $95.95. | $89.00 |
| 48214539 2026-09-21 | #1072 | “I've refunded $60.00 for the zipper issue.” | Shopify refunded $160.00 on #1072; Stripe: 2 refunds, $160.00 Total refunds of $160.00 are $31.00 more than the order total of $129.00. | $31.00 |
| 48214380 2026-09-06 | #1067 | “Refund of $24.00 has been issued for the socks.” | Shopify refunded $48.00 on #1067; Stripe: 2 refunds, $48.00 Stripe shows 2 refunds of $24.00 on the same order 20 hours apart. | $24.00 |
Wrong amount (3)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48214242 2026-08-28 | #1063 | “I've cancelled your order and you'll receive a full refund of $132.00.” | Shopify refunded $74.00 on #1063; Stripe: 1 refund, $74.00 The agent promised $132.00 but the ledger shows $74.00 refunded, a difference of $58.00. | $58.00 |
| 48213604 2026-07-13 | #1028 | “I've refunded $12.50 for the shipping delay.” | Shopify refunded $1.25 on #1028; Stripe: 1 refund, $1.25 The agent promised $12.50 but the ledger shows $1.25 refunded, a difference of $11.25. | $11.25 |
| 48213098 2026-06-22 | #1012 | “I've refunded your order in full.” | Shopify refunded $95.00 on #1012; Stripe: 1 refund, $95.00 The agent promised a full refund of the $101.95 order but the ledger shows $95.00 refunded, a difference of $6.95. | $6.95 |
Outside policy (5)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48214002 2026-08-11 | #1002 | “I've refunded $74.00 for the pants.” | Shopify refunded $74.00 on #1002; Stripe: 1 refund, $74.00 The refund was requested 69 days after #1002 was placed on 3 Jun 2026. Your refund window is 30 days. | $74.00 |
| 48214546 2026-09-23 | #1080 | “I've refunded $210.00 to your card.” | Shopify refunded $210.00 on #1080; Stripe: 1 refund, $210.00 An AI agent promised a $210.00 refund. Your policy sends refunds above $150.00 to a human. | $60.00 |
| 48214508 2026-09-20 | #1078 | “I've added $75.00 in store credit to your account.” | Gift cards and store credit are not in these exports. Check the amount in Shopify. The agent gave $75.00 in store credit. Your policy allows up to $50.00. | $25.00 |
| 48214463 2026-09-17 | #1075 | “Use code NORTHLINE40 for 40% off your next order.” | Code NORTHLINE40 not used on any order in this export yet The agent offered 40% off. Your policy allows up to 20%. On an order like #1075 ($68.00) the extra 20% is $13.60. | $13.60 |
| 48214624 2026-09-30 | #1083 | “I can offer 30% off your next order with code SORRY30.” | Code SORRY30 not used on any order in this export yet The agent offered 30% off. Your policy allows up to 20%. On an order like #1083 ($86.00) the extra 10% is $8.60. | $8.60 |
Repeat claimant (3)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48214308 2026-09-03 | #1064 | “I've refunded your order in full.” | Shopify refunded $34.95 on #1064; Stripe: 1 refund, $34.95 This is money promise number 3 to riley.morgan@example.com in 90 days (tickets 48214201, 48214279, 48214308). Your threshold is 3. | $34.95 |
| 48214444 2026-09-10 | #1064 | “I've added $30.00 store credit to your account.” | Gift cards and store credit are not in these exports. Check the amount in Shopify. This is money promise number 4 to riley.morgan@example.com in 90 days (tickets 48214201, 48214279, 48214308, 48214444). Your threshold is 3. | $30.00 |
| 48214395 2026-09-06 | #1056 | “Sorry Sam, I've refunded $10.00 for the late delivery.” | Shopify refunded $10.00 on #1056; Stripe: 1 refund, $10.00 This is money promise number 3 to sam.taylor@example.com in 90 days (tickets 48214083, 48214194, 48214395). Your threshold is 3. | $10.00 |
No order found (3)
| Ticket | Order | The agent said | The ledger shows | At stake |
|---|---|---|---|---|
| 48214350 2026-09-03 | none | “I've refunded $45.00 for order #9999.” | No matching order Order #9999 is not in the orders export and no order for felix.baker@example.net was placed in the 90 days before the ticket, so the promise cannot be checked against the ledger. | $45.00 |
| 48214176 2026-08-21 | none | “I've refunded your order. You'll see it in 3-5 business days.” | No matching order No order for guest.buyer@example.net was placed in the 90 days before the ticket, so the promise cannot be checked against the ledger. | $0.00 |
| 48214586 2026-09-28 | none | “Sorry Victoria, we'll send a replacement beanie this week.” | No matching order No order for victoria.ward@example.com was placed in the 90 days before the ticket, so the promise cannot be checked against the ledger. | $0.00 |
Run it on your own store
Run the same audit in your browser on your own exports. Your files never leave your browser. Or have us run your last 90 days: $299, paid only after you see the report, and free if we find less than $299 at stake.