Try ERPNext Buy Support Partners Foundation

ERPNext for Vehicles Scrap Yard

Recently I met a client who runs a scrap yard. Has inventory in multiple locations. Client purchases scrap vehicles which no longer road worthy as they have been cancelled by the traffic department. Here is summarized business operation

  1. Vehicle Purchase
    a. Vehicles has a purchase value. Lets say X
    b. Vehicle parts are sold individually or whole.
    c. Parts can be consumed internally in garage (fixed to customer vehicles) or for client’s own vehicle.
    d. Multiple locations (warehouses) for storing scrap.

  2. Vehicles Rented (not scrapped vehicles)
    a. Rented on hourly/daily basis
    b. Rented with or without driver/operator
    c. Depreciation for asset.
    d. Sold off after life. Can be sold in full or in parts.

  3. Scrap Valuation against market rate.
    a. Daily scrap market gives price per ton etc.
    b. Scrap inventory valuation to be updated

Client major pain points are
a. Does not have any track of current inventory.
b. Does not know if profit was made on a vehicle. Without proper tracking impossible to know which part was sold for what price. Assumes that parts are either being sold at any price by employee or maybe sold under the table (theft).
c. As current inventory is unknown hence market valuation cannot be updated to get asset value.
d. Vehicles have hundred of parts (cars, trucks, JCB etc.) difficult to know which part of which vehicle has been sold or available for sale.
e. No mechanism to track unsaleable parts. Vehicles are partial damaged goods hence some parts cannot be sold. Maybe possible by repairing/fixing them which is additional cost.

My idea is to create a new DocType to do the following

  1. use vehicle VIN & Chasis number for tracking.
  2. Input purchase cost of each vehicle.
  3. Create Items table and fill at time of purchase. This will track parts that are worthy of sales.
  4. Give each item/part a unique code (like a serial number). Maybe a combination of VIN number with Item Code.
  5. Give sales price per serial number. Probability of having 2 or more similar items in different wear & tear condition hence price cannot be standard.
  6. At sales time fetch item from vin number which will pull the item sale price set at time of purchase.
  7. Market scrap valuation is academic. Will only be possible if each item weight is added.
  8. Do material transfer to Job (repair in garage) and consume the item.

Rental part can be looked later as it is not the core business.

Looking forward to response from anyone who may have completed similar use case or has better idea on how to go about.

Thanks you for the input.

Hi Muzzy,

Interesting project. Here is my 2 cents, having done similar work in another domain.

I would not create a new object. Remember a car is just a type of Item.
Year, Color, Make are Variants.
You can further add properties to Item if you want to track Domain specific properties, but I would keep it as abstract as possible.

The car breakdown would be a Method you would execute on Item.
This is done in several other industries where there is a Master Part Number (Item) and it is made of of many sub-parts.

The list of parts for a given make/model should come from a master parts list, each manufacturer keeps. If unavailable to your client you can make one with the usual routine parts (engine, alternator, belt, seats, windshield, etc).

You usually also have a Purchase Lot assignment associated with the item at time of Stock Entry. That way you can do the usual current in the box profitability.

1 Like

Hi Muzzy

My suggestion is to use the stock module for inventory tracking of scrap vehicles.
and create a custom doctype with the name Vehicle (to be used to track vehicle details) and create an accounting dimension and link it to that custom doctype. (this will help tracking the profitability of a vehicle)
It will go like this:
when he purchase the vehicle it will enter the assigned warehouse as a vehicle then he will create a stock entry from incoming warehouse to WIP warehouse then create another stock entry from WIP to parts warehouse with the extracted items. (Select the vehicle in the dimensions field)
then there is two options (Selling the extracted parts or using the parts internally)
When selling the parts : create a normal sales invoice with update stock
when using internally : use work orders in the manufacturing module to fetch and use the parts.

1 Like