RFID Inventory Control


I’m currently starting on a project for RFID inventory control. I’m trying to figure out how RFID should be handled by ERPNext. Has anyone here worked on this or have any ideas? I think a new doctype for RFID tag would have to be created, somehow linked to the tag when it is created, and also tied into the ‘bin’ doctype.

sorry if I’m short on details, it’s late and I’m fried.

The RFIDs are per-item? At what points are they checked by the system? An RFID reader is likely to spit out a string that could function like a serial number.
What are your goals with this or what’s the problem statemetn? Inventory control meaning that there’s an automatic checkout process when an employee retries inventory?

1 Like

RFIDs would be per-container (bag, bin, box, or pallet, depending on the item) RFID would store the following information:

  1. PN
  2. BATCH
  3. QTY
  4. EXPIRATION DATE (If applicable)

RFID Tags have a unique id that could be used to create an RFID Tag document within the ERP.

A flowchart is here: RFID — Christopher G. Purbaugh

It’s my thoughts on how this could work.

1 Like
  1. Great flow chart. Like really excellent. Can you attach it to this thread as a PNG for posterity?
  2. It seems that some amount of business logic is isolated in the reader device. I think it makes sense to have all the logic that be either in the device and/or in ERPNext, but not split; just want it to be less fragile.
  3. It is worth thinking of subsequent use cases beyond inventory control for RFID tags, like employee attendance, system login/logout (popular with Healthcare providers in the US). So it makes sense to have an RFID settings page to allow for multiple use cases and probably a child table to align the ranges with uses cases.

So. Let’s make stubs for the DocTypes and API emthods and see what design limitations there might be. Is this part of the Arduino project you mention a few months ago?

ESO Team @creamdory @KanchanChauhan @dominik This sounds like something you guys might have some experience with and/or ideas about.

As requested:

I’ve actually been looking at the ESO team’s RFID handheld code to try to adapt it for my needs, though I think it may be better to create a generic ERPNext API library for Arduino, then create RFID reader commands for that. It looks like ESO has done most of the work, I just need to understand it better.


It is worth thinking of subsequent use cases beyond inventory control for RFID tags, like employee attendance, system login/logout (popular with Healthcare providers in the US). So it makes sense to have an RFID settings page to allow for multiple use cases and probably a child table to align the ranges with uses cases.

ESO seems to have employee attendance worked out with their project. System login/logout - do you mean like an RFID reader at a computer station?

Yes, that was the first use case that came to mind. It also makes sense as a way to log people in and out of a checkpoint, it’s a way to combine an access/security problem-set with an attendance problem-set.

Any update on RFID inventory management ? because i am also involved same kind of scenario where we have to attache RFID tags with each box and keep the record in erpnext for further processing.

Please let me know if you are still working on this and we can work togather on this solution

So I’m settling on how to add RFID readers to the system in a way that is more general purpose and I think that means that its used as a translation layer. I think it makes sense to add methods for both inventory transactions and employee login/ logout endpoints, but the methods should share a common API design.
@cpurbaugh let’s hack this together Friday afternoon? Are you available to set some time aside?

@tmatteson That’s fine. I can do Friday after 2.

@seehive Just getting started on this project, do you have any development experience?

Yes i do have, currently i am doing some customization in ERPNext through custom app

@seehive Chris and I had a call on this yesterday and were working through some of the architectural issues . I did some framing and will be pushing that to a branch today, I’ll drop the link here at that time.

great!!! looking forward :+1:

any update about the repository link ?

Here’s the design:
All RFID tags call the same endpoint. There’s a settings page where you define the ranges and the dotted.path.to.method where the the RFID tag number is passed to.
To do:
Decoding of numbers (hex/ binary) and rejecting alpha tag numbers.
It seems the dynamic link isn’t working so the ability for a specific tag to reference a specific method is broken.
Anyway, it’s a start. We can start mapping Chris’ stock movement patterns to it next. The ag application is pretty simple, but I’m realizing as I write this that I haven’t included a way for kwargs to get passed to called methods.

@cpurbaugh Did you get your reader in house yet?

1 Like

Hello, I was going post a questions about RFID support in ERPNext and then saw this thread. Apologies if I am resurrecting a dead thread and asking basic questions
Few Questions

  1. Is there a RFID support in ERPNext? if not, did this collaboration between @cpurbaugh & @tmatteson in thread reach anywhere?
  2. There are many types of RFID readers/writers on market, Do we need to buy a specific one with API or some features that let it send data to ERP next?
  3. Anyone wants to join forces to add this functionality into ERPNext (if not available already)
    Many thanks

