Wholesale Distribution Chart of Accounts: Track Freight Costs, Vendor Rebates, and Inventory Turns
A complete guide to setting up your wholesale distribution chart of accounts in QuickBooks. Learn why freight-in and freight-out belong in different accounts, how to book rebates you earn separately from rebates you owe, and how to split inventory by status.
If you distribute products in bulk, your QuickBooks chart of accounts probably has one "Inventory" account and one "Shipping" expense. That single shipping line is hiding a real accounting distinction: money you pay to get inventory into your warehouse is a different kind of cost than money you pay to ship orders out to customers. Blend the two together and your gross margin stops telling you anything useful.
This guide walks through the chart of accounts a wholesale or distribution business actually needs.
Why Distribution Needs More Than a Generic Chart of Accounts
Wholesale distributors buy in volume from manufacturers and resell to retailers, contractors, or other businesses. That model creates accounting needs a generic chart of accounts under GAAP (Generally Accepted Accounting Principles) never anticipates:
- Inventory that moves through distinct states — ordered, in transit, sitting on the shelf, or set aside as damaged and unsellable
- Freight on two sides of the same product — inbound freight to get it to your warehouse, and outbound freight to get it to the customer
- Rebate programs running in both directions — volume rebates you earn from your own suppliers, and volume rebates you owe to customers who buy enough from you
- Sales that never touch your warehouse, like drop-ship orders your supplier fulfills directly
None of that shows up when everything lands in one inventory account and one shipping line.
The Accounts a Distribution Chart of Accounts Actually Needs
| Account | Number | Purpose |
|---|---|---|
| Trade Receivables | 1210 | Amounts owed by wholesale customers, tracked apart from general A/R |
| Inventory - In Transit | 1310 | Goods purchased but not yet received at the warehouse |
| Inventory - Damaged/Returns | 1320 | Damaged stock and customer returns, held apart from sellable inventory |
| Vendor Payables | 2010 | Amounts owed to product suppliers |
| Vendor Rebates Payable | 2230 | Volume rebates you owe back to customers, not yet paid out |
| Drop Ship Revenue | 4200 | Sales you book but never physically handle |
| Volume Rebates Received | 4400 | Rebates earned for hitting purchase volume with a supplier |
| Purchase Discounts | 5010 | Discounts earned on inventory purchases, a contra-COGS reduction |
| Inventory Shrinkage | 5020 | Inventory lost to damage, theft, or counting error |
| Freight In | 5100 | Inbound freight to get inventory to the warehouse — part of landed cost |
| Delivery Expenses | 6400 | Outbound freight to ship orders to customers — a selling expense |
Freight-In vs. Freight-Out: Why They Can't Share an Account
Under GAAP, the cost of inventory includes everything reasonably necessary to get it to a sellable condition and location. That means freight paid to bring product into your warehouse is part of what the inventory costs — it belongs in a cost of goods sold (COGS) account like Freight In (5100), and it flows through to your income statement only when the goods it's attached to actually sell.
Freight paid to ship a completed order out to a customer is a different animal. It's a cost of making the sale, not a cost of acquiring the product, so it belongs in an operating expense account like Delivery Expenses (6400) instead.
Put both in one "Shipping" account and you lose the ability to answer two separate questions: what does it actually cost you to land a unit of inventory, and how much does outbound logistics eat into a given order's margin.
Rebates Flow in Both Directions
Distributors sit in the middle of a supply chain, and rebate programs run both ways from that position.
When you hit a purchase threshold with your own supplier, the rebate you earn is income — it lands in Volume Rebates Received (4400). When one of your customers hits a purchase threshold with you, the rebate you owe them is the opposite: an expense recognized in Customer Rebates Issued (6230), with the unpaid portion carried as a liability in Vendor Rebates Payable (2230) until it's settled.
These are not the same account, and they should never net against each other. One reflects money coming back to you; the other reflects money you've committed to pay out.
How This Gets Booked
A landed-cost purchase. You order $20,000 of product from an overseas manufacturer. The invoice itself posts to Cost of Goods Sold (5000), a $1,400 inbound freight charge posts to Freight In (5100), and a $300 customs charge posts to Import Duties & Customs (5110). Until the container clears customs, the whole amount sits in Inventory - In Transit (1310). Only once it's received into the warehouse does it move to Inventory - Finished Goods and become available to fulfill orders — and only when a unit of that inventory sells does its landed cost, freight included, hit your cost of goods sold for the period.
A customer rebate at quarter-end. A retail customer crosses the volume tier that earns them a 3% rebate on the quarter's purchases. You accrue $4,500 as an expense in Customer Rebates Issued (6230) and the same amount as a liability in Vendor Rebates Payable (2230). When you cut the rebate check the following month, the liability zeroes out — the expense was already recognized in the period the customer actually earned it, not the period you got around to paying it.
Get Started
Our wholesale distribution chart of accounts template includes all of these accounts pre-configured and ready to import into QuickBooks — inventory split by status, freight separated by direction, and rebates tracked on both sides of the ledger. It takes 60 seconds to optimize and gives you the reporting structure a distribution business actually needs.