- Ordering
Order returns
OrderCloud provides comprehensive features for managing the complete order return process. This functionality enables businesses to handle returns, refunds, and related workflows while maintaining flexibility for different business requirements.
Key features
Return structure
- Each
OrderReturnlinks to an existingOrder ItemsToReturnconnects to existingLineItems- No minimum requirements for items or quantities
- Supports physical and non-physical returns
Flexible refund options
- Process returns without physical items
- Handle partial refunds for:
- Expedited shipping charges
- Processing delays
- Damaged items
- Service adjustments
Access control
-
Shopperrole users:- Create returns for their orders (
Order.FromUserID) - Limited to their own transactions
- Cannot process anonymous returns
- Create returns for their orders (
-
OrderAdminrole users:- Create returns for visible orders based on scope:
- Marketplace Owners: All marketplace orders
- Suppliers: Orders placed to them (
Order.ToCompanyID) - Buyer users: Company orders (
Order.FromCompanyID)
- Create returns for visible orders based on scope:
Order requirements
- Status must be
OpenorCompleted - For
Openorders:- Only shipped items eligible
- Quantity restrictions based on shipment status
Policy management
- Implement date-based return policies through:
- User interface controls
SellerApprovalRulesconfiguration- Custom validation rules

OrderReturn resource
Core model for managing returns:
Item return details:
API endpoints
Return management:
GET v1/orderreturns(supportsapprovablefilter for pending approvals)GET v1/orderreturns/{returnID}POST v1/orderreturnsPUT v1/orderreturns/{returnid}PATCH v1/orderreturns/{returnid}DELETE v1/orderreturns/{returnid}
Item management:
DELETE v1/orderreturns/{returnid}/items/{lineitemid}- Create/update items via OrderReturn endpoints
Status management:
POST v1/orderreturns/{returnid}/submitPOST v1/orderreturns/{returnid}/approvePOST v1/orderreturns/{returnid}/declinePOST v1/orderreturns/{returnid}/cancelPOST v1/orderreturns/{returnid}/complete
Approval management:
GET v1/orderreturns/{returnID}/approvalsGET v1/orderreturns/{returnID}/eliglbleapprovers
Important notes
Required fields:
OrderIDon OrderReturnLineItemIDon ItemsToReturn
Refund handling:
OrderReturn.RefundAmount: Automatically calculated as sum of ItemsToReturn RefundAmountsOrderAdminusers can set RefundAmount directly when no items are returned- Supports partial and full refunds
SellerApprovalRule resource
Configuration model for return approval rules:
API endpoints
Rule management:
GET v1/approvalrulesGET v1/approvalrules/{ruleID}POST v1/approvalrulesPUT v1/approvalrules/{ruleID}PATCH v1/approvalrules/{ruleID}DELETE v1/approvalrules/{ruleID}
Important notes
Access control:
- Not available to buyer users
OwnerIDidentifies rule owner organization- Only Marketplace Owner can set other organization IDs
- Used for ApprovingGroupID lookup and admin eligibility
Date-based rules:
-
Uses
now()function for time-based policies -
Example: 30-day return window
-
Can combine with UI validation
Current support:
OrderReturntype only- Future expansion planned for Order Approvals
OrderReturn integration event
OrderCloud provides integration flexibility for refund calculations, recognizing that businesses may have complex requirements involving:
- Tax adjustments
- External system synchronization
- Custom calculation rules
- Business-specific policies
OrderCloud payload
Expected response
Integration notes
Implementation:
- Endpoint:
/calculateorderreturnatCustomImplementationUrl - Internal OrderCloud call on return creation/update
- Middleware updates must wait for response completion
Execution rules:
- Skipped if
OrderAdminprovides valid refund amounts - Sets null refunds if no integration event for
Shopperrole - Supports custom calculation logic
Message sender types
Notification events:
OrderReturnSubmittedOrderReturnApprovedOrderReturnDeclinedOrderReturnCompletedOrderReturnSubmittedForApprovalOrderReturnSubmittedForYourApprovalOrderReturnSubmittedForYourApprovalHasBeenApprovedOrderReturnSubmittedForYourApprovalHasBeenDeclined
Note: For marketplace owner assignment, leave both BuyerID and SupplierID null
Additional properties
Payment.OrderReturnID
- Links payments to OrderReturn.PaymentIDs
- Enforces refund limits:
- Cannot exceed Order.Total
- Cannot exceed OrderReturn refund amount
- Requires negative Payment.Amount for refunds
- Automatically completes OrderReturn when refund amounts match
Product.Returnable
- Controls product return eligibility
- Restricts non-OrderAdmin users based on setting
- Supports product-level return policies
ApiClient.OrderReturnIntegrationEventID
- Enables integration event for return processing
- Triggers on return creation and updates
- Supports custom calculation logic
System maintenance
Cleanup process:
- Targets unsubmitted returns
- Deletes after 14 days without updates
- Maintains system efficiency