How to handle partial use of materials in a service type business, many attributes

Electrician here.

Scenario: I’ve bought one spool of wire. It is packaged and it has a bar code, it is 250 feet long. I have a Purchase receipt as a customer from Home Depot. I’d like to have that receipt entered into the system, and figure and populate all relevant info like item price, q/y, sales tax, grant total. While sometimes we buy products that are a single quantity, like an outlet or a switch, sometimes we buy stuff in bulk, boxes which come with 10 of those inside. How do I manage to enter that?

Next question would be, let’s say Ive used only 100 feet of that wire I’ve bough today, how do I handle that in the system? Read along and found that batches or item variants might be useful, but opposed to that, I am realizing that the same type of wire (12-2 Romex) can come in various lengths (25, 50, 100, 250) and all sizes have barcodes in the supplier, as well as the same length can come from a different supplier and manufacturer! I can’t create an item and do it that way, since if I do, how do you handle leftovers? and I’d end up creating endlessly increasing item base. I want to reference another post from one of my colleagues Same item but different lengths? - #5 by jeff6872

I’ve also spent about few days only looking online and on the forum of how to handle such cases, and wasn’t able to find relatable post. I am not “manufacturing” necessarily, all tho, some installations can be considered as manufacturing, on site, at the clients location, i really don’t know, it doesn’t make any sense to me to use raw materials and manufacturing just to be able to run my business.

Any information would be helpful.

Okay, I will take a swing at this one…

In ERPNext create generic items such as:

  • 15amp outlets 125v
  • 20 amp outlets 125v
  • 30 amp dryer outlet 240v
  • Light Switch SP 15amp
  • 14-2 Romex
  • 14-3 Romex
  • 12-2 Romex
  • 12-3 Romex
  • 10-3 Romex

Give them all unique “Item Codes” that you will use to add them to your service ticket.

(Here is how you solve the multiple barcode issue)
Each “Item” you create has the ability to have multiple barcodes associated with it. I cannot imagine that you would be carrying a barcode scanner with you to scan outlets, wire, etc. but you may. So, entering all of the barcodes for each generic item type into the item record will allow you to scan any of them to get your ITem to populate on the ticket.

For example:

You can buy 15amp 125v outlets made by Eaton, Cuttler-Hammer, or Square-D and they would each have their own mfg barcode. By adding each one to the item record you would be able to scan any of them and still get the generic outlet.

Now let’s say that you do NOT use a scanner to populate your service tickets, but you try to search for the items using the search box to search by name or barcode. This is where the multiple barcode function of the Item record can be tricked into serving you anything you want it to serve. If you have a simple description that you want to use to find Items while populating the service ticket, add the description to the barcode list (yeah I know this sounds crazy but follow me here…).

For example in order to quickly find 15amp 125v outlets you create something simple to remember and quick to type like “125v15o”

Now here is where it may sound crazy but it is your fast track to success. In the “Item” record for the 15amp 125v outlet, add “125v15o” as a barcode.

Yeah, I know… it is not something that actually exists as a barcode so you could never actually scan for it. However, knowing a little bit about barcodes and scanners pays off here.

You see, a barcode scanner looks like a really fast keyboard to everything it is attached to regardless if that is your PC , your tablet, or your phone. So, that means that when you actually scan something with a real barcode scanner the device you are using for your ERPNext functions (PC, tablet, phone, etc.) only thinks that you typed something really fast.

How you can make use of this tidbit of knowledge is that you can now TYPE the value 125v15o (or whatever simple thing you come up with) into the “Barcode” search field and it will populate the Item it is associated with into your service ticket. This really simplifies the process.

You see, the Item record allows you to list all the barcodes associated with an Item and in that barcode list function you are only entering the “value” of the barcode that is encoded into the black and white bars of the code. As long as you do not enter a “Barcode Type” in the barcode chart, the system will not be looking for anything but the code value. This is what makes typing it into the barcode field so handy.

Now, by this point you have a much shorter list of generic items and a rapid way to use them. So that only leaves the question of how to account for bulk wire.

For that you set the Purchase UOM to “feet” and add them your purchases to the system. When creating service tickets, use the same “feet” UOM to add wire to your tickets.

I know the accounting will take much longer to try to explain so hopefuilly you already know that part. But when you buy 250 feet of 12-2 romex for $180 the cost will be updated and the value of your inventory will be altered accordingly. You will have to be using the FIFO accounting model for this to work properly. As for bulk outlets and switches (like the 10paks) you set the retail sales value for your generic items in the Item record and the price list. Each time you use an outlet, it will populate it on your service ticket at your retail price regardless of what you may have paid for the item.

Hope this helps.

And as always… Your mileage may vary :sunglasses:

BKM

1 Like

one item code with multi UOM, each UOM can be associated with different barcode, check this PR for details

https://github.com/frappe/erpnext/pull/30988

2 Likes