Sales & Sales Channels 7 min read Last reviewed July 26, 2026

Voiding, Refunding, and Editing a Sale

Quick Answer
Traders Till has three ways to fix a recorded sale. Edit changes header details (channel, customer, dates, payment method, notes) for 24 hours. Void reverses the whole sale within 90 days, restores stock, and frees a free-tier slot. Refund returns some or all of the money at any age and keeps the sale on the books.
Thumbnail image showing laptop with Screen showing refund and reversal options for a sale in Trader's Till. Background elements include a logbook, cup of coffee, and the Traders Till logo.

Three different tools fix a sale you already recorded, and they do very different things. This guide helps you pick the right one, then walks the refund form in detail.

Which one should I use?

Match what actually happened to the right tool:

What happenedWhat to use
Wrong channel, wrong payment method, wrong date, or a bad note, caught within 24 hoursEdit
The sale shouldn’t exist at all: wrong products rung up, a double-tap, the customer backed outVoid (within 90 days, not for Stripe-paid sales)
The sale really happened, but the customer returned something, you’re giving money back, or it’s older than 90 daysRefund

All three start from the same place: open the sale from the Recent Sales list on the Sales page. The Sale Details view has Edit, Refund, and Void buttons under Actions, each with a hint about when it’s available.

How do I edit a sale?

Tap Edit on the sale within 24 hours of recording it, change what you need, and save. You can change:

  • Sale date and payment date
  • Channel (you tagged it Farm Stand but it was the Saturday market)
  • Customer (attach, swap, or clear one)
  • Payment method
  • Notes

You can’t change the line items: which products sold, quantities, or prices. Totals stay frozen too. If the items are wrong, the clean path is to void the sale and re-record it.

After 24 hours the Edit button locks and the hint reads “Edits lock after 24 hours. Issue a refund instead.” The window is short on purpose: once a day passes, the sale has likely landed in a summary or report, and silent changes would make those drift. Voided sales can’t be edited either.

How do I void a sale?

Tap Void on the sale, give a reason, and confirm with Void Sale. Voiding reverses the sale entirely:

  • Inventory restores automatically. Every tracked unit goes back into stock.
  • A free-tier slot frees up. The sale stops counting toward the 50-per-month cap.
  • The sale stays in your history with a Voided badge, the date, and your reason.

A reason is required by default (you can turn that off in Settings → Sales Channels). Three things block a void:

  • Already voided. A sale can only be voided once.
  • Older than 90 days. Older sales have usually been counted in reports already; issue a refund instead.
  • Paid through Stripe. Real money moved, and a database flag can’t send it back. Refund instead.

How do I refund a sale?

Tap Refund on the sale, check the items you’re refunding, enter quantities, and tap Issue Refund. The form shows a row for every item on the sale:

  • Include. A checkbox per line. Nothing happens until you check it; lines start unchecked so a stray click can never refund the whole sale.
  • Refund Qty. Empty until you type a number. The cap is what’s left to refund on that line, not what was originally sold. If you sold 4 and refunded 2 before, the cap is 2, and small text notes “Already refunded 2 for $8.00.” Discrete units (loaf, jar, each) take whole numbers; weight and volume units (oz, lb, ml) accept decimals.
  • Refund Amount. Fills in automatically as quantity × unit price. You can lower it for a goodwill partial (the customer kept the loaf, you gave half back). It’s capped at what’s left on the line.
  • Restore stock? Shown only for inventory-tracked items, and off by default. Turn it on for goods that go back on the shelf (soap, candles). Leave it off for anything you can’t resell (bread, eggs).

If the sale charged tax, each included line shows “Tax to refund” and the total breaks out subtotal and tax. The tax comes back proportionally to what you refund, using the rate snapshotted at sale time; you never compute it yourself. The Refund Total flags an error if you go over the sale’s unrefunded balance.

If the customer left a tip, the tip is not part of a refund. Refunds are built from the lines you sold, so they return goods and the tax on those goods; a tip belongs to no line and stays with the sale. Return every line and the sale still reads Refunded, because a fully-returned sale is one where everything refundable came back. If you want to hand the tip back too, do it the way you took it and leave the sale alone, or void the sale outright if it should never have existed.

Below the table, pick a reason (optional by default) and the payment method for the refund, which defaults to how the customer originally paid. Then tap Issue Refund.

Afterward the sale’s Status column shows Partial refund, or Refunded once the whole amount has been returned. Each refund is listed on the Sale Details view with its date, amount, method, and reason.

