ERPNext in lumber re-sales -- What paradigm to follow?


I am evaluating ERPNext for a new ERP implementation in a lumber drying business. Note that, though I am a very experienced developer/architect, I have no ERPNext experience and limited experience in web-based development. If this is the right approach, I am likely to hire some assistance.

Without going into too much detail, lumber is purchased in stacked “bundles” from saw mills. We de-stack the lumber (grading it in the process) and perhaps some sorting, then place the boards into new stacks. These new stacks go into the large drying kilns for days, then are sold to various clients.

While a given bundle (whether as it comes in, or as it goes out) has only lumber that share the same species, thickness and approximate length, the “grade” of each board varies. And, of course, the value (incoming cost or outgoing price) of any bundle varies with the grade mixture of the bundle.

Therefore, we might have 40 “products” that represent the combinations of species, thickness and approximate length, but each specific instance (ie, actual bundle) varies in price based on the grades assigned to the lumber. This presents some unique conditions:

→ 01. When bundles are purchased, a price is set based on the expected grade of the delivered bundles. When we de-stack and grade it ourselves, we may need to adjust the payment price (up or down) if it differs from the original purchase order estimate.
→ 02. When new bundles are sold, the same issue can occur if the customer re-grades and disagrees with our grading (some negotiation and reconciliation will occur to agree on any adjustment)
→ 03. The individual boards on an incoming bundle will end up in different outgoing bundles, so we don’t have a one-to-one correlation of bundle-in to bundle-out. Eventually, we might implement tracking at the board level, but not currently. So, assigning cost to the outgoing bundle is a bit tricky and will be done via weighted/shared averages.
→ 04. How do we represent each bundle (of one of the 40 products), but each having its own price and/or detailed description (based on the actual surface area at each grade level)?

I was thinking that ERPNext’s “serialized inventory” might fit, establishing the 40 products, but creating a new serial# as each bundle comes in (or is created when re-stacking). Separate custom code could keep the details for each serial# that track the grades and surface areas. The actual price and description text could be derived in this code based on that information. As each bundle, even of the same product number, is a different price, all forms (PO, Invoice, Inventory, etc) would have a separate entry for each serial# in the order (ie, there is never a count/quantity other than “1”, even if the same product appears on many lines).

Is this a feasible approach, or is there a better model to follow? I’m sure I will have additional questions, but I’ll wait to see what the feedback is thus far.

Many thanks! … Craig

  1. You can use “Batch Number” for incoming inventory on the stock entry.

  2. You can then use Serial Number for each of the “Repack” stock entries you do.

  3. You can also look to maintain some convention on Item Codes based on attributes like surface area etc.

Hope this was helpful.

1 Like

Hi Pawan, thank you for responding. I appreciate your response, but I think more explanation would be needed for me to get the most of it. I am interested in arranging some remote consulting (phone, Skype, etc) to flesh this out more – at least enough to understand viability, limitations and approach. I am thinking an initial call of one hour or so. If that leaves us confident in proceeding, two to five days of cooperative “hand holding”. From there, possible development support.

Can you suggest good candidates for this? ERPNext expertise and good English communications skills would be required (I spent two years in Bangalore and Pune, but I didn’t learn any Hindi or other dialect!) …