Profit calculation doesn't take into account of previous batch after cost rise

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
10 years ago
Take into account the following info of a product


Product Name : ABC
Product Cost : $30
Selling Price : $40
Stock Quantity : 2


Since, the stock is low, I perform a re-stock of 10 units. However the cost of the product for this batch has gone up by $2 and assuming that I don't raise my selling price and am able to live with a reduced profit margin. The following data is updated into nopCommerce (Catalog -> Products -> Manager Products -> Edit the product in question -> Product Info tab)


Product Name : ABC
Product Cost : $32
Selling Price : $40
Stock Quantity : 12


Now assuming that I've sold 6 units of this product (2 from the previous batch & 4 from the current batch - assuming the system clears off products from previous batch first), the profit calculation of nopCommerce is given as


($40 * 6) - ($32 * 6) = $48


The actual profit that I should be getting is


[($40 * 2) - ($30 * 2)] + [($40 * 4) - ($32 * 4)] = $52


Shouldn't nopCommerce take into account scenario like this to produce a more accurate account of the profit obtained?
10 years ago
jason2k wrote:
Take into account the following info of a product


Product Name : ABC
Product Cost : $30
Selling Price : $40
Stock Quantity : 2


Since, the stock is low, I perform a re-stock of 10 units. However the cost of the product for this batch has gone up by $2 and assuming that I don't raise my selling price and am able to live with a reduced profit margin. The following data is updated into nopCommerce (Catalog -> Products -> Manager Products -> Edit the product in question -> Product Info tab)


Product Name : ABC
Product Cost : $32
Selling Price : $40
Stock Quantity : 12


Now assuming that I've sold 6 units of this product (2 from the previous batch & 4 from the current batch - assuming the system clears off products from previous batch first), the profit calculation of nopCommerce is given as


($40 * 6) - ($32 * 6) = $48


The actual profit that I'm getting is


[($40 * 2) - ($30 * 2)] + [($40 * 4) - ($32 * 4)] = $52


Shouldn't nopCommerce take into account scenario like this to produce a more accurate account of the profit obtained?

I think that profit is calculated when your order is done: your margin was first $10 and then $8. If you sold 2 before raising your inventory then you made profit of $20 and then 4 items with your new margin made a profit of $32 and altogether $52
10 years ago
Do you mean that, in order for me to get the accurate profit margin ($52), I'll have to wait until my stock for the batch ($30 cost) to be completely depleted before I re-stock with a new batch ($32 cost)?
10 years ago
Profit is calculated for the orders that meet the search criteria  (i.e. the orders showing in the results grid - all pages)

When the order is placed, the orderItem's OriginalProductCost field is set.  The orderItem.OriginalProductCost is used in the profit calculation, so it should reflect the actual profit based on the margin at the time the order was placed.
10 years ago
New York wrote:
Profit is calculated for the orders that meet the search criteria  (i.e. the orders showing in the results grid - all pages)

When the order is placed, the orderItem's OriginalProductCost field is set.  The orderItem.OriginalProductCost is used in the profit calculation, so it should reflect the actual profit based on the margin at the time the order was placed.


I understand what you're saying but I think you've misunderstood me. I implore you to read my question again, this time in between the lines. After the re-stocking of the 2nd batch, the cost has since been changed. Every order placed after the re-stocking will set the orderItem.OriginalProductCost at $32 which is incorrect. The first 2 orders (assuming each order consist of 1 unit in quantity) should take $30 as the orderItem.OriginalProductCost instead since there are 2 units leftover from the previous batch. The 3rd order onward can use $32 as the orderItem.OriginalProductCost since the previous batch has been cleared.

When you drill down the problem, the question at its most rudimentary level is: which order(s) (assuming there are 6 orders) take(s) $30 as the cost and which order(s) take(s) $32 as the cost?
10 years ago
jason2k wrote:
Profit is calculated for the orders that meet the search criteria  (i.e. the orders showing in the results grid - all pages)

When the order is placed, the orderItem's OriginalProductCost field is set.  The orderItem.OriginalProductCost is used in the profit calculation, so it should reflect the actual profit based on the margin at the time the order was placed.

I understand what you're saying but I think you've misunderstood me. I implore you to read my question again, this time in between the lines. After the re-stocking of the 2nd batch, the cost has since been changed. Every order placed after the re-stocking will set the orderItem.OriginalProductCost at $32 which is incorrect. The first 2 orders (assuming each order consist of 1 unit in quantity) should take $30 as the orderItem.OriginalProductCost instead since there are 2 units leftover from the previous batch. The 3rd order onward can use $32 as the orderItem.OriginalProductCost since the previous batch has been cleared.

When you drill down the problem, the question at its most rudimentary level is: which order(s) (assuming there are 6 orders) take(s) $30 as the cost and which order(s) take(s) $32 as the cost?

Following your example of 2 @ $30 + 10 @ $32 your cost for the remaining 12 units should be averaged (($60+$320)/12)=$31.67) and so at the end your profit will be calculated properly

What you want,would require  that Nop keeps a track of all inventory/cost changes. This belongs to ERP systems that are more appropriate for functions such as costing, profit calculations, inventory management, etc. So lets focus Nop development in the e-commerce functions.
10 years ago
eadameg wrote:

Following your example of 2 @ $30 + 10 @ $32 your cost for the remaining 12 units should be averaged (($60+$320)/12)=$31.67) and so at the end your profit will be calculated properly

What you want,would require  that Nop keeps a track of all inventory/cost changes. This belongs to ERP systems that are more appropriate for functions such as costing, profit calculations, inventory management, etc. So lets focus Nop development in the e-commerce functions.


Correct me if I'm wrong, from the calculation you presented, it seems to me that I have to wait until the previous batch to be depleted before I re-stock with a new batch with the new cost hike.
10 years ago
Right.
Otherwise work on average costs as shown in my example above. This method is very much used in cost accounting unless you want to use more elaborated methods such as LIFO/FIFO which require to keep track of all your cost history. Imagine, as an example that you have a return of 5 unit which you originally acquired @ $25 apiece
9 years ago
eadameg wrote:
Right.
Otherwise work on average costs as shown in my example above. This method is very much used in cost accounting unless you want to use more elaborated methods such as LIFO/FIFO which require to keep track of all your cost history. Imagine, as an example that you have a return of 5 unit which you originally acquired @ $25 apiece


Taking the "average costs" in calculations is not accurate at all and I believe that all fields of accounting strive to achieve accuracy/percision. For small businesses, this might be enough, but for medium to larger businesses, the deviation from the "average" will be too large to reconcile.

eadameg wrote:

This belongs to ERP systems that are more appropriate for functions such as costing, profit calculations, inventory management, etc. So lets focus Nop development in the e-commerce functions.


What good is an e-commerce system if it couldn't perform accurate profit calculations? Does it mean that I have to plug nopCommerce into some other ERP/Inventory systems to achieve this functionality? Or do I have to manually keep track of these changes (using Excel spreadsheet - that'll be taking a step forward and two steps back)?

I believe there should be a module that perform stock-in. Every time a new batch is being restocked, a new record is created in the Stock-in Module. This new record will contain data such as the cost. Therefore, different batches of the same product might have different costs. This will provide a more accurate profit calculations.
9 years ago
IMHO any decent medium/large company should have an ERP. The store should be plugged to the ERP, at least for transferring orders info, which anyhow has to take care of invoicing, inventory management, accounting (including cost acconting), payments balancing, etc.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.