“We received the order PO-12345 yesterday but 6 of the 24 cases of saffron arrived crushed.”
Net-terms invoicing. Credit-memo posting. Routes to your AR/finance — not your CS queue.
A B2B return isn't a refund. It's a credit memo against an open invoice. Generic returns apps don't speak this language; they fire orderRefund and create an accounting reconciliation problem. Eturns posts a credit memo to AR/finance, leaves the cash flow alone, and excludes marketplace orders properly.
Free plan included · 5-minute install · no credit card
Why generic returns apps make a mess of B2B accounting
A wholesale customer with net-30 terms returns 12 units of a 100-unit order. Generic apps fire orderRefund and credit the customer's card — except the customer hasn't paid the invoice yet. Now your AR team has a refund pointing at unpaid invoice, a duplicate credit pending, and a reconciliation nightmare. Eturns generates a credit memo against the open invoice, leaves cash alone, and routes everything to ar_finance with the line items pre-coded. Marketplace orders (Faire, Tundra, Bulletin) get the proper exemption flow.
One conversation, three roles played: customer, AI, your team.
Recognizes B2B language (PO, cases, account-style customer), confirms the order is on net-30 terms, requests photos of the BoL + outer cartons + crushed cases. Opens an ar_finance escalation tagged 'freight_damage_with_bol — credit_memo' with the photos pre-attached. Tells the customer a credit will post to their account within 2 business days.
Credit memo posted to the open invoice. Customer's AR contact sees the credit on the next reconciliation. Carrier claim runs in parallel. No cash refund issued, no accounting reconciliation pain.
6 defect categories tuned for b2b.
Each category controls which photo the AI requests, which department the case routes to, and which SLA the customer hears. Turn any of them off in your merchant dashboard.
Credit memo against open invoice
credit_memo_requestNet-terms customer with unpaid invoice. AI generates a credit memo line, routes to ar_finance, and never fires orderRefund.
Marketplace order (Faire / Tundra / Bulletin)
marketplace_exemptMarketplace platforms handle their own returns. AI detects marketplace tags on the order and routes the conversation to the marketplace's return flow + a courtesy CS escalation, not a Shopify-side refund.
Volume-discount rebate dispute
volume_rebateCustomer crossed a quantity threshold but didn't get the rebate. AI checks order line totals against the merchant's tier table and routes to ar_finance for credit posting if eligible.
Wrong SKU / unit-size shipped
wrong_specificationB2B units (cases, pallets, dozens) often differ from retail. AI confirms unit size and routes to fulfillment with the corrected pick.
LTL freight damage on B2B shipment
freight_damage_with_bolSame as retail freight flow but routes to ar_finance for line-item credit instead of customer refund.
Minimum-order or MOQ dispute
minimum_order_disputeCustomer ordered below MOQ but the system let it through. AI routes to ar_finance to decide between honoring or correcting the order.
Specialist destinations, not a generic CS queue.
Eturns ships with 14 routing destinations beyond CS. The b2b disclosure profile uses these:
| Department | Triggered when | SLA the customer hears |
|---|---|---|
ar_finance | Credit memo, volume rebate, MOQ dispute, B2B refund-equivalent | Credit posted within 2 business days; reflected on next invoice |
fulfillment | Wrong SKU / unit-size / pick error | Same-day correction shipment |
carrier_claim | LTL freight damage with bill-of-lading evidence | Claim filed within 24h with photos + BoL pre-attached |
concierge | Key-account customer or any claim above your strategic threshold | Account manager hand-off within 4 hours |
Standard with B2B overlay
The B2B overlay activates on customer accounts tagged as wholesale / net-terms / marketplace. AI references the open-invoice context, never offers a refund-to-card on a net-terms account, and uses business-grammar copy ('your account,' 'this PO,' 'your AR contact') instead of consumer-style copy.
If your store sells any of these, the b2b profile fits you.
- B2B / wholesale Shopify Plus brands
- Specialty food distributors (saffron, olive oil, specialty grain)
- B2B beauty + cosmetics distributors
- Industrial / hardware / parts distributors
- Marketplace sellers using Shopify Plus + Faire / Tundra / Bulletin
Frequently asked.
How does the AI know an account is B2B vs retail?
Customer tags + customer email pattern + order line item characteristics (unit-size, MOQ, freight method). You can also set the disclosure profile per customer manually for key accounts.
What happens with marketplace orders?
Marketplace orders (Faire, Tundra, Bulletin) get the marketplace_exempt flow. AI directs the customer to the marketplace's return process and opens a courtesy CS escalation so your team is aware. No Shopify-side refund is fired.
Can it handle volume-discount rebates?
Yes — checks order line totals against your tier table. If the customer crossed a threshold the order missed, ar_finance gets a credit-posting escalation. If they're disputing without crossing the threshold, AI explains the tier rules and the conversation routes to your account manager.
Ready to give b2b the returns flow it deserves?
Install Eturns from the Shopify App Store. Free plan included. Setup takes 5 minutes — the AI auto-detects b2b from your products and policies.