All articles

Sales

Returns and Exchanges

Process customer returns, exchanges, and refunds — using mixed-line invoices the way Home Depot and Macy's do at the counter.

Returns and Exchanges

JewelTrak handles returns and exchanges using mixed-line invoices — the same model used by big-box retail (Home Depot, Macy’s, etc.). Returns are negative-quantity lines; exchanges combine return lines + new purchase lines on a single invoice. The accounting layer (QBO push, sales tax, sales reports) splits the polarity correctly behind the scenes, so the counter UX stays one ticket.

Three common scenarios

1. Customer returns one item — no exchange

  1. Create a new invoice for the customer.
  2. Add the returned item as a negative-quantity line. Use Source = Previously Purchased to search for the item on the customer’s prior invoices, then enter -1 in the quantity field. Cost, unit price, and tax all flip negative automatically.
  3. The invoice net total is now negative — that’s how much you owe the customer.
  4. On the Payments tab, click + Refund Customer (the toolbar button automatically becomes amber when the invoice net is negative).
  5. Pick a refund method:
    • Refund Stripe charge — picker shows the customer’s recent Stripe-paid charges with remaining refundable balance. Pick one → the actual Stripe refund is issued and a negative payment row attaches to this return invoice.
    • Issue store credit — creates a storecredits row tied to this invoice; customer can use it on a future sale.
    • Issue gift card — type a card number; creates a giftcards row.
    • Cash refund — record cash returned to customer.
    • Check refund — record check + check number.
  6. Save. Invoice balance hits zero.

2. Customer returns one item AND buys a new one (exchange)

  1. Create a new invoice.
  2. Add the returned item (-1 qty, Source = Previously Purchased).
  3. Add the new purchase (positive qty, regular search).
  4. The invoice net is the difference:
    • Customer owes you (new > return): standard + Record Payment flow on the Payments tab.
    • You owe customer (return > new): + Refund Customer flow as above.
  5. Sales tax recalculates on the net automatically.
  6. One receipt prints.

3. Swap payment method on an existing invoice

Different scenario: the customer paid by Stripe but wants to switch to check (or vice versa). No items are changing.

  1. Open the original invoice.
  2. On the Stripe payment row, click Refund (per-row button — the existing one).
  3. Stripe refunds the card.
  4. Click + Record Payment with the new method.
  5. Net result: balance back to zero with a different payment composition.

This is the only scenario for the per-row Refund button. For actual returns, use the workflows above.

Behind the scenes

  • Sales tax: surtax is computed per-line — including the negative return lines. Returns reduce sales tax owed; the math works out automatically.
  • Inventory: negative-qty lines automatically increment QOH (returned items go back on the shelf). Same counter logic as everywhere else.
  • Channel sync (Shopify etc.): inventory restock pushes to connected channels.
  • QBO push: a mixed-line invoice pushes to QBO as two separate documents — an Invoice for the positive lines + a Credit Memo for the negative lines. Both documents reference the JewelTrak invoice ID in their PrivateNote so you can trace either side back to the unified record.
  • Sales reports (sales register, sales by customer / salesperson, daily summary, etc.) net-include returns automatically: they show net sales (gross sales − returns) on the line. Each report can be filtered by date range to see returns activity.

What about voiding instead of returning?

Void is for canceling an invoice in error — you typed it wrong, the customer never actually bought anything, etc. Voids reverse inventory but do NOT refund Stripe payments (industry standard — Stripe charges may have already settled, and you might want to keep the funds as store credit). After voiding a Stripe-paid invoice, click Refund on the original Stripe payment row to actually return the money.

Returns are for customers bringing items back after a real sale. Use the negative-line invoice workflow above. Maintains the customer’s purchase history correctly and gives them a return document for their records.

Trades

Trade-ins (customer brings something new in to offset a purchase) are a separate concept — they use the 'T' line type on the invoice with TradeInActualValue. Not the same as a return. See store-configuration article for trade setup.

See also

  • Refund a Stripe Payment — the per-row Refund button on the Payments tab (swap-payment-method case)
  • Applying Payments — the broader payment recording model
  • Invoices: Finalize and Void — when to void vs. when to return

The Refunds & Returns report

The Refunds & Returns report (Reports module) is the give-back activity log for a date range. It lists two kinds of events on one timeline: Voided Invoices and Memo Returns — each row showing the Event Date, Type, the document (with its number), Customer, Salesperson, and Amount, filterable by store. Use it to see money and goods coming back over a period at a glance. Note it tracks voids and memo returns specifically; ordinary return lines inside a sale (the negative-quantity workflow above) net into the sales reports rather than appearing here.