[Paid Development] Parent item sales order but ship child items


I have a multi-level BOM. I would like to create a sales order for the parent item (which is kind of like a container) and actually be able to deliver the children BOM items via delivery notes/packing slips. I cannot use the product bundle feature for this since this is not a standardised bundle and keeps changing.

The total weight of the parent BOM item would be equal to sum of child item weights and if possible would be updated each time a child item is delivered to the customer.

Any help would be greatly appreciated.


To further clarify, the child items are too big in this case for the entire product to be shipped in one container. This would be the case for any company that assembles its products on site and ships components in parts. Hence the need for creating delivery notes with BOM child items.


Please check if this approach for managing your product would work for you.

  1. Create Sales Order for the Finished Item only.
  2. Create Bill of Material for the finished item. Share it with the client as well.
  3. Create Warehouse for the Customer’s site.
  4. Create Production Order for the finished item.
  5. Create Material Transfer entry from your Warehouse to the Customer Site’s warehouse. Share it with your client for the reference.
  6. Create Manufacture entry when production is completed.
  7. For the final fulfillment, create Delivery Note (against Sales Order) for the product/assembled item.

Hope this helps.

@umair Thanks for your reply. I shall try it out and get back to you.

Since this is a workaround, how much time do you think it might take to develop this feature? I would be interested in looking at paid development as an option since this is currently one of the major hiccups for us in proceeding with ERPNext implementation. We would also require the ability to do part invoicing as BOM items are shipped to client.

@ishanloya maybe start a bounty!

@rmehta Ok thanks. Will do. Have posted this on the job forum for now

Hi Umair,

If I create a warehouse for the customer, the system doesn’t let me transfer materials to it without having a balance sheet account associated with the warehouse. If I use the account for the warehouse, the material qty and amount remain within my company.


Do you mean that when item is transferred to Customer’s warehouse, that’s actually a delivery? If yes, why not create entries like Delivery Note and Material Issue (Stock Entry). Creating Customer’s Warehouse in your ERPNext account is a work-around, incase your items are kept in the customer’s warehouse, so that you could track them.

Thanks for your reply Umair

The problem with using the delivery note is that it only lets me select items from the sales order. However, we need to track delivery of the BOM child items of the item in the sales order instead. These BOM sub-assemblies cannot be fetched into the delivery note at the moment.

Using the Material Issue entry, there won’t be any distinction between what material was issued within the factory for a project and what material was sent to the client.

Did you try Product Bundle?

BOM is designed for use in Manufacturing module. Perhaps you can create Product Bundle on the same lines.

Yes, I tried it but our ‘bundle’ is not standard. Each project has different items and quantities. If a project has 100 BOM items, each of these need to be delivered and mentioned in our delivery note and which of these 100 items are sent together in one consignment is also not known in advance.

I don’t think you can do partial shipments of a product bundle anyways, so even if you could do a product bundle, that’s not the solution for you.

This is probably something you’d have thought of and ruled out, but let me ask anyways: Can you not do the Sales Order for the BoM components. So lets say you are creating a sales order for Item A which consists of components P, Q, R, S, T & U, can you not just do the Sales Order Directly for P, Q, R, S, T & U.

If you don’t want the customer to see the split values for P, Q, R, S, T & U, you can manage that using the Print Format functionality in the Invoice.

Hope this helps.



Thanks for your inputs.

The BOM components (both item codes and qty) are not known at the sales order stage. They are available after the engineering process is completed.

Sure, I suspected as much. So, just start by doing the Sales Order for A till the Engineering Process is complete. Once it is complete, amend the Sales Order to include P, Q, R, S, T & U. it will only work, though, if P - U are shippable units. If you have to break up P into two shipments P1 & P2, then you have to do the Sales Order at the P1, P2, Q - U levels.

Don’t get me wrong, I can think of at least two of my customers that could possibly use this feature, if and when developed - I’m just trying to figure out a workable solution in the meanwhile.

Hope this helps.



Thanks Jay. Will give it a try and see if this is doable.

I just wanted to add that we have assigned this to a company so they are currently working on a solution via a new doctype. I think eventually this could be handled via the delivery note itself if there is enough interest in such a feature. This discussion is relevant to any organisation that:

  1. needs to track delivery of BOM items in an engineer-to-order scenario
  2. where the product is not standard & is too large to be shipped in one consignment
  3. where assembly happens at another location (construction industry, vehicle assembly, etc.)

That’s great. I’m sure you’d have covered this, but some of my clients may find it hard to actually define the shippable units as they could have too many combinations and typically they send whatever they have been able to produce and sometimes they send it out just so that they can do a bit of invoicing, if you know what I mean.

So, for the feature to work, the user organizations would need to think about shippable units when doing the components, and produce those shippable units. Please don’t design your solution to be too flexible, though the temptation would be to have flexibility, as I just instinctively can imagine that too much flexibility will be too hard to manage - Like if you are sending 350Kg of MS Beam 200, it would be hard to figure out whether this is a Column or a Channel. So the Shippable Unit should be Column or Channel, rather than 350Kg of MS Beam 200, though the Column or Channel could actually be 350Kg of MS Beam 200.

Happy to help if you need anything.

@vivekck: You may like this feature.

@Raghav_s: This can help the PCS business.

Hope this helps.



Yes exactly. So at present, we have the item’s part mark (which is also used in the engineering drawings and engraved on the item itself) in the multi-level BOM as a sub-assembly (with its raw material) and also in the delivery note. But since the number of these parts for a single project/sales order can run into the hundreds, I don’t think we will be able to add them to the sales order since it would also be a duplication of effort.


This is MUCH needed feature! More than 70% of our shipments are of this nature. In our case, we are manufacturing and supplying Signages, the SO and Invoice will have an item “Sign Board”, however the dispatch items are a set of frames, panels, LEDs, etc., and it gets assembled in the site.

Please let us know the plan for implementing this feature. Happy to contribute.

Thank you.

1 Like