erpnext icon indicating copy to clipboard operation
erpnext copied to clipboard

Work in Progress Account in selling Process

Open maveezmh opened this issue 3 years ago • 10 comments

Most of the companies work on Project basis so the deliveries happen every now and then but the invoices get generated once in a while.

Problem : As the customers are billed only once in a while but deliveries happen frequently most of the clent facing issues in Balance sheet and PnL statements as one month the expenses will be high due to more deliveries and less invoicing and next month profit will be huge because of more invoicing and no deliveries.

once the sales order is generated the advance amount will be taken from the customer and a tax invoice will be submitted to customer for the advance paid.

Once the delivery starts the stock will be reduced from the inventory and the cost of stock items should get accumulated in another Asset account as Work in Progress or Delivered items tobe billed (similar to process happening during purchase cycle where the value reflects in stock received but not billed register.) and once the invoice is created the revenue will be generated and the WIP account value will be debited to COGS.

this will help alot of Project based companies.

maveezmh avatar Oct 01 '22 05:10 maveezmh

This Can be Achieved by using following method described below

Screenshot 2023-09-15 at 9 23 43 AM

maveezmh avatar Sep 15 '23 05:09 maveezmh

llooks like the process will only work if item is delivered first and billed from delivery note. as the sales invoice cannot predict the value of items which we are going to deliver. Or we need to Repost the values of items once delivery note is created from respective sales invoices.

maveezmh avatar Sep 15 '23 05:09 maveezmh

As per the definition of the perpetual accounting system, the expense of stock items shall be booked when they leave your premises/possession, etc.

I am not sure if it's a ideal work-around. However, if you wish to still keep the delivered items in the asset, perhaps you can use Material Transfer into a warehouse specifically created for that Project. This will allow you to create a Sales Invoice with "Update Stock" checked. This will ensure that your deliveries and billing are in sync.

umairsy avatar Aug 28 '24 07:08 umairsy

@umairsy totally agree on that but most of the companies using ERP ask for WIP Account during delivery so that they can realize the expense when they realize the income.

under perpetual inventory system we can add it as a toggle. where user can define if they need to realize profit based on delivery or based on invoice.

maveezmh avatar Aug 28 '24 12:08 maveezmh

Dear @maveezmh

I found the same issue here. Based on your experiences, do you have any suggested solutions or best practices to handle 'Delivered but Not Invoiced' transactions under perpetual inventory in ERPNext?

Nantikan23 avatar Jun 04 '25 06:06 Nantikan23

Concept

Purchase

  • When we purchase goods, it leads to increase in assets (stock) and a simultaneous increase in liability (creditors)
  • With purchase receipt we use a routing account Stock Received But Not Billed to temporarily increase the liability
  • Stock entries still happen in purchase receipt or in purchase invoice (with update stock checked)

Sales

  • When we make a sale of goods, it leads to booking of profit with a hit to sales and cogs account. It simultaneously also affects the assets, where stock is reduced and debtors increase.
  • Current accounting with DN has some scope of improvement. Introduction of Stock Delivered but not billed as suggested above is a good solution. This is because stock transfer documents should ideally not affect P&L accounts (say cogs account).

Suggested Approach (similar to purchase)

  • Accounting entries as suggested above
  • Always use Stock Delivered but not billed account as a routing account.
  • Stock Entries can still happen either in DN / Sales Invoice (with update stock checked)
  • No need for this to be configurable. Good to keep this as a default for all.

This would still be in line with perpetual inventory requirements, where stock is reduced immediately.

vorasmit avatar Jun 07 '25 10:06 vorasmit

Dear @vorasmit ,

I appreciated your answer! I have some questions about Stock Delivered but not billed, that is the method I've tried to apply to my project, but found that there is no configured account in the company list setting as attached.

So how can i set that account, or whether it is available in ERPNext or not? Since I found only the config for Stock Received but not billed (Purchase)

Thank you in advance,

Image

Nantikan23 avatar Jun 08 '25 09:06 Nantikan23

Please check https://github.com/aerele/stock_delivered_unbilled/

Will check this in detail and will attempt to add it to the core.

Vigneshsekar avatar Jun 09 '25 04:06 Vigneshsekar

@Nantikan23, This is not yet implemented. Was just expressing views on proposed solution.

vorasmit avatar Jun 09 '25 04:06 vorasmit

Dear @maveezmh

I found the same issue here. Based on your experiences, do you have any suggested solutions or best practices to handle 'Delivered but Not Invoiced' transactions under perpetual inventory in ERPNext?

Am still looking for overall solution. the screenshot i added above will suffice the requirements. https://github.com/frappe/erpnext/issues/32448#issuecomment-1720695193

apart from this we also have to consider

  • the impact of stock reposting
  • post dated entries
  • deliveries created after sales invoice generation.
  • and also the process of partial invoicing and partial delivery

maveezmh avatar Jun 12 '25 04:06 maveezmh