Commerce glossary

Returns and exchanges

How a customer sends items back and what they get for them: the request, the policy that limits it, the way the parcel travels back, the check on arrival and the refund, credit or exchange.

36 parts and 18 phrases. Apps in this area include Loop Returns, AfterShip Returns, Narvar, ReturnGO, Happy Returns.

Starting a returnreturns.requestShowWhere and how a return request is made.

How to extend

  • SlotOne per storeaccount.slot.order_status.mainOne returns plugin per store may render its own portal on the customer's order page in place of the core request form.
  • EventMany side by sideevent.return.requestedA plugin reacts to each new return request through the return event.
PartLitestore todayHow to extend
Return request formreturns.request.formA form on the customer's order page where they choose items and give a reason to request a return.
Coremodules/orders/storefront/returns/actions.ts
Slot · oneEvent · many
Item selectionreturns.request.item_selectThe choice of which order lines and how many units to send back, limited to what is still returnable.
Coremodules/orders/returnable.ts
Slot · oneEvent · many
One open return per orderreturns.request.one_openA rule that rejects a new request while another return on the same order is still open.
Coremodules/orders/returns/customer-return.ts
Slot · oneEvent · many
Staff-created returnreturns.request.staff_createdA return that staff open in the admin on the customer's behalf, for example after a phone call.
Coremodules/orders/admin/returns/workflows.ts
Slot · oneEvent · many
Guest return lookupreturns.request.guest_lookupA page where a customer without an account finds the order by number and email to start a return.
Plugin
Slot · oneEvent · many
Return requested emailreturns.request.confirmation_emailAn email that confirms the request and lists the items the customer asked to return.
Coremodules/email/templates/return-requested.tsx
Slot · oneEvent · many
Return policy rulesreturns.policyShowWhat may be returned, for how long, and why.

How to extend

  • Core onlyThe window and returnable quantity gate refunds, a conserved amount, so they stay in core; richer rule sets come with a returns plugin.
PartLitestore todayHow to extend
Return windowreturns.policy.windowThe number of days after delivery, or after purchase, during which a return or refund may be requested.
Coremodules/orders/refund-window.ts
Core only
Delivered units onlyreturns.policy.delivered_onlyA rule that only units on a delivered or collected shipment count as returnable, while digital lines use the ordered quantity.
Coremodules/orders/returnable.ts
Core only
Return reasonreturns.policy.reason_textA free-text reason stored on the return and on each returned item.
Coreprisma/schema.prisma
Core only
Reason listreturns.policy.reason_listA fixed list of reasons, such as too small or arrived damaged, that the customer picks from.
Plugin
Core only
Final sale itemsreturns.policy.final_saleProducts or collections marked as not returnable.
Plugin
Core only
Conditional rulesreturns.policy.conditional_rulesRules that change the window, allowed resolutions or fees by product, order value, customer tag or country.
Plugin
Core only
Photo evidencereturns.policy.photo_evidencePhotos the customer must upload, for example of a damaged item, before the request is sent.
Plugin
Core only
What the customer getsreturns.resolutionShowThe outcome of a return: money back, credit or another item.

How to extend

  • Core onlyRefunds and store credit move conserved money, so the refund path stays in core.
  • Assistant toolMany side by sideproposeRefundThe assistant proposes a refund for staff approval through its refund tool.
PartLitestore todayHow to extend
Refund to original paymentreturns.resolution.refund_originalA refund sent back to the card or wallet the customer paid with, through the payment provider.
Coremodules/orders/refunds/refund-requests.ts
Core onlyAssistant tool · many
Store creditreturns.resolution.store_creditA refund paid as a balance the customer spends on a later order instead of money back.
Coremodules/orders/refunds/refund-requests.ts
Core onlyAssistant tool · many
Manual refundreturns.resolution.manual_refundA refund recorded as paid outside the payment provider, such as cash or bank transfer.
Coremodules/orders/refunds/refund-requests.ts
Core onlyAssistant tool · many
Refund without returnreturns.resolution.refund_onlyA refund request approved on its own, with no return parcel, so the customer keeps the item.
Coremodules/orders/refunds/refund-requests.ts
Core onlyAssistant tool · many
Like-for-like exchangereturns.resolution.exchange_sameA new order for the same product in another size or colour, sent in place of a refund.
Plugin
Core onlyAssistant tool · many
Exchange for another productreturns.resolution.exchange_otherA credit of the return's value spent on a different product during the return, with any price difference charged or refunded.
Plugin
Core onlyAssistant tool · many
Exchange sent before receiptreturns.resolution.exchange_before_receiptAn exchange shipped before the returned item arrives, with a hold on the customer's card until it does.
Plugin
Core onlyAssistant tool · many
Extra credit for keeping valuereturns.resolution.credit_incentiveExtra credit, as a fixed amount or a percentage, added when the customer picks an exchange or store credit over a refund.
Plugin
Core onlyAssistant tool · many
Getting the item backreturns.shippingShowHow the returned parcel travels to the store.

