Buying Amount (and Gross Profit) Calculation on Service Items (non-stock) | Urgent Help Needed

Have been trying to find a solution for 3 hours. If anyone’s got an answer/solution, please reply.

The issue is simple and has been posted multiple times in the forum. See:

  1. Gross profit 100%
  2. Gross Profit for Non-stock (service) item

We’ve got non-stock items (services) and have correctly created purchase and sales invoices for all. But when I go to the Gross Profit report, it shows zero Buying Amount for all non-stock items and hence calculates wrong gross profit (100%). I have tried every test case and the issue still remains. I even checked the demo instance at and it shows a similar pattern for all service items.

Now I think either I am doing something entirely wrong, or there’s no solution to this. If you are in the services business or know the solution to this, please help us out.

Here’s a screenshot of the Gross Profit report page:

It’s late in India right now, anyone from the US or other countries who can help me, please?

I am ready to pay a couple of bucks if someone can help me out with a solution here. Have been stuck with this for 5-6 hours now.

Any help from the development team?

Hello. I can assist you with it. Contact me at

So, how does it work. You have an item called Installation and Commissioning, let’s say, right? And you are able to Charge this to a customer.

Let’s say you have two scenarios:

  1. This service is delivered in-house: So the cost of delivering this service is the time your people spend on this and the expenses incurred in delivering this (travel, stay, etc. etc.)
  2. This service is outsourced: Here you just outsource this service and pay a subcontractor to deliver this service

Now here is the trouble with non-stock items as compared to stock items:

  1. Valuation of Stock Items are relatively stable. Like if you buy steel, sure it has fluctuations, but it’s not twice or thrice the rate.However, unless you have a separate item code for each service item, you could end up selling a service item at Rs. 5,000.00 and another one at Rs. 25,000.00 and yet another one at Rs. 1,00,000.00

  2. Plus the service item typically has some outsourced costs, some inhouse costs, so it’s complex to be able to report it.

With the above background: Here’s something you should consider:

  1. Purely Sub-Contracted Service Items: Consider setting them up as a Stock Item (I know it’s not a stock item, but humor me and read along). Now you can Sell this, then you Buy it. Then you Purchase Receipt/Invoice it. The you Delivery Note/Sales Invoice it. However this does not address the problem of valuation rate of the item. If you bought one service item at Rs. 5,000.00 and another at Rs. 1,00,000.00, your buying and selling rates will be very confusing. However the amount shown would be consistent to what your buying and selling prices are. If you are not okay with this, you can set up a separate item code for every service item. If you think that’s too much work, but still need traceability, you could setup the item as a Serialized Item or as a Batched Item. The valuation will still be all over the place, but at least traceability of what service item you bought at what price and sold at what price should become easier.

  2. For items that are not purely subcontracted and a significant part is delivered by your employees, I don’t think it is straight forward to calculate the gross margin of such items. Your best bet in such situations is to charge every income and expense to a project and use the Project P&L to makes sense of your cost model. There are some pitfalls to charging time: How do you convert an in-house employee/worker’s salary to a cost rate per hour.

I just think that, perhaps, you guys are trying to seek a system solution where none exists.

Your best bet is to down load a (few) report(s) from ERPNext and use Excel to crunch and come up with the numbers.

Why do I say that a system solution does not exist? Because I guess, each organization will have it’s own weird way of calculating the margin.

Hope this helps.



1 Like

Hi Jay,
thank you for your response but let me comment on this as I am facing the same problem
most likely there are two possible scenarios after selling a service to a client

  1. we do it internally in which calculation of cost is a bit complicated and for our organization we assume 50% is COGS and i don’t think there is a way in ERPNext to do that (at least not yet)
  2. we outsource it and in which the system should calculate the GP but it looks like if our service is not a stock item it does not recognize the cost of POs issued

anyway I believe in both scenarios I shouldn’t care about valuation since valuation is important for stock items, the system shows the buying amount zero leading to 100% GP

if you can help on how to make the PO issued to be reflected in the buying amount then I think this would solve the issue.

thanks anyway

1 Like

Hi Tareq,

Converting the Service Item that you subcontract into a Stock Item should solve your problem.

Then you include that in the invoice and you buy that “item”. If you create a unique Item Code for each deliverable, you should be able to get the margin information fairly straightforward.

You can also calculate that from the line items in your Project P&L.

Hope this helps.