The Loop Returns integration automates the return lifecycle between Loop Returns, Shopify, and Logiwa. When a shopper starts a return in Loop, Logiwa creates a matching Return Order (RMA). The warehouse then receives and inspects the item in Logiwa's Return Station. Once processing is complete, the result is sent back to Loop so the return can be processed normally or sent for merchant review.
Available Functions
Return Creation: New/unprocessed Loop returns are automatically retrieved and created in Logiwa as Return Orders (RMAs).
Warehouse Processing: Warehouse users receive, inspect, and complete the return in the Return Station.
Return Outcome Sync: Completed Logiwa returns are sent back to Loop as processed, or flagged for merchant review depending on the warehouse outcome.
Return Cancellation Sync: Cancelled Loop returns are detected and the matching open/in-process Logiwa Return Order is cancelled when eligible.
Before You Begin
An active Loop Returns account connected to Shopify.
Access to the Loop Admin portal with permission to create an API key.
A Logiwa warehouse that already receives the original Shopify orders.
A dedicated Return Station location in Logiwa for warehouse return processing.
Return Reasons configured in Logiwa for normal and exception scenarios.
For the standard integration, original Shopify orders must enter Logiwa through Logiwa's native Shopify integration.
⚠️ Native Shopify Requirement: The standard Loop Returns integration was designed around Logiwa's native Shopify integration. If Shopify orders enter Logiwa through an ERP, OMS, middleware platform, custom API integration, or another non-native flow, contact Logiwa before onboarding — a custom workflow may be required.
💡 Getting Started: For a standard native-Shopify implementation, the main setup items are straightforward: connect Loop with an API key, confirm the SPY- order relationship is present, create the Return Station location, configure return reasons, and run one accepted and one flagged return through UAT.
Connect to Loop Returns
Navigate to Integration Management > Store & Marketplace.
Locate Loop Returns.
Click Connect Now.
Complete the connection configuration and provide the Loop API credential when prompted.
Logiwa Integration Management: select Loop Returns and click Connect Now.
Create the Loop API Key
The Loop API key is created from the Loop Admin portal.
Log in to Loop Admin.
Navigate to Returns Management > Tools & Integrations > Developer tools.
Click Generate API key.
Loop Admin > Developer tools: existing API keys and the Generate API key button.
4. Enter a descriptive name for the key (for example, Logiwa Integration).
5. Select all scopes.
Generate API Key window in Loop — select the required scopes before generating the key.
6. Generate the key and copy it securely for the Logiwa connection.
🔒 Credential Security: Treat the Loop API key as a password. Store it securely and only share it with authorized integration administrators.
How Logiwa Finds the Original Shopify Order
A Logiwa Return Order must be linked to the original Shipment Order. The standard Loop workflow needs a reliable way to identify the Shopify order that was originally shipped from Logiwa.
The SPY- Order Code
When Logiwa's native Shopify integration imports a Shopify order, Logiwa uses Shopify's internal order ID and stores the Shipment Order Code with the prefix SPY-.
System / Field | Example |
Loop Returns |
|
Logiwa Shipment Order Code |
|
The Loop workflow uses this relationship to locate the original shipped Shipment Order before it creates the Return Order.
Example Logiwa Shipment Orders created by the native Shopify integration. The Order Code uses the SPY- prefix.
⚠️ Clients Using a Non-Native Shopify Order Flow: If your Shopify orders enter Logiwa through an ERP, OMS, middleware platform, custom API integration, or another non-native process, the Logiwa Shipment Order Code may not contain the Shopify internal order ID in the expected SPY-{Shopify Order ID} format. In that case, the standard Loop workflow may not be able to locate the original Shipment Order. Contact Logiwa before onboarding so the order-matching design can be reviewed. A custom workflow may be required.
Prepare the Warehouse
Create a Return Station Location
Before warehouse users can process Loop returns, create a dedicated location in Logiwa for return processing. This location represents the physical area where returned items are inspected and received.
Navigate to Settings > Locations > Create Location.
Create a location for the appropriate warehouse (for example, Returns).
Use the location as the Return Station / return processing location for that warehouse.
Confirm warehouse users can access the Return Station before go-live.
💡 A Return Station location should be configured before UAT or production activation. Warehouse users will select the receiving warehouse and Return Station when processing RMAs.
Configure Return Reasons
Return Reasons control how warehouse inspection results are communicated back to Loop. Configure the required reasons in Logiwa under Settings > Data Setup > Return Process > Return Reasons.
⚠️ Important: Return Reasons in Logiwa should match exactly with the Return Reasons set up in Loop Returns. Ask the client to provide the list of return reasons configured in their Loop account.
Normal accepted reasons are used for returns that should process without merchant review. Six exception reasons (below) are reserved for cases that should be flagged in Loop, such as a warehouse rejection.
Integration Methods
Return Creation
Direction: Loop Returns → Logiwa
What Happens: New/unprocessed Loop returns are retrieved and created in Logiwa as Return Orders (RMAs).
Flagging a Return for Merchant Review
Direction: Within Logiwa
If the warehouse rejects an item or identifies an exception requiring merchant review, select one of the six flag-triggering Actual Return Reasons:
ℹ️ Reminder: These six reasons must be set up inside Logiwa under Data Setup and must match exactly with the reasons configured in Loop.
Flag Reason | When to Use It |
Damaged | Item or packaging is damaged and should not be automatically accepted. |
Non-Returnable | The item violates the merchant's return policy (for example, final-sale or otherwise non-returnable). |
Empty Box | No physical product was received in the return package. |
Wrong Item Received | The customer returned a different item than the product listed on the RMA. |
Missing Components | The returned product is incomplete or missing expected parts/components. |
Return Rejected | Catch-all reason for an exception that requires merchant review. |
Logiwa Return Station — the six Actual Return Reasons used to flag returns.
Operational process:
Select the appropriate Actual Return Reason.
Click Add Extra Info to add details on why the return was rejected.
A grade can be provided to describe the condition of the returned item (for example, Grade_A, Grade_B, Grade_C, Grade_D).
Add a clear warehouse note describing what was received and why the return is flagged.
Add a photo when it will help the merchant review the condition or discrepancy.
Finish the return so the result syncs back to Loop.
Once sent, the return is placed into a review state rather than automatically accepted.
Exception Scanning Scenarios
Some scenarios require recording an outcome even when the scanned product doesn't match the item expected on the Loop return. If your operation uses dedicated exception barcodes, create the corresponding scannable SKUs in Logiwa before UAT (these are warehouse processing tools and are not added to the Loop return).
Scenario | What the Warehouse Scans | Actual Return Reason | What Loop Receives |
Damaged | The original returned SKU | Damaged | The original Loop line is graded with condition details; return flagged for review. |
Empty Box | A dedicated exception SKU (e.g., | Empty Box | Exception applied to the original expected Loop line, with note/photo/grading for review. |
Missing Components | Original SKU, or | Missing Components | Original expected line marked incomplete and flagged for review. |
Non-Returnable | Original SKU or | Non-Returnable | Original expected line graded as rejected/non-returnable and flagged. |
Return Rejected | Original SKU or | Return Rejected | Original expected line flagged as rejected for merchant review. |
Wrong Item Received | The item actually received (e.g., warehouse expected SKU01, received SKU02) | Wrong Item Received | Grading result attached to the expected line; scanned SKU identifies what was physically received. |
⚠️ A dedicated exception SKU is only needed when the warehouse process requires a scannable placeholder. If the actual item can be scanned, use the actual SKU with the appropriate Actual Return Reason. During UAT, confirm how exception-SKU receipts affect Logiwa inventory and define the warehouse cleanup process if needed.
💡 Example — Empty Box: Loop expects SKU12345. The warehouse scans EMPTY_BOX, selects Empty Box, adds a note/photo, and finishes the return. The integration sends those inspection details back against the SKU12345 Loop line and flags the return for merchant review.
Loop Return Processing: a flagged return appears with Review / Needs review status.
Loop manual review: the merchant can see the warehouse-provided condition and decide whether to accept or reject the return.
Example warehouse item details in Loop showing the item condition, description, image, and notes provided during inspection.
Mixed Returns: Accepted and Rejected Items
A single RMA can contain both accepted and rejected items. Accepted lines are received normally; rejected/exception lines use a flag-triggering reason with supporting note/photo. The integration preserves accepted lines, grades only the rejected lines, and flags the entire return for merchant review.
Mixed Return Example | Logiwa Warehouse Action | Loop Result |
SKU01 accepted; SKU02 damaged | Receive SKU01 normally; process SKU02 with Damaged and supporting details. | SKU02 graded; entire return flagged for review. |
SKU01 accepted; EMPTY_BOX scanned for another line | Receive SKU01 normally; scan EMPTY_BOX and select Empty Box. | Exception attached to remaining expected line; SKU01 preserved. |
SKU01 accepted; wrong item SKU99 received for SKU02 | Scan what was physically received and select Wrong Item Received. | Grading attached to expected SKU02 line; scanned SKU retained for traceability. |
⚠️ For mixed returns, any rejected/exception line flags the entire Loop return for merchant review, even when other lines were accepted.
Return Outcome
Direction: Logiwa → Loop Returns
What Happens: Completed Logiwa returns are sent back to Loop as processed, or flagged for review, depending on warehouse outcome.
Warehouse Outcome | Logiwa Action | Loop Result |
Valid / accepted return | Process the item with a normal Actual Return Reason and finish the return. | Processed normally; refund/exchange flow continues per Loop/Shopify rules. |
Partial return | Process quantities/items actually received; complete each line per outcome. If any line is rejected, use a flag-triggering reason with supporting note/photo. | Accepted lines remain accepted; rejected lines graded; overall return flagged for review. |
Rejected / exception return | Use one of the six flag-triggering reasons with supporting note/photo/condition. | Return flagged for merchant review in Loop. |
Return Cancellation
Direction: Loop Returns → Logiwa
What Happens: A shopper may cancel a return in Loop after the RMA has already been created in Logiwa. A separate cancellation workflow checks Loop for newly cancelled returns, locates the matching Logiwa Return Order, validates its current status, and cancels it in Logiwa when still allowed.
Scenario | Integration Action | Expected Result |
Loop return cancelled and matching Logiwa RMA still cancellable | Find the matching Logiwa Return Order and call the Cancel Return Order API. | The Return Order is cancelled in Logiwa. |
Matching Return Order already Completed or Cancelled | Skip the cancel API call and log the current status so an invalid or duplicate cancellation is not sent. | No duplicate or invalid cancellation performed. |
Matching Return Order cannot be found | Do not create a new return. Log the exception for reconciliation. | Operations/support can investigate the missing relationship. |
API or connection failure | Log the failure and surface it for retry/investigation. | The return remains unchanged until resolved. |
ℹ️ Cancellation direction (Loop → Logiwa) is separate from the completed-return workflow, which sends warehouse outcomes from Logiwa → Loop.
Data Exchanged
Loop / Shopify Data | How Logiwa Uses It |
RMA number / Return ID | Used as the Return Order (RMA) identifier. |
| Used with the SPY- prefix to locate the original Shopify Shipment Order. |
Returned items and quantities | Mapped to Logiwa products and requested return quantities. |
Customer return reason | Stored as the Customer Return Reason for warehouse visibility. |
Logiwa Return Result | Sent Back to Loop |
RMA / Return ID | Identifies the Loop return being updated. |
Actual quantities received | Supports full and partial return outcomes. |
Actual Return Reason | Communicates the warehouse inspection result. |
Notes / photo / grade (when applicable) | Provides evidence and context for flagged returns. |
Completed timestamp | Indicates when warehouse processing was completed. |
Cancellation Data
Cancellation Data | Purpose |
Loop Return ID / RMA number | Identifies the return cancelled in Loop and the Logiwa Return Order to update. |
| Supports matching the return to the original Shopify shipment. |
Current Logiwa Return Order status | Determines whether the Return Order can still be cancelled or should be skipped. |
Cancellation API result | Confirms whether Logiwa accepted the cancellation or an error must be reviewed. |
Error Handling & Duplicate Protection
The workflow validates returns before creating or updating RMAs. Duplicate RMAs and return-creation failures are logged so the same return is not created repeatedly.
Scenario | Expected Behavior |
RMA already exists / already completed | No duplicate completed return is created; the condition is logged for review. |
Original Shopify Shipment Order cannot be found | Return creation cannot proceed — Logiwa cannot link the RMA to the original Shipment Order. |
Product/SKU cannot be mapped | The affected return cannot be created correctly until the product mapping is resolved. |
API/connection failure | The failure is logged and should be reviewed by the integration/support team. |
Loop return cancelled but Logiwa RMA already completed/cancelled | Skip the cancel API call and log the current status so an invalid or duplicate cancellation is not sent. |
Cancelled Loop return cannot be matched to a Logiwa Return Order | Do not create a new return. Log the exception for reconciliation. |
Common Questions & Edge Cases
What happens if the received quantity exceeds the PO quantity?
This scenario is specific to standard receiving, not Loop returns — see the Return Guide for general receiving edge cases.
Can I use this integration if my Shopify orders come in through an ERP or middleware instead of Logiwa's native Shopify integration?
Not by default. The standard workflow relies on the SPY- order-matching pattern created by Logiwa's native Shopify integration. Contact Logiwa before onboarding — a custom workflow may be required.
Do I need dedicated exception SKUs like EMPTY_BOX or NON_RETURNABLE?
Only if your warehouse process requires a scannable placeholder when the actual item can't be scanned. If the actual item is available to scan, use it with the appropriate Actual Return Reason instead.
What happens if only part of a multi-line RMA is rejected?
Accepted lines are preserved and processed normally. Any rejected or exception line flags the entire Loop return for merchant review, even though other lines were accepted.
Recommended Go-Live Checklist
Confirm the client uses Logiwa's native Shopify integration, or have Logiwa review the custom order flow before proceeding.
Confirm Shopify orders in Logiwa use the expected
SPY-{Shopify Internal Order ID}Shipment Order Code format.Generate and securely provide the Loop API key.
Connect Loop Returns from Integrations > Store and Marketplace > Loop Returns.
Create the Return Station location in the correct Logiwa warehouse.
Configure the six flag-triggering Return Reasons and any normal accepted reasons used by the operation.
If using exception barcodes, create the required scannable Logiwa SKUs (
EMPTY_BOX,NON_RETURNABLE,RETURN_REJECTED,MISSING_COMPONENTS) and confirm the inventory handling procedure.
💡 Getting Started: For a standard native-Shopify implementation, the main setup items are straightforward: connect Loop with an API key, confirm the SPY- order relationship is present, create the Return Station location, configure return reasons, and run one accepted and one flagged return through UAT.