How to extend

  • ProviderMany side by sidereturn labelsA label or drop-off provider creates return labels and QR codes and writes the tracking number onto the return.
PartLitestore todayHow to extend
Return methodreturns.shipping.methodHow the item comes back: on a store-paid label, sent by the customer, or handed over in person.
Coreprisma/schema.prisma
Provider · many
Return tracking numberreturns.shipping.trackingThe tracking number of the parcel on its way back, stored on the return.
Coreprisma/schema.prisma
Provider · many
Prepaid return labelreturns.shipping.prepaid_labelA postage label bought by the store and sent to the customer to print.
Plugin
Provider · many
QR code drop-offreturns.shipping.qr_codeA code the customer shows at a carrier counter instead of printing a label.
Plugin
Provider · many
Drop-off networkreturns.shipping.drop_off_networkA network of partner shops that accept returned items without a box or label and consolidate them.
Plugin
Provider · many
Return shipping feereturns.shipping.label_feeAn amount taken off the refund to cover the return label.
Plugin
Provider · many
Receiving and restockingreturns.receiveShowStaff review, the check on arrival and putting stock back.

How to extend

PartLitestore todayHow to extend
Approve or rejectreturns.receive.approveA staff decision recorded on the return as an approved or rejected date.
Coremodules/orders/admin/returns/workflows.ts
Event · manyCore only
Return assigneereturns.receive.assigneeThe staff member responsible for working a return, used for a my-work filter.
Coremodules/orders/admin/returns/assignee-picker.tsx
Event · manyCore only
Mark receivedreturns.receive.mark_receivedA staff action that records the parcel's arrival and starts restocking and the refund proposal.
Coremodules/orders/admin/returns/workflows.ts
Event · manyCore only
Item conditionreturns.receive.conditionA note on each returned item describing its state on arrival.
Coremodules/orders/admin/returns/return-items-card.tsx
Event · manyCore only
Restockreturns.receive.restockAdding returned units back to sellable stock unless their condition reads as damaged, used or faulty.
Coremodules/orders/returns/restock.ts
Event · manyCore only
Refund on receiptreturns.receive.refund_on_receiptA refund request created from the received items so money moves only after the goods arrive.
Coremodules/orders/admin/returns/workflows.ts
Event · manyCore only
Refund on first scanreturns.receive.refund_on_scanA refund issued as soon as the carrier first scans the return parcel.
Plugin
Event · manyCore only
Return abuse rulesreturns.fraudShowLimits on customers who return too often.

How to extend

  • ProviderMany side by sidereturn risk checkA risk plugin scores returns from its own data; core keeps a request limit.
PartLitestore todayHow to extend
Request limitreturns.fraud.request_limitA cap on how many refund requests one customer may make within a set number of days.
Coremodules/operations/activation-rules.ts
Provider · many
High return rate flagreturns.fraud.return_rate_flagA flag on customers whose return rate passes a set level, used to block or limit their returns.
Plugin
Provider · many

What the phrases mean

The words apps use for a feature, and the plain parts the feature is made of, in the order they happen.

Phrases left out

These phrases mean different things at different apps, so the glossary doesn't map them.

  • return routingMeans choosing a return warehouse at one vendor and choosing which return methods to offer at another.
  • green returnsCovers keep-the-item refunds, consolidated drop-off and donation at different vendors.
  • return insuranceMeans a shopper-paid cover for return shipping at some vendors and package protection that includes returns at others.

Sources

The app documentation these parts were checked against.