What do a few real refunds look like?

Full refund of one item. You sold 1 sourdough loaf for $9 and the customer brings it back.

  1. Tap Refund on the sale.
  2. Check the sourdough line and type 1 in Refund Qty. The amount fills as $9.00.
  3. Leave Restore stock off; bread doesn’t go back on the shelf.
  4. Tap Issue Refund.

Goodwill partial. Same loaf, but the customer ate half and didn’t like it, and you’re giving back $4.50.

  1. Tap Refund, check the line, type 1 in Refund Qty.
  2. Change the amount from $9.00 to 4.50.
  3. Tap Issue Refund.

One item from a multi-item sale. You sold a loaf and a jar of honey; only the honey comes back, unopened.

  1. Tap Refund and check only the honey line.
  2. Type 1 in its Refund Qty.
  3. Turn on Restore stock; the sealed jar can be resold.
  4. Tap Issue Refund. The loaf line stays unrefunded, and you can still refund it later.

Several refunds over time. You can keep issuing refunds against the same sale as things come up. Say a customer returns one jar this week and another next week:

  1. This week, refund 1 jar the normal way.
  2. Next week, open the same sale and tap Refund again. The jar line now notes what’s already been refunded, and its cap has shrunk to what’s left.
  3. Refund the second jar. Each refund shows as its own dated row on the Sale Details view.

Once the combined refunds reach the sale total, the sale’s status flips to Refunded and the Refund button reports there’s nothing left to refund.

How do edits, voids, and refunds compare?

EditVoidRefund
Window24 hours90 daysAny time
Stripe-paid salesOKBlockedOK
Voided salesBlockedBlockedBlocked
InventoryNo changeRestored automaticallyPer line, your choice
Free-tier slotNo changeFreedNot freed
HistoryUpdated in placeKept, marked VoidedKept, refund rows added
Partial?Header fields onlyAll or nothingYes, per line and per dollar
ReasonNot askedRequired by defaultOptional by default

One design note worth keeping in mind: a void says “this never happened,” so it gives the free-tier slot back. A refund says “it happened, but money went back,” so the sale still counts. If refunds freed slots, recording 50 sales and penny-refunding one would beat the cap, which would make it meaningless.

Common questions

Why can't I void a Stripe-paid sale?

Because real money was charged on Stripe's side. A void only reverses Traders Till's records; it can't send the customer's card payment back. Issue a refund instead, which is the right record for money that actually moved.

Do voids give back a free-tier sale slot?

Yes. A voided sale stops counting toward the 50-sales-per-month free cap, because a void says the sale never really happened. Refunds do not free a slot; the sale still happened, some money just went back afterward.

Can I change the products or quantities on a saved sale?

No. Editing covers header fields only: channel, customer, sale date, payment date, payment method, and notes. If the line items are wrong, void the sale (within 90 days) and record it again correctly. That keeps inventory and totals honest.

Can I refund the same sale more than once?

Yes. Each refund is its own dated row on the sale, and every line tracks what has already been refunded. The caps shrink as you go: you can never refund more units or more money than what's left on a line, and the combined refunds can never exceed the sale's goods and tax. Once everything is refunded, the sale shows Refunded in the list. A tip sits outside that math, because a refund returns lines and a tip belongs to no line.

What if a mistaken sale is older than 90 days?

Voiding is closed after 90 days, so issue a refund for the full amount instead. The sale stays in your history and the refund is its own dated event, which keeps periods you've already reported from quietly changing underneath you.

Do I have to type a reason every time?

By default, voids require a reason and refunds don't. Both are toggles under Settings, then Sales Channels, in the Recording Rules card: "Require a Reason to Void" (on by default) and "Require a Reason to Refund" (off by default). Reasons show up in your sales history and exports.

Keep Reading

Related articles

Sales & Sales Channels

Recording a Sale

8 min read
Sales & Sales Channels

Setting Up Sales Tax

6 min read
Account & Billing

Your Free-Tier Sales Limit

4 min read
Account & Billing

Free vs Paid, What Each Tier Includes

10 min read

The Traders Till newsletter

Notes for people who sell what they make.

Practical tips on pricing, permits, and selling more at the stand. A couple times a month. Unsubscribe anytime.

Traders Till
Manage. Track. Grow. The operating system for home producers. Track inventory, recipes, costs, and per-venture profit.