Orders & fulfillmentHandle returns and exchanges

Handle returns and exchanges

A customer wants to send goods back. Approve or decline the request, record what arrives, and close it with a refund to the original payment or an exchange.

Brainerce has a returns system. A customer who signed in to your storefront asks to send goods back (or you open the request for them), you approve or decline it under your return rules, you record what actually arrived, and you close it with either a refund to the original payment or an exchange. Every return has its own number (R-1001, R-1002 and so on) and a status, and you work each one from the order it belongs to: open the order and the return shows in the order's window as a button such as Return R-1001 requested, which opens it.

There is no separate Returns page, no Returns item in the sidebar and no counter of waiting requests. The orders list does not mark an order that has a return either. You find a request that waits for your decision through the email you get when it arrives (see What the customer sees and what you see), or by setting the Returns filter on the Orders list to Waiting for a decision, then opening that order.

A return is not the same thing as a refund. The return is the request and the goods coming back. The refund is the money. Closing a return with a refund pays it for you, from the return, so the stock and the money are done in one step from what you counted.

What a return does and does not do

  • Returns are off until you turn them on. A store that never saved its return rules accepts no returns: a customer cannot ask. Turn them on on the Orders page: open the ⋮ menu in the header of the table's last column (not a row's menu), choose Order Settings, then Returns & exchanges (see Return rules).
  • Only a signed-in customer can ask for a return. A guest who checked out without an account cannot request one. If a guest writes to you, open the return yourself (see Open a return for a customer).
  • Approving moves no money and no stock. Nothing is refunded and no unit goes back on the shelf until you close the return.
  • An exchange moves no money and creates no new order. You send the replacement yourself, as an ordinary order, and you settle any price difference with the customer yourself. See Close a return as an exchange.
  • Brainerce does not create a return shipping label from a return. There is no label button on the return. Tell the customer where to send the goods in the instructions you write in the return rules, which go out in the approval email.
  • There is no store credit. The refund goes back to the original payment, never to a store balance.
  • There are no photos. The customer's request has a reason and a note, not pictures.

Turn returns on and decide the rules first

