Is ERPNext suitable for our distribution model?

Hi! I work for a manufacturing company, and we’re looking at ERPs to find one that can work with our distribution model, which is quite specific. I’ll try to elaborate how we work and what we want to do:

So we sell hardware products. To make the example simple, let’s say it’s one product, called PRODUCT. This product is manufactured by other companies for us, and due to shortage of electronic components, they may come with different electronic components. We want to track this.

This can probably be tracked either by attaching batch numbers to the item (representing the product), or having variants (we use PCB VERSION and REVISION internally already).

So here comes the tricky part:

Our customers are other companies that again sell our product as their own to end users. So it’s a B2B2C model. So our customers (the companies) buy PRODUCT, and they don’t care which batch or variant they receive (but we care for maintaining correct stock and tracking products).

So say we have 5000 PRODUCT in stock. 3000 of these are batch 1, 2000 are batch 2. Now CUSTOMER buys 4000 PRODUCT. We want to reserve 4000 for them, but here comes the catch: we also keep them in storage for the customer and ship the product for them. So we only know that they bought 4000 PRODUCT, but how many of them end up being batch 1 and batch 2 is unknown until the devices are shipped.

So in week 1, we may ship 2000 batch 1. But then, in week 2, the rest of batch 1 was shipped to another customer, and so now we need to ship 2000 batch 2.

Is there any way to support this workflow in ERPNext? We’d like to:

  • Track the total amount of a product that is sold to each customer, irregardless of batch or variant.
  • Track how many of each product batch/variant that has actually been shipped, and is not in stock.

I hope this was clear enough! It’s a bit tricky, but since we maintain the storage for our customers, we want to send out the oldest batches first, and therefore we don’t know how many from each batch will be delivered to the customers in advance.