My understanding is that RFID readers output text, just as barcode scanners do.
What is your use case?

Yes, there is sometimes ‘more’ than just a small portion of the business logic to be added to the RFID reader. (and it servers several purposes)

RFID readers are NOT fixed reading devices like barcode readers. RFID tags and readers have a ‘range’ of reading distances and in many cases the reader can read multiple tags at the same time. This means that it becomes important for the reader to have some logic customized to filter out the unwanted signals.

Most RFID readers that we as consumers are familiar with are very short ranged tag and reader combinations like those you might find in a petrol pump at your local filling station. Others like those used in RFID controlled warehouses can have ranges measured in feet or meters. This would certainly be true for the types mounted on forklifts and pallet jacks.

Sometimes the reader is only interested in counting the number of tags that fall within a carton or a pallet. Other times it might be electronically looking through the carton or shrink wrapped pallet for a particular serial numbered tag.

So, when talking about adding RFID technology to any existing inventory control system it is important to layout the physical properties of the items to be tagged and set boundaries for how the technology is supposed to work. It is one thing to put a RFID tag on a 4pak of AAA batteries to make the checkout line move faster. It is something else completely to then want to count how many of those same packages are in a sealed carton or on a pallet along with their expiration date. The whole process is quite a bit more complex than just putting a barcode on something. The technology is capable of much more and therefore it will sometimes require quite a bit more logic to make it work for any or it’s many purposes. Each unique purpose will require different way to handle the data.

I know it sounds confusing. I have done some RFID work and it took much longer to fine tune it than I had originally expected. I lost money on several of those jobs because there were always new capabilities in each new generation of the readers that required additional data handling. This also meant new API packages as well. The technology is still fairly new and the readers are still changing every few months as you work but the workflow gains that can be accomplished make the technology very attractive.

I have worked on RFID systems that can track a patient throughout a hospital facility as well as some that are only meant to read a key fob to keep track of loyalty points, and they all have different requirements that must be considered BEFORE you embark on the project.


Hope this helps.

Happy new year to all. Thank you for replies.

Our use case is typical inventory control in a warehouse. Manufacturer will be adding RFID tags to individual carton boxes soon (we sell large box white goods items). So, we want to be able to benefit from this and upgrade our very manual way of working to modern age. We have two most pressing needs 1) We want to do automatic stock in at the time container is unloading using antenna at warehouse gates 2) reduce regular stock take times down to hours/minutes instead of full day.

I agree with @bkm RFID concept is attractive but devil is in the implementation detail. So, implementation wise we will for sure want reader to read all tags in range (of course not double count) this helps with stock taking aspect and bulk stock in. Also if we want to find spare parts of some items which we manually tagged and store then should be able to dial in that number and find only that tag among 1000’s of tag. (later usecase is should not must)

So my questions still stands, which reader do we need to buy that will be compatible with ERPNext do at least one of the task (read bulk tags in range) AND if there is no integration between a reader and ERPnext as of yet, which one do people recommend based on their experience and ease of integration.

We have in house developer so we are interested in developing an open source extension for ERPnext if it doesnt exist already.

Thoughts/ideas welcome if I our use-case of RFID Tags can be tweaked to facilitate ERPnext integration.

We spoke to http://www.waspbarcode.co.uk/ and they are offering a barcode reader and software as package but problem is that how we transfer this info into ERP. so we want an integrated solution.

Many thanks

1 Like

We have made progress on RFID Integration. The way we have implemented it is the following:

  1. You associate any document with an RFID Tag.
  2. We have integrated an Android Based RFID device with ERPNext and we can, upon scanning a RFID Tag, can resolve the RFID Tag to a Record (and DocType of course)
  3. Once resolved to a record we can throw a bunch of context sensitive options to the users for the record. For instance if the RFID Tag resolves to:

Item: Make a Transaction with the Item (Like Delivery Note, Stock Entry, Purchase Receipt)
Serial Number and the Serial Number is at a Particular Location: Move Item, Consume Item, Pack Item, Ship Item
Serial Number and the Serial Number is not in any warehouse: Check Warranty Status, Inward Serial Number, etc. etc.
Employee: Mark Attendance
Warehouse Bin (We have developed a Warehouse Bin system): List items in Bin, Make a Transaction into/from Bin
Purchase Order: Receive Items in PO, Amend PO, etc.
Sales Order: Make Delivery, Check Availability
Work Order: Transfer Materials, Make Manufacturing Entry

I think the possibilities are limitless. Happy to collaborate with people on this and enhance this further.