QuickBooks & bookkeeping · July 14, 2026
Vendor Credits Doubling Your COGS in QuickBooks (and How to Fix It)
A client returns parts, the vendor issues a credit, the refund lands back on the credit card, and suddenly the cost of goods on the P&L looks bigger than it should. The books "balance," so nothing screams error, but the margin is quietly wrong. This is one of the most common duplication traps in QuickBooks Online, and once you see the mechanism it's easy to fix, and easy to spot on the next file.
The mechanism: the credit gets recorded twice
Here's the exact sequence that inflates the numbers. A vendor issues a credit for returned goods. In QuickBooks you (or your software) create a vendor credit and apply it to the open bill, which correctly reduces what you owe. So far so good. Then the actual refund posts back to the bank or credit card, shows up in the feed, and gets added as its own transaction, usually categorized straight to the expense or COGS account.
Now the same economic event is on the books twice: once through the bill side (the applied credit) and once through the feed side (the added refund). Depending on how each side is coded, you either double the reduction or, more often, leave the original charge standing while adding a second hit, and cost of goods ends up overstated. The balance sheet can still tie, which is why it slips past a quick review.
Why credit cards make it worse
The trap is sharper when the purchase was on a credit card and the refund goes back to that card. Card feeds are noisy, refunds and charges to the same vendor look similar, and QuickBooks' "suggested matches" will happily line up a refund against the wrong transaction. If a back-office system (an inventory or parts app) is also creating vendor credits and pushing them into QuickBooks, you now have two systems generating the same credit and a feed delivering the refund a third time. That's how a single $175 return turns into a P&L that's off by multiples of it.
How to fix it: record the event once
The rule is simple, record the money movement exactly one time. How you do that depends on whether you're running bills.
If you use bills and vendor credits
- Keep the vendor credit and its application to the bill, that's the correct accounting for the return.
- When the refund appears in the bank or card feed, match it to the existing credit instead of adding a new transaction. Don't "Add" the feed line; find the credit and match against it.
- If QuickBooks already added a duplicate feed transaction, delete or exclude that feed line so only the bill-side credit remains.
If you don't use bills
- Skip the vendor credit entirely. When the refund hits the feed, categorize it directly to the same account the original charge hit (the expense or COGS account), which reverses the cost cleanly.
- Make sure the back-office software isn't also posting a credit to QuickBooks for the same return. Pick one source of truth for the money.
Before you accept any feed line for a vendor with returns, ask one question: has this credit already been recorded on the bill side? If yes, exclude the feed duplicate. That single check prevents the whole problem going forward.
Cleaning up the damage already on the books
Finding the existing double-counts is a matching exercise. Look for pairs, a vendor credit applied to a bill and a bank-feed refund added separately, same vendor, same amount. Then confirm the account each side was coded to. The fix is to remove the duplicate side (usually the feed line that was "Added" instead of "Matched") and confirm cost of goods drops back to the real figure.
On a messy file this is tedious by hand, which is exactly why it's worth surfacing before you quote. Upload a QuickBooks Online export to a books-health check and it flags duplicate transactions and the accounts they touch, so you can see how many of these vendor-credit doubles are sitting in the file. Pair it with the cleanup checklist so nothing else slips by, and if this shows up during onboarding, it's a strong sign the file needs a scoped cleanup, not just ongoing work, so price it from the diagnostic.
Put it together
A vendor credit that doubles your COGS is one event recorded twice, once on the bill, once from the feed. Fix it by matching the refund to the existing credit (or, without bills, categorizing the feed refund straight to the original account), and make sure back-office software and the bank feed aren't both posting the same return. Then clean the existing duplicates and watch cost of goods settle to the truth.
The fastest way to see how many duplicates are hiding in a file: run a free preview on a QuickBooks Online export, no card required.
FAQ
Why is a vendor credit doubling my cost of goods in QuickBooks?
Because the credit gets recorded twice: entered as a vendor credit applied to the bill (which correctly reduces what you owe), and then the same refund shows up in the bank feed and gets added as its own transaction. Both sides hit the books, so cost of goods nets wrong and looks inflated.
How do I record a vendor refund that goes back to a credit card?
Enter it once. With bills, create the vendor credit, apply it to the open bill, then match the card-feed refund to that credit instead of adding a new transaction. Without bills, categorize the feed refund directly to the original expense or COGS account. Never both apply a credit to a bill and separately add the feed line.
How do I find duplicate vendor credits that inflated my P&L?
Look for pairs: a vendor credit applied to a bill and a matching bank-feed refund added on its own, same vendor and amount. Check the account the feed line was coded to versus the original charge. A books-health check surfaces duplicate transactions and the accounts they touch so you can spot the double-count fast.
Should back-office software that creates vendor credits write to QuickBooks?
Treat the back-office system as the operational record, not the accounting record. If it pushes vendor credits into QuickBooks and the refund also arrives through the feed, you get duplication. Pick one system of record for the money movement and make sure only that one posts to the general ledger.
Scope the cleanup before you quote it
Upload a QuickBooks export and get a free preview — books-health score, severity and the top issues. Unlock the estimated hours, quote range and client approval packet per file. No card.
One-time diagnostic to scope a file · Firm Monitor (beta) to watch recurring client books monthly.