---
title: "Product Exchange Checks: Refunds, Stock, and Customer Choice"
description: "Product Exchange Checks: Refunds, Stock, and Customer Choice. Review practical exception decisions, evidence checks, and a copyable Genie job description."
canonical: https://www.stacksync.com/blog/product-exchange-checks-refunds-stock-and-customer-choice
last_modified: 2026-09-21
---

# Product Exchange Checks: Refunds, Stock, and Customer Choice

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

Before an exchange, check whether the units are eligible, whether the replacement is actually available, and whether the customer chose it.

Author

Ignacio Malpartida · GTM Engineer

Published

September 15, 2026

Updated

September 21, 2026

Read time

7 min read

APP TIPS

## Eligibility, customer choice, and approval answer different questions

Before an exchange, check whether the units are eligible, whether the replacement is actually available, and whether the customer chose it. Then obtain the merchant’s approval for the specific return and replacement. Collapsing these checks into a single “approved” status makes it easy to issue the wrong item or duplicate a financial remedy.

A previous refund needs line-level interpretation. Identify which units it covered and why it was issued. A shipping-charge refund is different from refunding the product itself. Do not calculate entitlement from the order’s net total alone; that number can obscure several unrelated adjustments.

![Variant unavailable: Offer verified alternatives. Wait for customer selection.; Prior refund on requested units: Review the existing remedy. No automatic duplicate compensation.; Customer chose; merchant has not approved: Request merchant approval. No return or replacement created.](https://www.stacksync.com/images/blog-highlights/genies-product-exchanges-exceptions.webp)

*Variant unavailable: Offer verified alternatives. Wait for customer selection.; Prior refund on requested units: Review the existing remedy. No automatic duplicate compensation.; Customer chose; merchant has not approved: Request merchant approval. No return or replacement created.*

## Evidence needed to resolve the exception

Use this exception guide when reviewing a proposed Genie workflow or investigating a case that cannot proceed confidently. The tables describe operational decisions to configure in your environment. They are not claims that a connected application automatically supplies your organization’s policies, identity mappings, or approval process.

| System or owner | Evidence and responsibility |
| --- | --- |
| Zendesk | Exchange request, customer choice, internal approval, and resulting order references. |
| Shopify | Original purchase, return and refund history, and approved return/replacement records. |
| NetSuite | Replacement variant availability by location. |
| Return policy | The merchant’s current eligibility rules and any approved exception. |

Required context for this workflow design.

## Offer variants without promising an allocation

List the size and color combinations supported by current NetSuite availability. Avoid suggesting that a displayed quantity reserves inventory while the customer considers the options. The availability check should include location and the stock definition your operation uses. Recheck after the response because another order may consume the units in the meantime.

If the chosen variant is no longer available, explain that through Zendesk and offer the remaining verified choices. Do not substitute a similar color to keep the exchange moving. If no suitable option remains, route the case for a policy-based decision rather than silently converting the request into a refund.

## Keep the approval attached to the exact remedy

The reviewer needs the original order line, prior remedies, selected replacement, quantities, relevant policy clause, and cost implications. A note that says “looks good” without the proposal context is difficult to apply safely after a ticket changes. Record the decision against the proposal the reviewer actually saw.

Check the ticket and original order again before creation. A second support agent may already have processed the exchange. If a return exists but no replacement reference is visible, investigate that specific gap. Do not conclude that the whole operation failed just because the final ticket update is missing. Confirmed IDs are more reliable than whether the last message was posted.

## Decision table for common exceptions

Use the condition in the first column to choose the next action. The final column describes the boundary that must remain true while the case is unresolved. Apply the organization’s actual policy and source records to the live case; do not treat an illustrative condition as proof that the condition exists.

| Observed condition | Next action | Required boundary |
| --- | --- | --- |
| Variant unavailable | Offer verified alternatives | Wait for customer selection |
| Prior refund on requested units | Review the existing remedy | No automatic duplicate compensation |
| Customer chose; merchant has not approved | Request merchant approval | No return or replacement created |
| Return exists after timeout | Link existing return and inspect replacement | No duplicate return |

Exception decisions for product exchanges.

![The underlying product exchanges process: inspect the request, apply the policy, offer actual choices, obtain approval, create and reconcile.](https://www.stacksync.com/images/blog-diagrams/genies-product-exchanges.webp)

*The underlying product exchanges process: inspect the request, apply the policy, offer actual choices, obtain approval, create and reconcile.*

## Illustrative exception and recovery

A return was created successfully but the ticket update timed out. On retry, the existing return ID is found against the original order. The workflow uses that record and investigates the replacement outcome, preventing a second return.

This example uses fictional records to show the decision logic. It is not a customer case study or a claim of measured results. In a live case, retain the actual record IDs and evidence behind each statement, and replace all illustrative quantities or timing assumptions with the approved operational inputs.

## What to record before resuming

A Zendesk exchange proposal containing original order lines, policy evidence, prior remedies, customer-selected variant, merchant approval, and confirmed return and replacement IDs.

Preserve the original finding and the evidence that resolves it. Record which person or system supplied the clarification, which proposal it applies to, and the action now permitted. Do not erase the uncertainty from the history: a later reviewer needs to understand why the case paused and why it resumed.

![Required systems feed case verification; missing evidence or decisions return to clarification before the workflow proceeds.](https://www.stacksync.com/images/blog-diagrams-mermaid/genies-product-exchanges.webp)

*Required systems feed case verification; missing evidence or decisions return to clarification before the workflow proceeds.*

## Boundaries that remain in force

- Evaluate the merchant’s policy and prior refunds at item and quantity level.
- Offer verified sizes or colors and wait for customer choice in Zendesk.
- Require merchant approval before creating either return or replacement.
- Recheck availability and existing records immediately before creation.

## Review the case before restarting

First verify that the new evidence resolves the original blocker rather than a different issue. Then check whether the case, source records, or proposed action changed during the wait. A response attached to the right ticket can still be insufficient if it refers to an earlier proposal or leaves a required quantity, identity, or approval unresolved.

Run the relevant row from the decision table as a review scenario. Confirm that the job stops at the required boundary, asks for the specified information or decision, and resumes from the confirmed state. If a write or message may already have succeeded, inspect its destination before repeating it; if this job only prepares a draft or report, verify that it stays within that output scope.

- Exchanges created with both choice and approval recorded
- Duplicate return or replacement count
- Exceptions caused by stock changes after customer selection

Track unresolved cases by their actual blocker and owner. A case waiting for clarification needs a different next action from one waiting for a confirmed result. Review the evidence when the state changes, and keep any still-unresolved completion condition visible instead of treating a successful intermediate step as the end of the work.

## Give your Genie a job description

Copy the job description below. It preserves the scope and decision boundaries of this use case. Configure the referenced systems, record relationships, policies, and approval owners in your workspace before enabling the job.

Product exchanges · Medium

Handle product exchange requests from Zendesk. Check the original Shopify order, our return policy, previous refunds, and replacement availability in NetSuite. Offer available sizes or colors and wait for the customer’s choice. Ask me to approve the return and replacement before creating them, then update the ticket with the resulting order details. Operate via Zendesk directly, not with the customer on email or so.

Paste this into “Give your Genie a job description.” [Explore Stacksync Genies](https://www.stacksync.com/ai-agents).

## Apply this in personal care: shopify variant and ERP item

A personal-care gift-set exchange depends on the original shade, size, and component configuration as well as the customer’s requested remedy. The linked guides connect that product identity to the return review without assuming a received item is resaleable or already refunded.

| Record to reconcile | Responsible owner | Rule to preserve |
| --- | --- | --- |
| Shopify variant | Ecommerce | Preserve stable variant ID and purchased shade and size options. |
| ERP item | Product operations | Own the exact product and package relationship used for operational processing. |
| Gift-set recipe | Merchandising | Version component items and quantities for each sellable set. |

An exception to plan for: **Shade name changes**. Keep stable identity and review whether the underlying product actually changed. Acceptance check for the pilot: the same shade in two sizes remains two distinct operational items.

The [personal care hub](https://www.stacksync.com/industry/cpg/personal-care) connects the broader operating context. These guides develop the specific record mappings and decisions for this application:

- [Shopify–NetSuite Sync for Personal Care Brands: Align Shades, Sizes, and Gift Sets](https://www.stacksync.com/blog/shopify-netsuite-sync-for-personal-care-brands-align-shades-sizes-and-gift-sets)
- [Personal Care Returns Workflows Across Zendesk, NetSuite, and Extensiv](https://www.stacksync.com/blog/personal-care-returns-workflows-across-zendesk-netsuite-and-extensiv)

## Related workflow and integration guides

- [Manage Shopify Exchanges Through Zendesk and NetSuite](https://www.stacksync.com/blog/manage-shopify-exchanges-through-zendesk-and-netsuite)
- [All Genies workflow examples](https://www.stacksync.com/ai-agents#genies-use-cases)
- [When a workflow should escalate to a person](https://www.stacksync.com/blog/human-in-the-loop-automation-when-to-escalate)
- [How to Explain Split Shipments and Missing Tracking](https://www.stacksync.com/blog/how-to-explain-split-shipments-and-missing-tracking)
- [Identify At-Risk Orders Using Inventory and Incoming Purchase Orders](https://www.stacksync.com/blog/identify-at-risk-orders-using-inventory-and-incoming-purchase-orders)
- [E-commerce at Scale: Sync Supabase, Shopify & NetSuite in Real-Time](https://www.stacksync.com/blog/ecommerce-supabase-shopify-netsuite-sync)
- [Shopify integrations](https://www.stacksync.com/connectors/shopify)
- [Zendesk integrations](https://www.stacksync.com/connectors/zendesk)

## Implementation references

These first-party references document the underlying records and interfaces. The cross-system sequence, approvals, and completion rules in this article are a proposed operational configuration; validate them against your connected workspace before enabling it.

- [Shopify: returns and exchanges](https://help.shopify.com/en/manual/fulfillment/managing-orders/returns)
- [NetSuite: inventory availability and allocation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_157236254323.html)
- [Zendesk: ticket comments and visibility](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/)

FAQ

## Frequently asked questions

What does the product exchanges workflow produce?

A Zendesk exchange proposal containing original order lines, policy evidence, prior remedies, customer-selected variant, merchant approval, and confirmed return and replacement IDs.

What should happen when the evidence is incomplete?

Keep the affected action pending and obtain the missing source evidence or required decision. Recheck availability and existing records immediately before creation.

About the author

Ignacio Malpartida

GTM Engineer

Ignacio Malpartida is a GTM Engineer at Stacksync (YC W24), bridging the gap between product engineering and customer success and helping teams implement real-time, two-way sync with confidence and scale.

[All posts by Ignacio Malpartida](https://www.stacksync.com/blog/author/ignacio-malpartida)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [connector Shopify integrations](https://www.stacksync.com/connectors/shopify)
- [connector Zendesk integrations](https://www.stacksync.com/connectors/zendesk)
- [connector NetSuite integrations](https://www.stacksync.com/connectors/netsuite)
- [platform AI agent operations](https://www.stacksync.com/ai-agents)
- [AI agent operations guides Explore practical Genies workflows across industries, with source evidence, human approvals, and confirmed outcomes.](https://www.stacksync.com/blog#topic-ai-agent-operations)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[App tips Manage Shopify Exchanges Through Zendesk and NetSuite 8 min read read](https://www.stacksync.com/blog/manage-shopify-exchanges-through-zendesk-and-netsuite)

[App tips Personal Care Returns Workflows Across Zendesk, NetSuite, and Extensiv 4 min read read](https://www.stacksync.com/blog/personal-care-returns-workflows-across-zendesk-netsuite-and-extensiv)

[Data engineering Shopify–NetSuite Sync for Personal Care Brands: Align Shades, Sizes, and Gift Sets 5 min read read](https://www.stacksync.com/blog/shopify-netsuite-sync-for-personal-care-brands-align-shades-sizes-and-gift-sets)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
