Picture two online stores that each rang up $1 million in sales last quarter. On paper they look identical. But one sells phone cases with a 4% return rate, and the other sells women's apparel with a 26% return rate. If both record every refund as a marketing expense buried below the revenue line, their income statements will tell a flattering lie: both will show $1 million of "revenue," even though one of them will hand back more than a quarter of a million dollars to customers.
That gap is exactly what contra-revenue accounting exists to close. Sales returns and allowances are not expenses — they are reversals of revenue you should never have counted in the first place. Recording them correctly keeps your top line honest, your gross margin believable, and your investors and lenders from being surprised. Here is how it works.
What a Contra Account Actually Is
A contra account is an account that is paired with another account and carries the opposite normal balance, so it reduces that account's reported total. Revenue accounts normally carry a credit balance. A contra-revenue account carries a debit balance, and on the income statement it is subtracted from gross sales to arrive at net sales.
The three most common contra-revenue accounts are:
- Sales Returns — the value of goods customers physically send back for a refund.
- Sales Allowances — partial price reductions you grant when a customer keeps a damaged or imperfect item rather than returning it.
- Sales Discounts — early-payment incentives, such as the "2/10, net 30" terms that give a customer 2% off if they pay within 10 days.
All three live just under gross sales:
Gross Sales $1,000,000
Less: Sales Returns (84,000)
Less: Sales Allowances (12,000)
Less: Sales Discounts (9,000)
-----------
Net Sales $895,000Net sales — not gross sales — is the figure that flows into every ratio that matters: gross margin, net margin, revenue growth, and revenue per customer.
Why Not Just Call Returns an Expense?
It is tempting to dump refunds into an operating expense account and move on. Three problems make that a mistake.
It overstates revenue. A refund means the sale partially or fully unwound. The cash left your business, the goods came back (or were never truly "sold"), and there is no economic activity left to report as revenue. Counting the original sale at full value and then offsetting it with an expense leaves your top line inflated.
It distorts gross margin. Gross margin is net sales minus cost of goods sold, divided by net sales. If returns sit below the gross-margin line as an operating expense, your gross margin looks artificially healthy. A business with a true 50% gross margin and heavy returns might report 58% — and then wonder why it keeps running out of cash.
It hides a real operating signal. A dedicated Sales Returns account is a diagnostic instrument. A return rate creeping from 6% to 11% tells you something concrete — a supplier quality slip, misleading product photos, a sizing problem — long before it shows up in a profit decline. Bury returns in a catch-all expense and you lose that early-warning system.
For context, U.S. retail returns totaled roughly $850 billion in 2025, about 15.8% of annual sales, and the average e-commerce return rate reached about 24.5%. Returns are not a rounding error. They are a core part of the revenue story.
The Simple Version: Recording an Actual Return
When a customer returns a $300 item that cost you $180, two things happen. The revenue side reverses, and the inventory side reverses.
Sales Returns 300
Cash (or Accounts Receivable) 300
Inventory 180
Cost of Goods Sold 180The first entry pulls $300 out of net sales through the contra-revenue account. The second entry puts the returned goods back into inventory and reverses the cost you originally expensed. If the item came back damaged and you can only resell it at a discount — or not at all — you reduce the inventory debit to its true recoverable value and let the difference fall into COGS or a write-off account.
A sales allowance is even simpler. If the customer keeps a scratched $300 item in exchange for a $60 credit, you record only the price concession — there is no inventory movement because nothing comes back:
Sales Allowances 60
Cash (or Accounts Receivable) 60For a small business with low, stable return rates, recording returns as they happen is perfectly adequate. The complication arrives when returns are large enough — or seasonal enough — to span a reporting period.
The ASC 606 Version: Estimating Returns Before They Happen
Here is the subtlety that trips people up. Under the revenue recognition standard ASC 606, a right of return is treated as variable consideration. That means you are not entitled to revenue on goods you expect to come back — and you have to make that estimate at the time of sale, not when the return actually lands.
This matters most at period-end. Suppose your store sells $4,000,000 of goods in December, but historically 5% of December sales get returned in January. If you recognize the full $4,000,000 as December revenue, you have overstated the quarter by $200,000 of sales that are going to reverse.
ASC 606 requires three things when you sell goods with a right of return:
- Revenue equal only to the consideration you expect to keep after returns.
- A refund liability for the amount you expect to pay back to customers.
- A right-of-return asset for the goods you expect to physically get back.
The Period-End Adjusting Entries
Continuing the example — $200,000 of expected returns at retail price, on goods carrying a 60% gross margin (so $80,000 of cost):
Entry 1 — set up the refund liability
Sales Returns (contra-revenue) 200,000
Refund Liability 200,000
Entry 2 — set up the right-of-return asset
Right-of-Return Asset 80,000
Cost of Goods Sold 80,000Entry 1 removes the $200,000 of revenue you do not expect to keep. Entry 2 says: of the goods you expect back, $80,000 of cost will return to you as recoverable inventory, so reverse that much COGS. The net effect on December income is a $120,000 reduction — the expected lost gross profit on the returns. That is the honest number.
The refund liability sits on the balance sheet as a current liability — money you owe back to customers. The right-of-return asset sits as a current asset, measured at the carrying cost of the goods less any expected costs to recover them and any expected drop in their resale value. Do not net these two against each other; ASC 606 generally requires them shown separately.
Remeasuring Each Period
Your estimate is not frozen. At each reporting date you revisit it. If actual January returns come in at 4% instead of 5%, you release the excess refund liability back into revenue. If returns run hotter than expected, you book more contra-revenue. The refund liability is remeasured every period, with the offset flowing through revenue — which is why a clean, dedicated Sales Returns account makes the true-up painless.
A Note on Restocking Fees
If you charge a restocking fee, the consideration you expect to refund is the price less the fee. The restocking fee stays in your transaction price and is recognized as revenue when control transfers — you genuinely keep it. Only the net refundable amount belongs in the refund liability.
Building a Returns Estimate You Can Defend
Estimating variable consideration is not guesswork. A defensible estimate rests on:
- Your own history. Trailing-twelve-month return rates by product category are the strongest evidence. Apparel and footwear run far higher than, say, consumables.
- Segmentation. A blended company-wide rate hides too much. Estimate by category, channel (online return rates dwarf in-store rates), and even season — holiday-gifted apparel returns at elevated rates in January.
- Recent changes. A new supplier, a redesigned size chart, or a shift toward marketplace selling can all move the rate. Adjust for known changes rather than assuming the past repeats.
- The constraint. ASC 606 says only recognize variable consideration to the extent a significant revenue reversal is not probable. If you genuinely cannot estimate returns for a new product line, recognize less revenue, not more.
Document the methodology. When an auditor, lender, or buyer asks how you arrived at a 5% reserve, "here is the three-year category-level data and the adjustments we made" is a far better answer than "it felt about right."
Where Returns Accounting Goes Wrong
A few recurring mistakes are worth flagging:
- Treating allowances as returns. An allowance has no inventory coming back. If you debit inventory for an allowance, you have invented stock that does not exist.
- Forgetting the COGS and inventory side. Reversing revenue without reversing cost and restoring inventory leaves your margin and your stock records both wrong.
- Letting the contra account run to zero each period by netting. Keep gross sales and contra-revenue visible. The whole point is the diagnostic signal — netting it away destroys that.
- Ignoring seasonality. A flat annual return rate applied to a lumpy sales calendar will overstate income in heavy-sales months and understate it afterward.
- Skipping the estimate entirely for small businesses. If returns are immaterial, recording them as they occur is fine. But "immaterial" is a judgment — a 20%+ return category is not immaterial, even for a small shop.
Keep Your Revenue Numbers Honest from Day One
Sales returns and allowances are where an income statement quietly tells the truth — or quietly doesn't. Recording them as contra-revenue, estimating them under ASC 606, and tracking them in dedicated accounts keeps your net sales, gross margin, and refund liability all anchored to reality.
That kind of clarity is much easier when your books are transparent and auditable by design. Beancount.io provides plain-text accounting that gives you complete control over your financial data — every contra-revenue entry, every refund liability, every period-end adjustment is a readable, version-controlled line you can trace and explain. Get started for free and see why developers and finance professionals are switching to plain-text accounting. To visualize trends like a rising return rate over time, explore the Fava dashboard, and check the docs for setting up custom accounts.
Sources: RevenueHub — Rights of Return and Customer Acceptance in ASC 606, PwC Viewpoint — Rights of Return, Deloitte DART — Refund Liabilities, Capital One Shopping — Average Retail Return Rate.