Why SKU margin is hard in trading
A trading business looks deceptively simple from the outside. You buy at one price, sell at another, the difference is the margin. The reality on the ground is messier. Several layers of cost and incentive sit between invoice price and true realised margin.
- Landed cost is not invoice cost. The same SKU arrives from three different suppliers in a quarter, each with a different invoice price, freight share, octroi or state entry tax, and credit period.
- Channel pricing is not uniform. The same SKU goes out to a modern trade buyer at one price, a sub-distributor at another, and a counter retailer at a third.
- Schemes and rebates change net realisation. Volume schemes, quantity discounts, monthly turnover incentives, and year-end rebates change the realised price further, often booked weeks after the sale.
- Annual P&L smooths everything. By year-end every layer has been collapsed into a single ₹40 L of gross margin number, hiding which 20% of SKUs actually lose money once costs are honestly allocated.
SKU-level margin tracking is the discipline of carrying every cost and every deduction back to the product line and the customer. It is unglamorous work, and it is the single highest-leverage MIS exercise a trader can run.
The data sources you must combine
No single system has all of this. Most BI tools connect to one and ignore the others. The result is a margin report that is technically correct on the data it sees and badly wrong as a business signal. KolossusAI reads all of the below as a single fabric and treats the SKU as the join key.
- Purchase invoices from Tally. The base inward cost per SKU per supplier per consignment.
- Freight and inward logistics bills. Often in a separate vendor or in an Excel maintained by the warehouse team. Apportioned across SKUs in the consignment.
- Customs and entry tax records. Per-consignment overlays that need to attach to the right lot, not get lost in a generic overhead head.
- Sales invoices from Tally or CRM. Gross sale value with line-item discounts visible at the point of sale.
- Scheme and discount registers. Usually a Google Sheet that sales and finance jointly maintain. Volume schemes, channel rebates, and payment-term incentives that get knocked off later.
- Stock ledger from your inventory module. How long each lot sat before moving, which is the input to carrying cost and obsolescence reserves.
Landed cost vs invoice cost
The most common SKU margin error in Indian trading is treating invoice cost as landed cost. A consignment of 500 units arrives at ₹100 invoice price per unit. The freight bill is ₹5,000, the inward octroi or state entry tax is ₹2,500, and there is ₹500 of breakage that the supplier did not credit. The true landed cost is ₹116 per unit, not ₹100. If you sell at ₹120, your real margin is ₹4 not ₹20. Across a year, this gap is the difference between a trader who knows they are profitable and a trader who finds out at year-end audit they are not.
The right approach allocates inward freight, duties, and adjustments per consignment, by either weight, value, or quantity, and writes the landed cost back to each lot. Every subsequent sale of that lot uses the lot-specific landed cost. This is straightforward in theory and tedious in practice, which is why most traders skip it. KolossusAI automates it - read the consignment, read the freight, run the allocation rule you choose, and surface the corrected landed cost in every margin view downstream.
| Aspect | FIFO | Weighted average |
|---|---|---|
| Cost basis used per sale | Oldest lot's landed cost first | Blended cost across all open lots |
| Behaviour in rising prices | Lower cost, higher reported margin | Smoothed cost, smoothed margin |
| Behaviour in falling prices | Higher cost, lower reported margin | Smoothed cost, hides the trend |
| Audit and statutory comfort | Cleaner lot trail, harder to compute manually | Easier to maintain in Tally, default for most |
| Best for SKU margin signal | Volatile commodities, imports with FX swings | Stable price categories, FMCG-style turn |
Channel-wise and customer-wise margin
The same SKU goes to different channels at different prices and different incentive structures. Modern trade typically gets the lowest gross price but the highest tail of listing fees, returns, and slotting allowances. Distributors pay a wholesale price net of a channel margin and may additionally claim a quarterly volume scheme. Counter retailers pay closer to MRP but expect 90-day credit. The honest gross-to-net per SKU per channel can vary 8 to 15 percentage points across these three buckets.
A trader who sees only the company-wide P&L will conclude all three channels are profitable. A trader who runs SKU x customer x channel will often find that one or two large accounts are actually destroying margin and a quiet retail chain is the most profitable in the book. Plain English questions like 'show me net margin per SKU for the south modern trade channel this quarter, after all schemes' are the everyday output of the AI sitting on this data.
Stock turn and the cost of capital
A SKU that turns 12 times a year at 10% gross margin makes you more money than a SKU that turns twice a year at 18%. Both look like winners on a static margin report. The slow-mover is consuming working capital, warehouse space, and exposure to obsolescence that the fast-mover is not. Real SKU margin needs a capital cost overlay - usually the working capital interest rate times the average inventory value times the days held.
For Indian traders running on cash credit lines at 9 to 12% and dealing with tight festive-driven cycles, the capital cost adjustment changes which SKUs you push and which you quietly delist. Slow movers that look 18% profitable on paper may be 4% profitable after carrying cost, which is when you stop renewing the supplier order or you renegotiate credit terms with that supplier.
Why margin reports lie
Six common reasons SKU margin reports drift from reality. Each one is fixable individually. Fixing all six manually every month is a full-time job.
- FIFO vs weighted average mismatch. Tally's accounting basis differs from the inventory module's physical issue, so the cost per unit on a margin report does not match the cost per unit at the warehouse.
- Scheme expense booked to a generic overhead. The volume rebate that triggered on Customer X's Tower B order shows up as 'scheme expense' on the P&L, not as a deduction on Customer X's SKU-level margin.
- Sales returns netted but cost not reversed. This month's sales line is reduced but the original cost of the returned lot stays at standard, inflating margin on the remaining sales.
- Free goods and replacements treated as zero-zero. Real landed cost was incurred. Treating it as zero understates the true cost of acquiring the customer.
- Inter-warehouse transfers at standard cost. Standard cost differs from actual landed cost of the lot moved. The receiving warehouse's margin view is wrong from day one.
- Vendor credit notes posted to the wrong period. Credit arrives in March for a December consignment. The December margin overstates and the March margin gets a phantom boost.
The point of an AI layer is that the rules are encoded once during onboarding and applied consistently to every query thereafter, with the underlying source data one click away when finance wants to verify a number.
What live SKU margin looks like in practice
A working SKU margin view answers questions in seconds, not weeks. 'Top 20 loss-making SKUs in the south region after all discounts and capital cost.' 'Net margin trend per SKU for our top 10 customers over the last 6 months.' 'Which customers have improved or worsened on net realisation since we changed the scheme structure in March.' 'Compare the margin profile of imports versus domestic-sourced for the same product line.'
See AI Analytics for Indian Traders and Distributors for the full pattern, or talk to AI for Tally users if Tally is your main system. The 14-day POC validates that our SKU margin numbers match your internal reconciliation row for row before you commit.