Many e-commerce teams look at payouts and think that is profit. It is not. Payouts are net of fees and timing differences. If you do not track cost of goods, merchant fees, and shipping the right way, your margin will look higher or lower than it really is. This guide gives a clear approach you can put in place this month.
Why many stores misread profit
Common mistakes include booking marketplace deposits as revenue, posting shipping charges as a single bucket with no split by channel, and ignoring duty or inbound freight when computing cost of goods sold. Another mistake is mixing discounts and refunds with fees, which hides the reason margins move. Clean rules fix these issues and make your data useful for pricing and ads.
What to include in COGS
COGS is the cost to get a product ready for sale. For a reseller, that includes the purchase price and all costs to bring it to your shelf or warehouse.
COGS basics
- Beginning inventory plus purchases and inbound costs minus ending inventory
- Include unit purchase cost, inbound freight, duty and import taxes that you cannot recover, packaging that ships with the item, and third party prep tied to the item
- Exclude sales tax you collect on behalf of the government, and exclude general admin
Landed cost and allocations
If freight and duty hit at the shipment level, allocate them to units. Use a simple rule such as weight, volume, or item cost. Stay consistent. If you skip this step, items with low purchase cost but high freight will look better than they are.
Simple allocation steps
- Sum freight and duty for the inbound shipment
- Choose a driver like unit cost or weight
- Allocate to each SKU in the shipment using the driver
- Add the result to item cost in your inventory subledger
Inventory methods
Pick a method and stick to it.
- FIFO works well when item costs change over time
- Weighted average is simple for large catalogs with frequent buys
Count inventory at least once a quarter. Record write offs for damage or loss. If you rarely count, COGS will drift because ending inventory is wrong.
How to book merchant and marketplace fees
Fees reduce profit even when revenue looks strong. You need to see them by channel and fee type to act.
Gross vs net booking
Record gross sales, then record fees as an expense line, and record refunds and discounts in their own lines. Do not post only the net payout. This gives you clear gross margin and shows which fee types are rising.
Example
- Book revenue for the full order value
- Book payment processing fee or marketplace commission as “merchant fees”
- Record discounts as “sales discounts”
- Record refunds as “refunds and returns” with a link to the order
If a marketplace remits net of commission and shipping, gross up the entry so you still see sales, fees, and shipping as separate lines. Your bank will still match the net amount.
Chargebacks, refunds, and FX
- Chargebacks: record the reversal to revenue and the chargeback fee to merchant fees. Track reason codes so you can fix weak steps in checkout or shipping.
- Refunds: tie to the original order. If the item is restocked, adjust inventory and COGS. If it is not restocked, book a write off.
- Foreign currency: when the gateway settles in a currency different from your ledger, record the FX gain or loss in a separate account so it does not hide in fees.
How to treat shipping and fulfillment
Shipping touches many accounts. Split it so you can see what you charge, what it costs, and what is inside the warehouse.
Shipping income vs shipping cost
- Shipping income: what you charge the customer at checkout. Record as “shipping income” or “shipping revenue” separate from product revenue
- Shipping cost: what carriers bill you. Record in “shipping expense” or “fulfillment expense”
- Do not net them. The spread shows if you undercharge for shipping
Pick, pack, and storage
Record third party warehouse fees in “fulfillment expense.” Split storage from pick and pack if the provider’s invoice allows it. Storage spikes by season and can hurt margin if you carry slow movers. Pick and pack is tied to order volume and can guide pricing for small orders.
Packaging
If branded boxes or inserts ship with the item and you track per item usage, include in COGS. If packaging is generic and hard to tie to a SKU, keep in fulfillment expense. Be consistent and write the rule down.
Month-end workflow to tie orders, payouts, and bank
A steady close process gives you confidence in your numbers. Use a three-way reconciliation.
Three-way reconciliation
- Orders from your cart or marketplace
- Payouts from the processor or marketplace
- Bank statements
Match order totals to payout reports by date range and channel. Then match net payouts to bank deposits. Differences usually come from timing, holds, or fees. Keep a small clearing account for each processor to hold timing items that will settle next month.
Refunds and returns handling
- Match refunds to orders and to the gateway refunds report
- If an item returns to stock, adjust inventory and COGS
- If it does not, record a write off
- Track return rate by SKU and reason to guide product fixes or content changes
Contribution margin view and targets
Unit economics guide pricing and ad spend. Build a simple contribution margin for each channel or SKU group.
Contribution margin per order
Revenue
- Shipping income
− Discounts
− COGS
− Merchant fees
− Shipping cost
− Pick and pack
= Contribution margin
Watch this monthly by channel. If the margin is thin, adjust price, shipping rules, or ad spend. If a SKU often ships alone and is heavy, raise shipping income or move it to a bundle.
Setup examples for common channels
Own store with a payment gateway
- Book gross sales from order reports
- Book gateway fees from the fee report
- Book shipping income from the order
- Book carrier invoices to shipping expense
- Reconcile orders to gateway payouts to bank
Marketplace
- Book gross item price and shipping charged to the buyer as revenue lines
- Book marketplace commission and fulfillment fees as merchant or fulfillment expense
- Book advertising on the marketplace as a separate expense line
- Reconcile marketplace settlement to bank and leave timing items in a clearing account
Risks to watch and simple fixes
Booking net deposits as revenue
Fix by splitting sales, fees, and shipping. Build a simple journal template per channel.
Missing landed cost
Fix by allocating freight and duty at receiving. Use a single driver and post to item cost.
Returns not tied to orders
Fix by scanning RMA numbers and linking to the order. Automate the inventory move and COGS reversal when restocked.
Shipping cost drift
Fix by reviewing carrier invoices against rules monthly. Adjust checkout shipping rates or free shipping thresholds.
Fee creep
Fix by tracking fee rate by channel. Negotiate when volume grows. Move payment types that drive chargebacks to safer flows.
No inventory counts
Fix by running cycle counts weekly. Adjust the ledger and record write offs. This keeps COGS true.
Next steps and checklist
Start with one channel and one warehouse, then expand. Write rules so the team books items the same way every month.
Setup checklist
- Inventory method chosen and documented
- Landed cost allocation rule in use
- Separate accounts for revenue, discounts, refunds, shipping income, shipping expense, merchant fees, fulfillment expense, FX gain or loss
- Clearing account per processor or marketplace
- Three-way reconciliation process written and owned
- Monthly cycle count or rolling counts in place
- Contribution margin report by channel
Month-end checklist
- Orders tie to payouts and bank
- Fees posted by type and channel
- Shipping income and shipping cost reviewed
- Returns matched to orders and inventory adjusted
- Duty and freight allocated to items received
- Contribution margin updated and reviewed with targets
With these steps, your view of profit will match reality. You will see where margin slips, which fees matter, and how shipping rules shape results. Clear numbers support better pricing, cleaner ads, and stable growth.