# Best structure to manage complex product options in quote system

**URL:** <https://community.glideapps.com/t/best-structure-to-manage-complex-product-options-in-quote-system/81322>\
**Category:** Ask for Help\
**Created:** [April 14, 2025, 3:21am UTC](https://community.glideapps.com/t/best-structure-to-manage-complex-product-options-in-quote-system/81322 "2025-04-14T03:21:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mikaeldorval](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mikaeldorval/32/67405_2.png) [@Mikaeldorval](https://community.glideapps.com/u/Mikaeldorval)\
**Post date:** [April 14, 2025, 3:21am UTC](https://community.glideapps.com/t/best-structure-to-manage-complex-product-options-in-quote-system/81322/1 "2025-04-14T03:21:38Z")

</div>

Hi everyone,

I’m building a quoting system using Big Tables. The core structure is simple:  
• Product library  
• Quotes  
• Quote items

Where things get complicated is with product options.  
Each product can have its own set of options, and these options:  
• Include quantities and other data  
• May become inactive or change over time — so I can’t just link them using a static choice component  
• Sometimes influence eligibility for subsidies, especially when combined with other products or specific option sets

I’ve tried adding products first, then manually adding one option at a time afterward. But this flow leads to a poor user experience and is prone to errors — especially since I can’t enforce required options in that flow.

Other things I’ve explored:  
• Using a helper table  
• Pre-creating product groups with possible options (simplest but extremely time consuming)  
• Creating one row per option  
• Storing selected options in a JSON column

But I keep running into issues, especially when it comes to:  
• Adding and modifying multiple rows at once  
• Displaying all possible options (even if not selected initially) in the edit flow  
• Keeping the structure flexible and scalable

I’m open to any suggestions. What structure or logic has worked well for you in similar cases?

Thanks!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [April 15, 2025, 12:18am UTC](https://community.glideapps.com/t/best-structure-to-manage-complex-product-options-in-quote-system/81322/2 "2025-04-15T00:18:02Z")

</div>

So each product has multiple options, and some of those options are required for a specific product.

Each quote can have multiple products, which is represented in the Quote Items table, and each quote item must represent the options as well.

Is that correct?

---

<div class="post-metadata">

**Author:** ![Mikaeldorval](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mikaeldorval/32/67405_2.png) [@Mikaeldorval](https://community.glideapps.com/u/Mikaeldorval)\
**Post date:** [April 15, 2025, 12:30am UTC](https://community.glideapps.com/t/best-structure-to-manage-complex-product-options-in-quote-system/81322/3 "2025-04-15T00:30:36Z")

</div>

Exactly. I’m having a hard time setting up a good user experience to add/edit items with multiple options.
