Newbie needing some help - same product & different suppliers - howto handle?

Hi there-
I have a couple of special requirements for our sales order. Please help if you can - I’m BRAND new to ERPNext.

  1. I need to be able to “see” the supplier linked to a product. We have same product from many suppliers and need to choose correct supplier when creating sales order. It would be ideal if I need to choose supplier first and then see list of their available products. Any way to do this on the sales order?

  2. I need to have a column on each item for “packing”. Packing will be located on sales order next to price (separate column). Packing is a dollar value (like $1.00 for box) and it is associated with a product. Every product has a packing cost. We will select the packing method when entering the item on the sales order and then it will calculate separately. Like, one total for product price and one total for packing price and then a grand total.

  3. Finally, I will need to send order acknowledgement to the customer via email. How/where do I customize the look of the order acknowledgement so I can make sure the correct fields are entered.

I should mention we are 100% drop ship company in case that is relevant?

Thanks for any assistance.

There is something called a “product bundle”.
example laptop and laptop bag as a bundle. you might want to try searching that.

Some of the stuff you mention needs some basic level of coding the print templates. You might want to advertise it as a job. :slight_smile:
Hopefully if someone knows he might write you a sample code.

If you want to do it yourself then look for “print templates”. (search for it) There is a lot of questions and answers on that topic.

good luck.

1. You can add custom field “Supplier” to Sales Order and also query for Item table.
2. It’s also need some customizations, new fields and calculate item’s amount
3. You need your own custom print format.
good luck

Thanks for the responses. I’m finding my way a bit better now but still have not found what I need in terms of linking the supplier to a product.

My need is this:
Each item is linked to an individual supplier. Reason is that each supplier might charge different amount for the item. Example: Product 1 is charged $5.00 from supplier 1. Product 1 is charged $8.00 from supplier 2, etc…

Even thought it’s the same product, it is charged a different price from the supplier so we need to be able to see this when we choose the product and add it to the sales order. For this, we’ve assigned a supplier code (2 digits - like AB) to each supplier. Then, each item is assigned with supplier code too. My issue is that it’s not associating properly with the item and supplier.

What do you recommend to do this? Is anything standard or all customization like this?

please try using buying price lists. then you don’t have to make duplicate sku for the same product. instead just use the price lists and rules and apply them to different suppliers.

So I have about 115 suppliers. You think I should create a separate buying price list for each one of them? If so, is it possible to import the buying price list. I don’t see a way to import lists there.

I created one list for the first supplier and went to add item and I see export but no import:

Perhaps I’m missing something here in understand the price lists. I will research more.

Anyone have documentation to show how to setup price lists? I’m trying to follow along but not completely sure I understand. Definitely can’t find anything on importing a price list.

Go to data import doctype and type price list. Download the template, fill the necessary details and import back

By the way i dont think its appropriate to use 115 price lists

Got it. So that’s what I thought originally too - too many price lists.

So, any suggestion? My original idea was to assign one supplier per item and that seems to be okay. Only issue is I need to figure out how to pick supplier in sales order item table and then have it only show items that are from that supplier.

Should I maybe create Supplier Code as Item Group? Then, I can filter on Item Group using a script like this on the Sales Order Item doctype? So, sales person would choose Supplier Code (Item Group) and then it would only show Items in that “Item group”? Do you see any reason to not do this? I would have 115 Item Groups.

frappe.ui.form.on (“Sales Order Item”, {
supplier_code: function(frm) {
cur_frm.set_query(“item”, function() {
return {
“filters”: {
“item”: frm.doc.supplier_code

What is the reason of fetching supplier in sales order? Will you have different sales prices for that item

If selling prices are different than better to create separate items

115 price lists might sound too much for some. 115 supplier for the same item sounds too much to others.
It is a matter of “how to ease the pain”. Let us know how you cleverly solved it :slight_smile:

Well, I’m a little torn. I don’t know exactly how to use the price lists and I can’t find a good explanation of how they work.
115 Suppliers but not all supply same products. One supplier might have A, B, C and another might have C, D, E but they both have item C. Make sense?

Yes, selling prices are different. We are in the plant industry. If one grower sells his cheaper, we might buy those til he runs out and then we have to use a different grower with increased price, etc…

Pricelist1 → for A,B
PriceList 2 → C(a) for supplier a
PriceList 3 → C(b) for supplier b
PriceList 4 → for D,E

You will need to apply set theory and find common products where prices differ and create those differentiated price lists. The rest are all 1:1.

Hope this helps. Create a price list for buying and see how it works.

1 Like

If I understand the price lists, then I would create a new price list for every single vendor (115 of them) by going in and Import the names of the list first where you said.

Then, I would import all of my items with a default supplier listed and then go to doctype Item_Price and upload the pricing with the price list linked?

That’s a lot of steps but I’m good to do it if it works best.

How does the system know which price list to use when I select the item on the sales order? Do I need to add a linking field there or it knows automatically when I select the item?

Where do you select it? If you are creating a PO, you need to click the supplier and the correct price for that item and that supplier would appear.

What you are thinking is comparison shopping cart. I dont think that is available.
What i mean by that? You browse items and see 5 different prices for 5 different vendors and then choose which one to order. It is a nice functionality. But it is not available [atleast i dont know how to make that work without some customization]. What price lists does is, matches price to item to supplier.

Let me know if you find any alternatives. Best

Thanks again! I really appreciate your help.

Here’s what I want.
-upload item and assign it to default supplier with supplier name and supplier code
-every supplier has a 2 digit supplier number/code
-in sales order item table, select supplier number in first column, then FILTER item based on supplier code link

I don’t think it’s that hard but seems to be much more difficult. Does this help to see maybe what I am doing wrong? I’ve tried making supplier number as dynamic link but it wouldn’t do that and I tried linking but I don’t know how to make this work.

Ok. You can have only 1 supplier per PURCHASE order. You cannot specify which supplier in the SO.

So I dont know exactly what you are trying here :slight_smile:
If you are making a Sales Order, then you have to select the supplier first. Not something you can choose by filter per item.

I would suggest you map the process. Maybe you want to make a Material Requisition (MREQ) for your sales orders (SO) first. And then the buyer created different POs to procure those based on the best price. And here : you need to split the MREQ to PO based on Prices. That is why you need a shopping comparator : where for each MREQ item, you can choose which supplier to allocate (if you can see those different prices for that 1 item) and CREATE individual PO or collective PO.

So i think you need to rethink the process and have a bit of customization. And i think this would be super beneficial for you and the community.


WHOA! So I cannot build a sales order for a customer with multiple suppliers? For instance, we order plant A from supplier A and then plant B from supplier B on the same sales order?

My workflow was one sales order for whole customer order which is from multiple suppliers. Then, create purchase order for each supplier based on sales order. This seems to be pretty common with other ERP systems that I looked at. Is that not possible with ERPNext? I haven’t seen anywhere that you can only have one supplier for one sales order.