Operations

Refunds

Refunds are issued from the order they belong to, executed through the marketplace API, and mirrored into a credit note so your books, stock and reports stay aligned.

On this page

Refund types

Full refund

Use when
The whole order is returned or cancelled after payment
Amount
All items + shipping + tax

Partial — by line

Use when
Some items come back
Amount
Selected lines and quantities, tax recalculated

Partial — goodwill amount

Use when
Compensation without a return
Amount
A free amount up to the remaining refundable total

Shipping only

Use when
Late or failed delivery
Amount
Shipping line only

Issuing a refund

  1. 1

    Open the order

    Orders → the order → Start return. Refunds run through Returns, so Owner, Admin, Supervisor, Manager and Support can refund; Finance sees the resulting credit notes.

  2. 2

    Choose scope

    Pick full, select lines and quantities for a line refund, or enter a goodwill amount. Include or exclude shipping explicitly.

  3. 3

    Decide on restocking

    Tick restock to return units to on-hand stock. Leave it off for damaged or discarded goods.

  4. 4

    Add a reason and confirm

    The reason is stored on the credit note and passed to the channel where required. The refund is submitted to the marketplace and tracked until confirmed.

Important

Submitted refunds cannot be recalled from CrowPrime. Verify the amount before confirming.

What a refund changes

  • Order status becomes refunded or partially_refunded, with the refund on the order timeline.
  • A credit note is generated referencing the original invoice number, with tax split per rate.
  • Stock increases only if restock was selected, immediately triggering a cross-channel sync push.
  • Dashboard net revenue and the VAT report reflect the refund on its own date, not the order date.
  • The remaining refundable amount on the order is reduced, so repeated partial refunds can never exceed the order total.
  • Double submissions are stopped server-side: the same money cannot be refunded twice, even if confirm is clicked twice.
  • Refunds into an already closed fiscal month are blocked to protect your books; post them in the current month instead.
json
{
  "refund_id": "rfn_5MTQ2",
  "order_id": "ord_8QF2K",
  "type": "partial",
  "lines": [{ "sku": "MUG-BLU-350", "qty": 1, "amount": 14.90, "vat_rate": 19 }],
  "shipping_refunded": 0,
  "restock": true,
  "credit_note": "INV-0001-G",
  "status": "confirmed"
}

Channel-specific rules

eBay

Notes
Full and partial refunds are issued through the eBay API; CrowPrime enforces the remaining refundable balance (it does not enforce a fixed day window — handle expired cases in the eBay seller portal)

Shopify

Notes
Full refunds and per-line partial refunds (including optional shipping) are issued through the Shopify API

TikTok Shop

Notes
Refunds are issued by approving the buyer's return request; terminal return states cannot be approved

Amazon

Notes
Refunds are imported from Amazon's finance data rather than issued from CrowPrime; fee reimbursements are reported separately

Etsy

Notes
Etsy has no refund API — CrowPrime opens the Etsy order page so you can refund there, and imports the result on the next sync; if an amount cannot be matched, the credit note is marked manually settled

Failed refunds

  • Rejections keep the order unchanged and show the channel error on the refund attempt.
  • Common causes are exceeding the remaining refundable amount, an already-refunded amount, a closed return state on the channel, or insufficient marketplace balance.
  • After settling manually in the seller portal, record the refund in CrowPrime as externally settled so the credit note and reports match reality.
  • When goods come back physically, track them under Returns — refunds here only move money.