RMS Returns & Credit Manager — Store Owner Guide
Streamline your returns process. RMS Returns & Credit Manager gives your customers a self-serve returns portal, automates return approvals, tracks item conditions, issues store credit, and syncs with Shopify's native Return system — all from within your Shopify admin.
Table of Contents
- 1. Getting Started
- 2. Dashboard
- 3. Managing Returns
- 4. Customer Returns Portal
- 5. Settings
- 6. Store Credit
- 7. Condition Disputes
- 8. Shopify Return API Sync
- 9. Email Notifications
- 10. Analytics
- 11. Subscription Plans and Billing
- 12. Privacy, GDPR, and Data Handling
- 13. Frequently Asked Questions
- 14. Troubleshooting
- 15. Support
1. Getting Started
1.1 Installing the App
- Visit the RMS Returns & Credit Manager listing on the Shopify App Store.
- Click Add app and authorize the requested permissions.
- The app installs automatically and you are redirected to the Dashboard inside your Shopify admin.
The app requires the following permissions:
| Permission | Purpose |
|---|---|
read_orders, write_orders |
Look up orders and process returns |
read_products |
Display product names and images |
read_fulfillments |
Check fulfillment status for return eligibility |
write_shipping |
Generate shipping labels for returns |
read_customers |
Identify customers for return requests |
read_locations |
Determine return shipping destinations |
read_discounts, write_discounts |
Create store credit discount codes |
read_returns, write_returns |
Sync with Shopify's native Return system |
1.2 Enabling the Customer Returns Portal
After installation, you need to make the returns portal accessible to your customers. There are three options:
Option A — Customer Account Extension (recommended for new customer accounts)
- From your Shopify admin, go to Settings > Customer accounts.
- Open the Order Status page in the customer account editor.
- Add the Returns portal link app block to the page.
- Save.
Customers will see a "Start a return" button on their order status page.
Option B — Theme App Extension block
- From your Shopify admin, go to Online Store > Themes > Customize.
- Navigate to the page where you want the portal (e.g., a dedicated "Returns" page).
- Add the Returns Portal app block from the app section.
- Customize the heading and button color if desired.
- Save.
Option C — Direct link
Share the URL https://your-store.myshopify.com/apps/returns with customers. This can be added to your navigation menu, footer, or order confirmation emails.
1.3 Return Flow Options: App Portal vs Shopify Self-Serve
Your customers can start a return in two ways. Understanding the difference will help you choose the right setup for your store.
Option 1: App Returns Portal (recommended)
This is the app's own returns form. Customers enter their order number and email, select the item, choose a reason, and describe the item's condition — all in one step. The app collects everything it needs up front.
How to set it up: Follow the steps in section 1.2 above. Add the app's "Start a return" button to your Order Status page, embed the portal block in your theme, or share a direct link.
Best for: Stores that want full control over the return experience, including custom item conditions, condition-based refund percentages, and the ability to ask for photos and notes at submission time.
Option 2: Shopify Self-Serve Returns
Shopify has its own built-in return feature. When enabled, a "Request return" button appears on your customers' Order Status page automatically — no app setup required. When a customer submits a return through Shopify, the app receives it via webhook and creates a matching return record.
How it works with the app:
- Customer clicks "Request return" on their Order Status page (Shopify's button).
- Shopify notifies the app automatically.
- The app creates a return record and sends the customer an email confirmation with a link to track their return status.
- If you have "Auto-send return details email" enabled (see section 5.7), the customer also receives an email asking them to submit additional details — such as photos and notes — through the app's portal.
- You manage the return from the app's admin as usual.
To enable: From your Shopify admin, go to Settings > Customer accounts > Self-serve returns and turn it on.
Best for: Stores that want a quick setup with minimal configuration, or stores that already use Shopify's return flow and want the app's advanced features (condition disputes, store credit, etc.) layered on top.
Using both at the same time
If both Shopify self-serve returns and the app's "Start a return" button are enabled on the Order Status page, customers will see two return buttons — one from Shopify and one from this app. This can be confusing.
Our recommendation: Choose one or the other:
| Setup | What to do |
|---|---|
| App portal only (recommended) | Add the app's "Start a return" button (section 1.2). Disable Shopify's self-serve returns: go to Settings > Customer accounts > Self-serve returns and turn it off. |
| Shopify self-serve only | Enable Shopify's self-serve returns. Do not add the app's "Start a return" button to the Order Status page. The app will still receive and manage returns via webhooks. |
If you choose the Shopify self-serve flow, we strongly recommend enabling these settings for the best customer experience:
- Shopify sync (Settings > Shopify Integration) — Must be on so the app can receive returns from Shopify. Enabled by default on all plans.
- Email notifications (Settings > Notification Settings, Growth plan) — So the customer receives confirmation emails and status updates from the app.
- Auto-send return details email (Settings > Notification Settings, Growth plan) — So the customer is prompted to add photos and condition details through the app's portal after submitting via Shopify.
How customers stay informed
Regardless of which return flow you use, the app keeps customers informed by email at every stage of the return (Growth plan or higher). Each email includes a link to a tracking page where the customer can check their return status at any time. On the Free plan, only the critical stage notifications (submitted, approved, denied) are sent.
If a customer uses Shopify's self-serve flow and you have not added the app's return button, and email notifications are not configured, the customer will only see basic status updates through Shopify's native order status page. They will not have access to the app's advanced features like condition dispute responses. For this reason, we recommend at least enabling email notifications if you use Shopify self-serve returns.
Can the app detect if Shopify self-serve returns is enabled?
No. Shopify does not provide an API for apps to read this setting. The app cannot automatically detect whether self-serve returns is turned on. Instead, you can indicate this in Settings > Shopify Integration by checking "Shopify self-serve returns is enabled on my store." When checked, the app displays a reminder about the potential for duplicate return buttons so you can take the appropriate action.
1.4 How It Works — Overview
RMS Returns & Credit Manager operates in five stages:
- Customer initiates — The customer enters their order number and email in the self-serve portal, selects the item to return, chooses a reason and describes the item's condition.
- Review (or auto-approve) — You receive a notification and review the return in your admin. If auto-approve is enabled, eligible returns are approved instantly.
- Item returned — Generate a shipping label, track the item in transit, and confirm receipt.
- Condition assessment — Inspect the item's condition. If it differs from what the customer reported, you can dispute the condition with photo evidence.
- Resolution — Issue a refund, store credit, or reject the return. Refunds can be processed directly through Shopify when sync is enabled.
2. Dashboard
The Dashboard is your home screen, providing an at-a-glance overview of return activity.
2.1 Summary Cards
Three key metrics are displayed at the top:
| Metric | Description |
|---|---|
| Pending Review | Returns in the Submitted stage awaiting your review |
| Active Returns | Returns currently in progress (Approved, Label Generated, In Transit, Received, or In Process) |
| Total Returns | The total count of all returns across all stages |
2.2 Recent Returns
A table of the five most recent returns, showing return number, stage badge, product title, and order name. Click View to open the return detail page.
2.3 Returns by Stage
A sidebar breakdown listing every return stage with its count, giving you a clear picture of where returns are in the pipeline.
2.4 Documentation Link
Below the Getting Started guide, a Documentation card provides a direct link to this guide on the Reedmace website. Click View documentation to open the full guide in a new tab.
2.5 Shopify Sync Status
When Shopify Return API sync is enabled, additional indicators appear:
- Sync Errors — Count of returns that failed to sync with Shopify (shown in red).
- Shopify-Originated — Count of returns that customers initiated through Shopify's self-serve return flow.
3. Managing Returns
3.1 Returns List
Navigate to the Returns tab to see all return requests. The list supports:
- Search — Filter by return number, order name, customer email, or product title.
- Stage tabs — Click a stage tab to view only returns in that stage (e.g., "Submitted", "Approved", "In Transit").
- Pagination — 25 returns per page.
3.2 Return Detail Page
Click any return to open its detail page, which displays:
- Return details — Order name, customer name and email, product image, product title, variant, quantity, SKU, reason, reason detail, item condition, and any admin message.
- Shipping information — Carrier name, tracking number, and a link to view or download the shipping label (when generated).
- Condition dispute details — If a condition dispute has been raised: the original vs. assessed condition, dispute reason, evidence photos, response deadline, and the customer's response.
- Store credit details — If store credit was issued: the discount code and credit amount.
- Timeline — A chronological sidebar showing key events (submission date, review date, stage transitions).
- Shopify sync status — A badge showing whether the return is synced with Shopify, originated from Shopify, has a sync error, or is not synced.
3.3 Reviewing a Return (Accept or Deny)
When a return is in the Submitted stage, two action buttons are available:
- Accept Return — Opens a modal where you can add an optional message to the customer. The return moves to the Approved stage.
- Deny Return — Opens a modal requiring a reason message. The return moves to the Denied stage and the customer is notified.
3.4 Stage Transitions
After a return is approved, you can advance it through the stages using the action buttons on the detail page:
- Mark as Label Generated — After creating a shipping label.
- Mark as In Transit — When the customer ships the item.
- Mark as Received — When you receive the returned item.
- Mark as In Process — When you begin inspecting the item.
- Mark as Processed — Inspection is complete.
- Issue Refund — Process the refund (through Shopify if sync is enabled).
- Issue Store Credit — Create a discount code instead of a cash refund.
- Dispute Condition — Flag that the item's condition differs from what the customer reported.
- Ship Item Back — Return the item to the customer (used after a failed dispute or rejection).
- Cancel Return — Cancel the return at any stage before resolution.
3.5 Return Stage Lifecycle
Returns follow a defined lifecycle with enforced transitions:
| Stage | Description | Next Stages |
|---|---|---|
| Submitted | Customer has requested a return | Approved, Denied, Cancelled |
| Approved | Return accepted by store | Label Generated, Cancelled (or In Process, Cancelled when "Skip shipping & inspection" is enabled) |
| Label Generated | Shipping label created | In Transit, Cancelled |
| In Transit | Item is being shipped back | Received |
| Received | Item received by store | In Process, Condition Disputed |
| Condition Disputed | Item condition does not match report | Dispute Accepted, Item Return Requested, In Process |
| Dispute Accepted | Customer accepted revised assessment | In Process |
| Item Return Requested | Customer wants the item back | Item Returned |
| In Process | Item being processed for resolution | Processed, Rejected |
| Processed | Ready for final resolution | Refunded, Store Credit |
| Denied | Return request denied (terminal) | — |
| Refunded | Refund issued (terminal) | — |
| Store Credit | Store credit issued (terminal) | — |
| Rejected | Return rejected after inspection (terminal) | — |
| Cancelled | Return cancelled (terminal) | — |
| Item Returned | Item shipped back to customer (terminal) | — |
4. Customer Returns Portal
4.1 How Customers Start a Return
Customers access the returns portal through:
- The "Start a return" button on their Order Status page (customer account extension).
- The Returns Portal block embedded in your storefront theme.
- A direct link to
https://your-store.myshopify.com/apps/returns.
The portal is a multi-step wizard that guides customers through the process.
4.2 Order Lookup
The customer enters their order number (e.g., #1001) and email address. The portal verifies the order and displays all returnable items — only fulfilled items are shown. If the order is past the return window, a warning is displayed.
Rate limit: 10 lookups per minute per IP address.
4.3 Submitting a Return
The customer selects the item to return, chooses a reason from the configured list, optionally provides additional details, and selects the item condition from the configured options (each showing the refund percentage). A review screen summarizes the return before submission.
Rate limit: 3 return submissions per hour per email address.
If auto-approve is enabled in your settings and the return meets all conditions, it is approved immediately. Otherwise, it enters the Submitted stage for your manual review.
4.4 Tracking Return Status
After submitting, the customer receives a link to track their return status. The tracking page shows the current stage, any admin messages, shipping label URL, and tracking information. This link uses a secure, unguessable token — no login is required.
5. Settings
The Settings page is organized into seven sections. Some sections are gated by plan — a banner will indicate if an upgrade is needed.
5.1 Return Policy
| Setting | Description | Default |
|---|---|---|
| Return window (days) | Number of days after fulfillment that a return can be initiated | 30 |
| Policy note | Free-text note displayed to customers in the portal (e.g., "Items must be unworn with tags attached") | Empty |
| Auto-approve returns | Automatically approve return requests that meet all conditions, skipping manual review | Off |
| Skip shipping & inspection | Skip the shipping label, transit, and receiving stages. Approved returns go directly to the In Process stage. Useful for local drop-offs, digital goods, or stores that handle returns without tracking shipments | Off |
5.2 Item Conditions
Define the condition grades that customers select when submitting a return. Each condition has a label, description, and refund percentage that determines the refund or store credit amount.
Default conditions:
| Condition | Description | Refund % |
|---|---|---|
| Like New | Unused, tags attached | 100% |
| Good | Minor signs of use, no damage | 90% |
| Fair | Visible wear, still functional | 70% |
| Poor | Significant damage or wear | 50% |
You can add, edit, or remove conditions as needed. The refund percentage is also used in condition dispute calculations.
Use the Accept checkbox to control which conditions are available to customers. Unaccepted conditions are hidden from the returns portal. For example, uncheck "Poor" if you never accept heavily worn items.
Product Tag Overrides
Product Tag Overrides let you customise which conditions are accepted for specific product types. For instance, products tagged "perishable" might only allow "Like New", while products tagged "tools" could accept all conditions.
To add a tag override:
- Go to Settings > Item Conditions and scroll to the Product Tag Overrides section.
- Click Add tag override.
- Enter a product tag (e.g.,
perishable,clothing). - Check the conditions that should be available for products with that tag.
- Save.
When a customer selects a product that has a matching tag, only the conditions listed in that override are shown — the default accepted conditions are ignored for that product. Products without a matching tag use your default conditions as normal.
5.3 Return Reasons
Define the reasons customers can select when initiating a return. Default reasons:
- Wrong size
- Wrong color
- Not as described
- Defective/damaged
- Changed my mind
- Received wrong item
- Better price found
- Other
You can add, edit, or remove reasons as needed.
5.4 Store Credit
Requires Growth plan or higher.
- Enable store credit option — When enabled, you can issue store credit (as a Shopify discount code) instead of a cash refund when resolving returns.
Bonus incentives (requires Professional plan):
- Bonus type — None, Percentage, or Fixed amount.
- Bonus value — The percentage or dollar amount added on top of the refund. For example, a 10% bonus on a $50 refund gives the customer $55 in store credit.
5.5 Dispute Resolution
Available on all plans. Advanced settings require the Professional plan.
When you receive a returned item and its condition differs from what the customer reported, you can dispute the condition. These settings control that process:
| Setting | Description | Default | Plan Required |
|---|---|---|---|
| Require photo evidence | Require at least one photo URL when disputing a condition | Off | Free |
| Allow item return | Let customers decline the revised assessment and request the item back | On | Free |
| Response deadline (hours) | Hours the customer has to respond before auto-resolution | 72 | Professional |
| Auto-resolve action | What happens if the customer does not respond by the deadline (Accept store's offer, or Return item to customer) | Accept store's offer | Professional |
| Custom dispute message | Message included in dispute notification emails to the customer | Empty | Professional |
5.6 Shopify Integration
Basic outbound sync is available on all plans for data portability. Advanced features require the Growth plan or higher.
- Sync returns with Shopify — When enabled, approved returns are created in Shopify's Return system and appear in the Orders > Returns tab in Shopify admin. Available on all plans and enabled by default. We recommend keeping this on so your return data is always preserved in Shopify, even if you uninstall the app.
- Shopify self-serve returns is enabled on my store — Check this if you have Shopify's built-in self-serve returns turned on (Settings > Customer accounts > Self-serve returns). The app will display guidance to help you avoid having duplicate return buttons on the Order Status page.
- Process refunds through Shopify (Growth plan) — When a return is marked as refunded, issue the actual refund through Shopify Payments. Disable this to handle refunds manually.
- Sync Now (Growth plan) — Manually pull existing returns from Shopify into the app.
- Auto-approve Shopify-initiated returns (Professional plan) — Automatically approve returns that customers initiate through Shopify's native self-serve return flow.
Your plan's data retention period is displayed in this section. After the retention period, completed returns are automatically removed from the app's database. Returns synced to Shopify are preserved in Shopify Admin regardless of retention.
5.7 Notification Settings
Requires Growth plan or higher.
- Admin email — Receive notifications when new returns are submitted. Also used as the reply-to address on customer emails.
- Auto-send return details email — Automatically send an email asking customers to upload photos and add notes after submitting a return.
- Send for — All returns, or only returns with selected reasons.
6. Store Credit
6.1 Issuing Store Credit
When a return reaches the Processed stage and store credit is enabled, an Issue Store Credit button appears on the return detail page. The modal shows:
- Base refund amount — Calculated from the item price and the condition's refund percentage.
- Bonus — If a bonus incentive is configured, the bonus amount is shown.
- Total store credit — The final amount of the discount code.
You can add an optional message to the customer before issuing the credit.
6.2 Bonus Incentives
Store credit bonuses encourage customers to choose credit over a cash refund:
- Percentage bonus — Adds a percentage on top of the refund. E.g., 10% bonus on $50 = $55 credit.
- Fixed bonus — Adds a flat dollar amount. E.g., $5 bonus on $50 = $55 credit.
6.3 Discount Code Details
Store credit is issued as a single-use Shopify discount code with the format RET-{returnNumber}-{XXXX} (e.g., RET-R-2024-0001-AB3Z). The code:
- Is single-use (one redemption only).
- Applies to the entire order.
- Combines with shipping discounts but not other order or product discounts.
7. Condition Disputes
7.1 Disputing an Item's Condition
When a returned item's actual condition does not match what the customer reported (e.g., they reported "Like New" but the item shows significant wear), you can dispute the condition from the return detail page when the return is in the Received stage.
The dispute modal requires:
- Actual condition — Select the true condition from your configured conditions (shows the corresponding refund percentage).
- Reason — Explain why the condition differs (required).
- Evidence photos — Upload photo URLs as evidence (optional or required, per your settings).
When you submit the dispute, the customer receives an email with the condition comparison, your reason, any evidence photos, and a deadline to respond.
7.2 Customer Response
The customer receives a link to a response page where they can:
- Accept the revised assessment — The adjusted refund percentage applies and the return continues to processing.
- Request item return — The customer declines the new assessment and asks for the item to be shipped back (only available if you have "Allow item return" enabled).
7.3 Auto-Resolution
If the customer does not respond by the deadline, the dispute is automatically resolved based on your configured auto-resolve action:
- Accept store's offer (default) — The revised condition is accepted automatically.
- Return item to customer — The return transitions to "Item Return Requested."
Reminder emails are sent before the deadline expires.
8. Shopify Return API Sync
8.1 What Sync Does
When enabled, the app creates and manages returns in Shopify's native Return system. This means:
- Returns appear in Orders > Returns in Shopify admin.
- Return status is visible alongside the order.
- Refunds processed through the app appear as actual Shopify refunds.
8.2 App-Initiated Returns
When you approve a return in the app, it is automatically created in Shopify via the Return API and immediately approved. The Shopify Return ID is stored and the sync status is updated.
If the sync fails, the return still progresses locally and the error is recorded. You can retry the sync from the return detail page.
8.3 Shopify-Initiated Returns
When a customer initiates a return through Shopify's native self-serve flow, the app receives a webhook and creates a corresponding local return record. If auto-approve is enabled for Shopify-initiated returns, the return is approved in both systems simultaneously.
8.4 Refund Processing
When a return is marked as Refunded and "Process refunds through Shopify" is enabled, the app calls Shopify's Refund API to issue the actual refund. The Shopify Return is then closed automatically.
If sync is disabled or refund processing is off, marking a return as "Refunded" only updates the local record — no money moves.
9. Email Notifications
9.1 Notifications Sent to Customers
Email notifications are sent at each stage of the return lifecycle (requires Growth plan or higher):
| Event | Email Sent |
|---|---|
| Return submitted | Confirmation with return number and tracking link |
| Return approved | Approval notification with next steps |
| Return denied | Denial notification with reason |
| Shipping label generated | Label ready notification with download link |
| Item received | Confirmation that the store received the item |
| Return processed | Processing complete notification |
| Refund issued | Refund confirmation |
| Store credit issued | Store credit code and amount |
| Condition disputed | Dispute details with response link and deadline |
| Dispute reminder | Reminder before deadline expires |
| Dispute response received | Confirmation of the customer's response |
| Item return requested | Notification that the item will be shipped back |
| Item returned to customer | Tracking information for the return shipment |
| Return rejected | Rejection notification with reason |
9.2 Admin Notifications
When a notification email is configured in settings, you receive an email each time a new return is submitted.
9.3 Auto-Send Return Details Email
When enabled, customers automatically receive an email after submitting a return, asking them to upload photos and add notes. You can configure this to send for all returns or only for specific reasons (e.g., only for "Defective/damaged" returns where photos are especially useful).
10. Analytics
Requires Growth plan or higher.
The Analytics page provides insights into your return activity, helping you identify trends, spot problem products, and understand the cost of returns.
10.1 Summary Metrics
Three key metrics are displayed at the top of the Analytics page:
| Metric | Description |
|---|---|
| Avg Resolution Time | The average number of days from return submission to refund, calculated across all refunded returns |
| Total Shipping Cost | The cumulative cost of all return shipping labels generated through the app |
| Total Refunds Issued | The total monetary value of all refunds processed |
10.2 Top Return Reasons
A ranked list of the 10 most frequently selected return reasons, showing how many times each reason has been chosen. Use this to identify recurring issues — for example, if "Not as described" is consistently high, you may need to improve product descriptions or photos.
10.3 Most Returned Products
A ranked list of the 10 most returned products by title. This helps you identify products with quality issues, sizing problems, or misleading listings that may need attention.
11. Subscription Plans and Billing
11.1 Plan Comparison
| Feature | Free | Growth | Professional | Enterprise |
|---|---|---|---|---|
| Monthly Price | $0 | $19.99 | $49.99 | $149.99 |
| Annual Price (per month) | $0 | $16.66 | $41.66 | $124.99 |
| Monthly Returns | 5 | 100 | Unlimited | Unlimited |
| Data Retention | 90 days | 365 days | Unlimited | Unlimited |
| CSV Export | Yes | Yes | Yes | Yes |
| Dispute Resolution | Yes | Yes | Yes | Yes |
| Email Notifications | No | Yes | Yes | Yes |
| Shipping Labels | No | Yes | Yes | Yes |
| Store Credit | No | Yes | Yes | Yes |
| Analytics | No | Yes | Yes | Yes |
| Shopify Return Sync | Basic | Full | Full | Full |
| Store Credit Bonus | No | No | Yes | Yes |
| Advanced Disputes | No | No | Yes | Yes |
| Shopify Auto-Approve | No | No | Yes | Yes |
| White Label | No | No | No | Yes |
| API Access | No | No | No | Yes |
11.2 Free Plan
The Free plan is ideal for getting started and small stores:
- 5 returns per month — Enough for low-volume stores or evaluation.
- Basic return management with the full stage workflow.
- Customer self-serve portal with order lookup.
- Dispute resolution — Dispute item conditions when they differ from what the customer reported. Basic settings (photo evidence, allow item return) are included.
- CSV export — Export your returns data to CSV at any time.
- Basic Shopify sync — Outbound sync to Shopify is included for data portability.
- 90-day data retention — Completed returns are kept for 90 days.
- No email notifications, shipping labels, analytics, or store credit.
11.3 Growth Plan
The Growth plan unlocks the core feature set for growing stores:
- 100 returns per month — 20x the free plan's limit.
- Email notifications — Automated emails at every stage of the return lifecycle.
- Shipping labels — Generate return shipping labels.
- Store credit — Issue discount codes instead of cash refunds.
- Analytics dashboard — Detailed return performance insights, trends, and metrics.
- Full Shopify sync — Sync returns with Shopify's native Return system, including refund processing and pull sync.
- 365-day data retention — Completed returns are kept for one year.
- All Free plan features included.
- 7-day free trial included.
11.4 Professional Plan
For established stores with higher volume and advanced needs:
- Unlimited returns — No monthly cap.
- Store credit bonuses — Incentivize customers with percentage or fixed bonuses.
- Advanced dispute settings — Custom deadlines, auto-resolution rules, and custom messages.
- Shopify auto-approve — Automatically approve Shopify-initiated returns.
- Unlimited data retention — Completed returns are kept indefinitely.
- All Growth plan features included.
- 7-day free trial included.
11.5 Enterprise Plan
For high-volume stores with full feature needs:
- Unlimited returns — No monthly cap.
- White label — Remove all app branding.
- API access — Integrate returns data with external systems.
- Unlimited data retention — Completed returns are kept indefinitely.
- All Professional plan features included.
- 7-day free trial included.
11.6 Free Trial
Every paid plan includes a 7-day free trial. During the trial:
- You have full access to all features of the selected plan.
- You will not be charged until the trial period ends.
- You can downgrade to Free at any time before the trial ends to avoid charges.
11.7 Upgrading, Downgrading, and Cancelling
To upgrade: Go to the Billing page, select a higher plan, and confirm. You will be redirected to Shopify's charge approval page. Once approved, the new plan takes effect immediately.
To downgrade: Select a lower plan (including Free). Your features adjust to the new plan's limits immediately.
To cancel: Select the Free plan from the billing page. Your subscription is cancelled immediately and you are moved to the Free plan. Your return data is preserved.
All billing is handled through Shopify's built-in billing system. Charges appear on your regular Shopify invoice — no separate payment method is needed.
A usage progress bar on the billing page shows your monthly return count. It turns yellow at 70% usage and red at 90%.
12. Privacy, GDPR, and Data Handling
RMS Returns & Credit Manager is designed with privacy and compliance in mind.
Data collected from customers:
- Name and email address
- Order and item details for the return
- Return reason and item condition description
- Photos and notes (if provided)
GDPR compliance features:
| Requirement | How the App Complies |
|---|---|
| Right to access | Customer data request webhooks are supported. When a customer requests their data through Shopify, the app identifies all return records for that customer. |
| Right to erasure | Customer data erasure (redact) webhooks are supported. When a customer requests deletion, all their return records are permanently removed. |
| Data minimization | The app only collects the minimum data needed to process the return. |
| Data on uninstall | When you uninstall the app, shop data is handled per Shopify's GDPR requirements. Sessions are deleted immediately. |
13. Frequently Asked Questions
Q: How quickly does a customer receive a return confirmation after submitting? A: Email notifications are sent within seconds of submission (requires Growth plan). On the Free plan, returns are created but no email is sent — customers can track their return via the status link.
Q: Can customers submit returns for partially fulfilled orders? A: Only fulfilled items appear in the returns portal. If an order has both fulfilled and unfulfilled items, only the fulfilled items are available for return.
Q: What happens when I reach my monthly return limit? A: New return submissions through the portal will be rejected with a message asking the customer to contact the store directly. Existing returns in progress are unaffected. Upgrade your plan or wait for the next billing cycle.
Q: Can I customize the return reasons and conditions? A: Yes. Both return reasons and item conditions are fully customizable in Settings. You can add, edit, or remove entries at any time. Changes apply to new returns only — existing returns retain their original values.
Q: How does auto-approve work? A: When enabled in Settings, returns submitted through the portal are automatically moved to the Approved stage with the message "Automatically approved." The customer is notified immediately. You can still review auto-approved returns in the admin.
Q: What is the difference between "Refunded" and "Store Credit"? A: "Refunded" means a cash refund to the original payment method. When Shopify sync is enabled and refund processing is on, this issues an actual Shopify refund. "Store Credit" creates a single-use Shopify discount code for the refund amount (optionally with a bonus), which the customer can use on a future order.
Q: What happens if a Shopify sync fails? A: The return still progresses locally in the app. The sync error is recorded and displayed on the return detail page with a "Retry Sync" button. This ensures your workflow is never blocked by API issues.
Q: Does the app work with Shopify's new customer accounts? A: Yes. The "Returns portal link" extension block is designed for the new customer accounts Order Status page. It renders a "Start a return" button that links customers to the returns portal.
Q: What happens if I uninstall and reinstall the app? A: On uninstall, your session tokens are deleted and your shop record is marked as uninstalled. On reinstall, the app needs to establish a new session. Important: After reinstalling, you must open the app in your Shopify admin at least once before the customer-facing returns portal will work. This is because the app uses Shopify's token exchange authentication, and the access token required for API calls (such as order lookups) is only created when you first open the app after installation. Until then, customers may see an "Unable to look up order" error in the portal.
Q: Can I use the returns portal without enabling Shopify sync? A: Yes. The portal, return management, store credit, and all core features work independently. Shopify sync is an optional add-on that mirrors returns into Shopify's native system and enables actual refund processing.
Q: Are there rate limits on the customer portal? A: Yes, to prevent abuse. Order lookups are limited to 10 per minute per IP. Return submissions are limited to 3 per hour per customer email. Status checks are limited to 30 per minute per IP.
14. Troubleshooting
The "Start a return" button does not appear on the Order Status page
- Verify the extension block is added: Go to Settings > Customer accounts > Order Status and confirm the "Returns portal link" block is present.
- Ensure the app is installed and running (check Apps in your Shopify admin).
- The button only appears on order status pages — it is not visible on other customer account pages.
Customers see "Unable to look up order" in the returns portal
- Open the app in your Shopify admin to ensure a valid session exists. This is the most common cause after a fresh install or reinstall.
- Check that the order number and email match exactly. Order numbers are case-insensitive but the email must match.
- Verify the app has the required permissions (
read_orders,read_fulfillments).
Returns are not syncing with Shopify
- Verify that Shopify sync is enabled in Settings > Shopify Integration.
- Basic outbound sync works on all plans. If you need refund processing or pull sync, upgrade to the Growth plan.
- Look for sync error badges on the return detail page — click "Retry Sync" to attempt again.
- Ensure the app has
read_returnsandwrite_returnspermissions.
Email notifications are not being sent
- Email notifications require the Growth plan or higher.
- Check that a notification email address is configured in Settings > Notification Settings.
- Verify your Brevo API key is configured (contact support if unsure).
Store credit discount code is not working for the customer
- Verify the code has not already been used (it is single-use).
- The discount combines with shipping discounts only — it cannot be combined with other order or product discount codes.
- Check that the discount was successfully created in Shopify admin > Discounts.
The returns portal page shows "There's a problem loading this page"
- Ensure the app is running. If you are in development mode, verify that
shopify app devis active. - Check that the app proxy is configured correctly in
shopify.app.tomlwithsubpath = "returns"andprefix = "apps".
15. Support
Need help? Here is how to reach us:
- In-app support: Contact us through the app's Dashboard.
- Email: info@reedmace.net
- Priority support: Available on Professional and Enterprise plans for faster response times.
We are committed to making your returns process as smooth as possible. If you have feature requests, questions, or need help with setup, do not hesitate to reach out.
RMS Returns & Credit Manager is developed by Reedmace Software. All billing is processed securely through Shopify's built-in billing system.