Inventory Kit Profit Margin anomaly

Hi @lubos
While evaluating report “Inventory Profit Margin” for the period Aug 01 ~ today, I have used Inventory Kits too for just one item with defined sales price @ 59/piece and made up of two inventory items of say item#1 @ 46/piece & item#2 @4/piece (each with buying price well defined in the Inventory Items), I found certain observation and escalated profit margin that do not make sense. It is observed that instead of sales against the Inventory Kit item, the sales is shown for each component items, in each case, equal to sales amount at the Inventory Kit item’s sale price. Thus, each component item is showing profit for the difference between its buying price & Sales price of Inventory Kit item which is absurd and doesn’t make sense. Whereas, the profit margin calculation should have been against inventory kit item on difference between sale price @59 and cost price @50 (Item#1 @46+Item#2 @4=50), the profit on components items should have been zero as those include in cost of Inventory Kit item

Having faced this problem, I searched through “forum” and finally found a topic raised before by @Tut as below for this issue which is exact representation of my situation.

quote="Tut, post:1, topic:9631
The Inventory Profit Margin report is overstating sales when inventory kits are sold.

For this example, I created an inventory kit with three items, selling for 55.99:

Screen Shot 2017-05-19 at 1.12.59 PM.png485x566 23.9 KB

I then sold one kit. The Inventory Quantity Movement and Inventory Value Movement reports look fine, showing proper adjustments of the components’ quantities and values. But the Inventory Profit Margin report has a problem:

Screen Shot 2017-05-19 at 2.20.25 PM.png824x350 21.3 KB

The report above is for a time range that includes one sale of the inventory kit and no other inventory items. The Sales figure for each component of the kit lists the full sales price of the entire kit. In this case, total sales should have been 55.99. Total cost of sales is correct. Total Profit should have been 33.77 and total Margin 60.31%.

Yet a P&L for the same time period is correct. It seems the Inventory Profit Margin report needs a method for apportioning sales among components of inventory kits. As things stand, the report distorts profitability for any period that includes kit sales by overstating the sales figures.

The most obvious solution is to apportion sales to components based on their costs. But other options might exist. Or the margin report might report margin for the kit rather than include kit sales in component margins.


@lubos I wonder if there has been a suggestion for a work around this problem or any other solution. Or, do we need to stop using the Inventory Kit feature.

I look forward to an update/solution to above problem to in order to modify/suspend our next step for this feature.


If you reread the entire topic thread you referred to carefully, you will see it has been in the category of known bugs for more than a year. And @lubos explained why it has not yet been resolved. Right now, there is no workaround. The only thing affected is the Inventory Profit Margin report. For now, you have two choices:

  • Keep using inventory kits and know that profit margins for them are incorrect and distort the overall margin calculated only for that report, or
  • Create new inventory items for the kits and enter production orders to convert existing inventory items into the “kit” items. This will make your Inventory Profit Margin report accurate, but would involve a lot more work. Maybe it is easier to calculate profit margins on kits manually until the problem is fixed.

@Tut With reference to your below two choices, I will definitely opt for the first.

Unless, of course, as long as the use of Inventory Kit does not affect actual P&L of my business. So, I would like to make sure @Tut & @lubos that, except the Report of Inventory Profit margin, the use of Inventory Kit does not affect the real P&L and the profit on Inventory Kit items is included (apportioned) in the total P&L account.

You are safe in that respect. Your profit and loss statement includes the actual income amount posted from the sale, in other words, what you charged the customer. For cost of goods in the Inventory - cost account, it uses the average cost of each individual inventory item on the date of the sale. It specifically does not use any cost for the kit, because as you will notice if you look at the inventory kit definition, there is no cost field.

The profit and loss statement extracts its figures from transactions during the required time period. And it does that correctly. The Inventory Profit Margin Report extracts data from the same set of transactions, but mistakenly applies the component costs in an entirely different process. There is no overlap between the calculations performed by the two reports. They only share the same, correct, input data.

I hope that makes sense.

@Tut, just like to double check about the P&L behavior relating to profit from transaction of Inventory Kits, I would like to reconfirm if the profit from Inventory Kits items will be posted to P&L as below:

Inventory Kit Item say “x” Sale price is defined as 59/piece
Components for Inventory Kit
Item #1 purchase price defined @ 46/piece
Item #2 purchase price defined @ 4/piece

So, cost of Inventory kit item “x” is 50/piece

As I understand from your explanation, if we Invoice 5000 pcs of Inventory kit item, the profit amount 45000 (5000pcs X 9/piece) will be apportioned (included) to the total P&L account.

Sorry, if my query appears to be repetitive. I am not clear and concerned, for this reason, I just like to be very sure.

The net effect will be as you hope. But “the profit amount” is not what will be apportioned or posted. Profit on the P&L is simply the difference between income from the sale and cost of the goods. Both those amounts will be correctly calculated and posted separately. The 45000 profit will be part of the overall profit shown for the period. If you have any doubts, create a test company and simulate the transaction first.