How to add optional sales items in quotation

Good day. I would like to ask how to add an optional sales item in the quotation without affecting the total selling price of main sales items? When I add new item row in the quotation it just sum up the prices (i.e. additional sales item but not optional). I want to add an item A with a standard price and add a optional sales item for customer considering buy or not. Thank you very much.

I think that’s just how a quotation works.

Optional sales items on the quotation is what I’m working on implementing currently. What I’ve done is added a second “items” child table, and a second “total” field to the quotation doctype. Then you need to write scripts to total up the quantites and rates into the “amount” field and into your new total field. Then create a new print format for the quote that shows everything the way you like.

Thank you for your comment. But I am not familiar on this as I am a new user for few days… when I add a new row item, the amount is sum up together with the first row item, I cannot split the amount separately…or I should add the second item in “taxes and charges” row? Thank you very much.

Yes…normally quotation can do this, but I am new on this software and don’t know how to split two items into main item and optional.

There is no way to add an optional sales item without customizing ERPNext because it wasn’t made to do this out of the box. I’m trying to work on a solution that would be easy to implement because right now the solution I have is pretty complicated.
I’d like to help, but you need to understand the Frappe framework that ERPNext is built on before my first post will make any sense.
The things you’d need to learn about to be able to add optional sales items in a quotation are:

  • Making a custom app to store your changes to the software
  • Custom Fields
  • Custom Scripts (server and client side)

The best way to learn about how to customize is to follow the developer training videos, and have a look through the Frappe user manual:


Once you learn the system you can make ERPNext do anything. There are many skilled people in the forum too that can help if you’re stuck. :slight_smile:

Thank you very much for your suggestions :slight_smile: I just tried to customize the quotation form and found that it is possible to add optional item table in the quotation print out by adding the section break, text and table. Thank you very much for your help :slight_smile:

wouldn’t it be a more simplistic approach to just provide 2 separate quotations of which the customer will accept one and skip the other?

Generally I’d say preference should always be to to find workarounds with standard functionality then adding up (which always makes it more complex to maintain and upgrade a system)

My company provides quotes for high priced items that have optional upgrades. So the client asks to be quoted some items, we quote those and then also provide the pricing for any available upgrades, repair kits, or spares kits. Usually anywhere from 3 to 8 optional items. So too many variations to quote separately.
We find that 30% of the time the client will actually request an upgrade after seeing it in the quote even after refusing it when it was offered before quoting. Bottom line: worth it.

Ya…it is same issue for me. As I usually works with government tenders and bids, the regulation needed to quote all the optional items with price together with the main item in one single quotation sheet. That’s why I feel very confused when I found the quotation system cannot add (or don’t know how to add) an optional item before.

Hi everyone,

we are now working on this issue.

Our approach will be:

  1. Add a custom field (select) to item table in which we can set “Optional”.
  2. Write a custom script which will check for the field: if optional is set the rate of the item (Just on this quoation) will be set to 0 and also read only. Maybe we will add a dialog to hint the user.
  3. the above steps will affect, that the optional item will not be part of the sum of the quotation!
  4. The item will be shown on the print format with the note “optional” and the price shown will be pulled from the price list rate which is stored behind the item.
  5. As submitted quotations do not influence the item price doctype to records of the “0€” will be created. My item prices and item price lists will be fine.
  6. the next step is creating a sales invoice from the item. On the sales invoice “optional Items” will not be possible to be used!
  7. (there is always something that we haven’t concidered :slight_smile: )

I’ll let you know once we make some progress here

@Canlann fyi


Nice one.

we have added a second table of quotation_items, in optional_items. → not regarded in the overall caluclations. also can be handled separate in the print format. rate needs to be printed so the customer knows it.

We did the same but the Total Amount shows zero (it is not multiplying the QTY x Rate) . Any idea?
Also, how to link the Rate to the Price List Rate?