Multiple Relations to form a string template and lookup result

Hey everyone, going to do my best to explain my set up here and if anyone can offer any advice on how to simplify, that would be much appreciated. I feel like i’m pretty far down the hole now haha.

My business scenario:
I have customers who order flyers to be printed and distributed. Some want print only, some want distribution only, and some want both. I have pricing for all options. Other pricing factors include what flyer (A5 250gsm, or DL 150gsm for example), quantity, what distribution tier (determined by suburb and allocated a tier 1 or tier 2), and what business they are ordering from to determine what pricing they receive.

Ideal outcome:
All customers can log on, select the product they’d like to order, select the variables like quantity, print/distro etc, submit the job and be redirected to a checkout to pay at the price that is unique to them.

My current setup:
Currently, I have a custom form with user-specific fields which customers fill out, selecting all their variables. In the end, the variables stack into a template column, which relates to a pricing table and pulls price data and a stripe payment link. The template column looks something like this

eg1: Business - Flyer type - Quantity - Print & Distro - Tier 1

eg2: McDonalds - A5 250gsm - 1000 - Print Only

The issue i’m running into is filtering the customers various products by what quantities they have available to them, and making it specific to the user using the form. For example I have a flyer product that is only available in amounts of 50 or 100, and is only available for the ‘print only’ service.

I feel like I am over complicating the whole setup. If anyone can shed any light on another solution, or suggest ways to simplify, i’d greatly appreciate it. Thanks in advance!

So is the problem only in the “amounts of 50 or 100”? I feel like you already have a setup that allows you to pull back the amount available for a user’s selection set, and then you can validate if their quantity input fits the “50 or 100” logic.