On the Orders page, open the ⋮ menu in the header of the last column (not a row's menu), choose Order Settings, then Returns & exchanges. Nothing below works for a customer until Accept return requests is on and you have selected Save rules. The rules decide the return window, which products cannot come back, whether requests are approved automatically, and the fee you keep. They are explained in Return rules. Changing the rules later never touches a return that already exists.

How a customer asks for a return

On a storefront built with the current SDK or the starter template, a signed-in customer opens an order in their account and asks to return some of its items. They pick the lines and quantities, a reason, and can add a note. A storefront built before returns existed needs updating before it shows the request button (see the SDK guide). Brainerce checks the request against your rules again on the server, so a customer cannot return something the rules refuse.

A request is refused, with the reason, when:

  • The order has not shipped yet. An order that is still being prepared is cancelled or refunded, not returned.
  • The return window is over. The window is counted from delivery. When the delivery date is not known it falls back to the date the order was marked delivered, then the shipping date, then the order date.
  • The product is marked final sale in your return rules (by product, category or tag).
  • The line is a gift card, a digital download or a bundle. These are never returnable.
  • The units were already refunded or are already in another open return. A customer cannot return more units than they bought, counting what was refunded and what is already waiting in another return.
  • Returns are switched off in your rules.

Open a return for a customer by phone or email

When a customer writes or calls instead of using the storefront, open the return yourself from the order. A return you open starts Approved (it does not wait for a decision) and the customer is told how to send the goods back. You choose the lines, the quantities, a reason and whether it is a refund or an exchange.

When you open it yourself you can accept a return the rules would refuse: a late one, or a final-sale product. The window and the final-sale list only stop the customer asking. They never stop you. Gift cards, downloads, bundles, units already refunded and an order that has not shipped stay refused even for you. An order imported from another platform (read only) cannot have a return opened either.

Approve or decline a return request

Open the order named in the new-request email. A request that waits for your decision shows in the order's window as Return R-1001 requested. Open it to read the items, the quantity of each, the reason and the customer's note. Only returns that are still being worked show as these buttons: a Completed, Declined or Cancelled return no longer does, and you read it in the order's history instead.

  • Approve. The customer is emailed that it was approved together with your return instructions from the return rules (for example the address to send the goods to). Approving moves no money and records no goods.
  • Decline. You write a message to the customer and, separately, an internal reason. The message is shown to the customer in the email and on their order. The reason is only for your team and is never shown to them. A declined return cannot be reopened: if you change your mind, open a new return for them yourself.

If Approve requests automatically is on in your rules, a request that passes the rules is approved at once and never waits in Requested.

Cancel a return

In the dashboard, open the order, open the return and select Cancel return while it is Approved or Received. A return that is still Requested has Approve and Decline buttons instead and no cancel button there. A customer can cancel their own request only while it still waits for your decision. Cancelling sends the customer no email, and it is final: a cancelled return cannot be reopened. A cancelled return frees its units, so they can be returned again. Cancelling a return that is already Completed is not possible: a refund that was paid is not undone from here.

Record the goods you received

When the parcel arrives, open the order, open the approved return from its button and choose Receive. For each item enter:

  • How many arrived, from 0 up to the quantity requested. At least one unit must have arrived. If nothing came back, cancel the return instead.
  • Whether those units go back on sale. Leave it off for goods that came back damaged.

This is your count, not the customer's. A customer who asked to return 3 and sent 2 gets a return for 2: enter 2. Receiving moves no money and puts nothing back in stock yet. Both happen when you close the return, from the quantities you entered here.

Close a return with a refund

Open the Received return and choose Complete, with the resolution Refund. Brainerce then does what a refund does, from what you counted:

  • The goods that arrived are refunded to the original payment, through your payment provider, at the price the customer actually paid for those units. Discounts and a promo code that applied to the line are already in that price, and so is the tax on it. Shipping is never included. If you want to give shipping back too, refund that amount separately from the order (see Refund an order).
  • The refund email goes to the customer as it does for any refund. Turn off Notify customer to skip it.
  • You see the exact amount only when it runs. Brainerce works it out from the order, the quantities you received, the tax and the fee, so it is not an amount you type.
  • It cannot be undone. The money is sent back through your provider.

You need two permissions to close a return with a refund: Manage Returns to work the return, and Refund orders to move the money. A team member who can handle returns but not refund orders can approve, decline and receive, and gets a refusal when they close it. The return stays Received and a person with the refund permission closes it. See Team and permissions.

A refund closes under the same limits as any refund. The payment must be captured (shown as Paid), and an order paid outside Brainerce or through a provider Brainerce cannot refund through is refunded where the money was received. See why you cannot refund an order. When the refund fails, the return stays Received so you can fix the cause and try again. A second try never refunds twice.

Close a return for an order paid by hand (cash or bank transfer)

An order that was paid by hand (cash, a bank transfer, a counter sale) has no card or payment provider behind it, so Brainerce cannot send the money back, and closing the return with Refund and close fails with "Payment has no associated app installation". For these orders tick I paid the customer back myself in the Close with a refund box, then choose Close, refunded by hand.

  • Brainerce sends no money and makes no refund record. You pay the customer back yourself, outside Brainerce, for the amount you agreed.
  • The goods you marked Restock go back on your shelf, the same as in an exchange. Goods you did not mark stay written off.
  • There is no restocking fee and no refund email on this path. Brainerce is not paying anything, so there is nothing for it to calculate or announce. Tell the customer yourself.
  • You still need the Refund orders permission to close it this way, as for any refund.
  • The return shows Completed, with no refund attached to it. The order's balance and its payment status are not changed by this step.

A restocking fee is the amount you keep out of the refund. When you close the return:

  • Leave the fee box empty to apply the percentage from your return rules, if you set one.
  • Type an amount (in the order's currency) to set the fee yourself.
  • Type 0 to waive the fee for this return.

The fee comes off the value of the goods. A fee as large as the goods themselves is refused. If the order has no per-line prices to take a percentage from, close it without a fee or refund the amount by hand. A fee applies to a refund only. An exchange has no fee.

What a refund from a return does not undo

A return refund is a partial refund, like refunding specific items. It does not reverse the loyalty points the order earned, release the promo code back to the customer, or lower their lifetime spend. Those stay as they are. See what a partial refund does not undo.

Close a return as an exchange (no money moves)

Choose Complete on a Received return whose resolution is Exchange.

  • No money moves. Nothing is refunded and nothing is charged.
  • No replacement order is created. Brainerce does not ship the new item for you and does not link a new order to the return.
  • You send the replacement yourself. Create it as an ordinary order (see Create an order by hand) or send the customer a checkout link, and ship it as usual.
  • You settle any price difference yourself. If the replacement costs more, collect the difference. If it costs less, refund the difference from the order. Brainerce does not calculate it.
  • You can note the replacement. Type the number of the order you created in the replacement order box so the return points at it. This is only a note on the return.
  • The returned goods go back on the shelf if you marked them as sellable when you received them. Goods you marked as damaged stay out of stock.

If the order has not shipped yet, you do not need an exchange at all: use Edit items on the order (see Edit the items of an order).

What happens to your stock

Stock changes in one moment only: when you close the return.

You close it asMarked "go back on sale"Marked damaged
RefundThe units are added back to your stock.The units are written off, not left on sale.
ExchangeThe units are added back to your stock.The units stay out of stock.

Approving, declining and receiving change no stock. A return you decline or cancel never touched your stock. A damaged unit is never added back, because Restock off means written off, not "leave my stock alone". See what the restock tick box does.

Partial returns and returning in batches

A return can cover some of the lines of an order, and some of the units of a line. A customer can ask again later for the rest.

  • A unit can be in one open return at a time. Units in a return that is Requested, Approved, Received or Completed are not available for another return. A declined or cancelled return frees them.
  • Units already refunded cannot be returned. If you refunded a line by items first, only what is left can come back.
  • You can receive fewer than requested. Enter what actually arrived. The rest is not refunded and not restocked.

What the customer sees and what you see

  • The customer gets an email when they ask, when you approve (with your instructions), when you decline (with your message) and when you close it. They see the status of each return in their account. They never see your internal notes or the internal decline reason.
  • You get an email when a new request arrives. A return shows in the order history of its order, step by step: requested, approved or declined, received, completed, with who did it.
  • Your own systems can follow returns through webhooks: the events are return.requested, return.approved, return.declined, return.received, return.completed and return.cancelled.

Not supported

Brainerce's returns do not cover, and you will not find a setting for:

  • Return shipping labels created from a return. There is no label button on the return, and the customer is not sent a prepaid label. (Buying a return label for an order is a separate action that works only with EasyPost, and is not part of the return. See Shipments.)
  • Store credit instead of a refund.
  • Automatic replacement orders for an exchange.
  • Returns requested by guests who are not signed in.
  • Photos with the request.
  • Charging the customer for return postage or any fee other than the restocking fee.

Ask the AI assistant or a connected AI

You can handle returns by asking BOBO: list the returns waiting for you, read one, approve or decline it, record what arrived, and close it. Every step shows an approval card first and nothing happens without your yes. Closing a return with a refund moves money and cannot be undone: the assistant cannot know the exact refund amount before it runs (Brainerce prices it), so the card says so. For an order paid by hand (cash, bank transfer) tell BOBO you already paid the customer back yourself: it closes the return as refunded by hand, with a card that says Brainerce sends no money and no email, and it will not offer that for a card order. A connected AI assistant on the admin MCP can read returns, open, approve, decline and receive them, but closing a return with a refund is not available there: do that in the dashboard or in BOBO. See Connect an AI assistant.

What's next?

Questions about a specific return? Email [email protected].