Hi Shopify Dev Community,
I have a question about how the Returns API interacts with Shopify’s Sales Reports and Payment Reports. Here’s the behavior I’ve observed across most merchants:
- Upon
returnCreate
:
When a return is created using thereturnCreate
mutation, the return is immediately reflected in the Sales Reports, deducting the return value from net sales as of the creation time. However, at this stage, no updates are made to the Payment Reports. - Upon
returnRefund
orrefundCreate
:
When the return is completed viareturnRefund
orrefundCreate
, there’s no further change to the Sales Reports because the return was already accounted for. Instead, the Payment Reports are updated, reflecting the payout deduction.
The Issue
Merchants I’ve spoken to have expressed dissatisfaction with this behavior. They argue that creating a return (via returnCreate
) is like creating a draft order—it’s not finalized until the refund is issued. They would prefer:
- Sales Reports and Payment Reports both be affected only when the return is completed (i.e., when the refund is issued).
- This ensures that returns in progress or not finalized do not skew their financial reporting prematurely.
This desired behavior would align with how most businesses treat returns: no financial impact is recognized until the refund is processed and finalized.
Related Feedback
This issue resonates with the concerns raised in this popular community post, which highlights the impact of the Returns API behavior on merchants’ accounting workflows.
My Questions
- Can someone confirm the current behavior as described above and provide insights into why it’s implemented this way?
- Is there a way to configure this behavior so that returns only affect Sales and Payment Reports upon refund issuance? If not, is Shopify considering updates to make this possible?
Any clarification or updates on this would be greatly appreciated. Thanks in advance for your help!