How to make a dynamic quote static after it's "sent"?

Newbie here. I’ve managed to build a quote calculator using 3 separate tables, one for the quotes, one for the line items associated with each quote, and one for the products associated with each line item, with automatic calculations across both tables.

My problem is that if someone changes the price of a product in the products table, this will also change the price of all the quotes that have that product, even if the quote has been “sent” to the customer. I need the quote to be static after it’s been “sent”, even if the product info gets changed.

What would be the best practice to achieve this?

I guess there is a few different ways to achieve this, depending on how you enter data into these different tables. I guess you are using helper tables and custom forms to add rows to the line items table and also the quotes tables.

The basic idea is to use the data from computed columns and then use actions and a “Set column value” to write the value from the computed columns into another column.

For example, you could have a “Confirm quote” or a “Send quote” action that writes the rollup sum from all related line items into a “Total sum” column in the related quote row.

These are just examples, but they key is to use actions or workflows to write values from computed columns into “static” columns to store these values. This value will then not be affected if you change the product price later.

It is also important to remember to add an action to update these columns if a quote is changed from an Edit form or similar.

At least this is how I do it. Hope this helps😊

1 Like

I assume there’s a “Draft” stage for your quote right? I think @schrutefarms ’ method is correct. At the point you write line items, you might still have the relation + lookup to get the “live” price, but then when you “submit” it, use a workflow to write the price to a basic number column to lock it in.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.