How to store Heat Treatment Number with an Item?

While manufacturing an item of steel called Impeller. We have to send the item outside for Heat Treatment.

After the item comes back from Heat Treatment we receive a Heat Treatment Number from the vendor. We need associate it with item and track it for the rest of the manufacturing process.

This Heat Treatment Number is mandatory as per government rules.

How to store Heat Treatment Number with an Item?


You may have to create custom fields for this in the transaction based on your business flow. The extent of customization may depend on how deeply this is integrated in your business process flow.

Thanks for the tip. I was contemplating adding an extra field but I thought there would be a better way as all the engineering companies operating in India need to enter and track Heat Treatment Number.

In fact some of the Auto Parts manufacturers have to supply heat treatment number with their batch of supplied parts.

Is there any better way to achieve this?


Have you explored using Batch Number? You can enter the Heat Treatment No on receipt of items from Sub Contractor as a Batch Number manually.

I have explored that option but I may not be able to use it because the client wants to read the words Heat Treatment Number instead of Batch Number everywhere. When I say everywhere I mean even in reports and Invoices.

Any ideas as to how much customization will I need to rename Batch Number to Heat Treatment Number?


Does the impeller get a Serial No? If so, that’s where I’d put the heat treatment number. If not, how do you keep track of which item goes with which treatment?

I don’t actually understand the question.

When we receive the impeller the vendor supplied us with a Heat Treatment Number.

Sometimes when we send multiple impellers at a time we receive one single Heat Treatment Number from vendor for all the impellers.

So I take it that impeller is not assigned Serial No.


Add a translation in the Customize form

Only caveat is you need to set the Translation again if you make any changes in Customize form

It depends on your manufacturing process and how/if you distinguish between different individual impellers of the same type. Many manufacturers assign a serial number to the things they manufacture, allowing them to track individual items across sales, returns, maintenance, etc. ERPNext supports this functionality.

If you’re using serial numbers, the Serial No doctype would arguably the the correct place to add the heat treatment number.


Thanks for the tip. I think this will be the easiest way to go.

Can you please explain in a bit more details as to what I have to customize and where?


Assigning “Batch No” / “Serial No” may also mean that when you send the item to the supplier you may have to assign batch even then (you may not know the heat treatment no in advance). Kindly check this scenario before enabling Batch/Serial No set up at the Item level.

1 Like

Use HTML Print formats to Label Batch Numbers as Heat Treatment Numbers. However you must be aware that if you send different items (with different Item Codes) for Heat Treatment and they all come back with the same Heat Treatment Number (Like say: 1234), you will have to club the Item Code with the Heat Treatment Number as you cannot reuse batch numbers across Items.

So you will have to use ItemA-1234 as the Batch Number for Item A and ItemB-1234 as the Batch Number of ItemB and so on.

But I guess you will need to show 1234 as the Heat Treatment Number in Invoices, so you will have to do some scripting to be able to accomplish that.

You should consider adding a Heat Treatment Number as a Custom Field in the Batch DocType and using scripts, you can push Heat Treatment Number field when the item is being received and you can fetch the Heat Treatment Numberin your Invoices and reports, etc.

All of this means a fair amount of customisation. So unless you are a developer yourself, grab hold of a developer from the community. There are people in this post that can help you :slight_smile: - Pawan and Manan for example.

Hope this helps.



If you need traceability either from a regulatory requirement. Or to track warranty status, you should setup your impellers for Serial Numbers. Setting it up on ERPNext is super easry, but you have to find a way to ensure that you can read the serial numbers on impellers that are returned to you for repair/replacement.

Etching the serial number on the impellers is one possibility, but that will mean a whole etching process in your manufacturing process. Plus you need to etch on the impeller in a place where wear & tear does not affect the visibility of the etched serial number.

Beware about Batch Numbers and Serial Numbers: It’s super easy to turn it on on ERPNext, but making stock transactions for Batched & Serialized items is very hard as you have to use the Batch/Serial Number in every transaction. Which means the Batch/Serial Number needs to be tagged/etched or labelled on the product (Serial Number labels on your laptop, mobile phone and other electronics).

If you want to reduce complexity on your shop floor, you should just take Pawan’s suggestion and add a custom field in the Sales Invoice at the item level. Get your users to manually key in the Heat Treatment Number and pull in that value into your print format.

Hope this helps. Though I suspect it leaves you more confused than before. Managing Batch/Serial Numbers is complicated. Your users have to deal with this complexity if you want to turn on Batch/Serial numbers.



Good to hear from you JayRam. I feel that scenarios like these have no perfect solution out of box but with bolt on solutions or custom fields one maybe able to achieve what is needed.

I have customized this and added a row in item form


Thanks for suggestion but the Item is one only.

When it comes back from Heat Treatment it comes with a heat number.

Looking at your suggestion I think in due course we will end up with 100s of Impeller items in item master where each will have its own heat number.

Currently I am playing with the idea of assigning Batch number.