Karen,
I do something similiar, although different. That makes a lot of sense, Eh?
All of my pricing is driven by the Item data and I have a quantity based pricing structure applied to each item. This is independent of the Customer, but it must be calculated for each line item added to an Order or Invoice.
When the Item is changed, (Text Change Event), I go out to the Items table and get all the information required to calculate the quantity driven price and store it in local variables.
But, I don't perform any pricing calculations until the user enters a Quantity. The key point here is that numeric fields must be triggered by (Lose Focus) events, not (Text Change). Danny helped me with this tip.
I'm not sure, but I think this might help you. By triggering recalculations on the user input to QTY, you can always keep your calculations up to date with potential user changes. I don't keep a hidden Quantity or Amount. You'll have to calculate the Amount in the background to implement your rules to set the price.
The other complication is that you cannot change the QB Amount field. It is ALWAYS calculated by QB as QTY X Price. So, for example if your customer wants 5 of something, and that must revert to a line item minimum total, then you have to convert the order to a QTY of 1 times the Minimum Price to get the minimum line item Amount Total you want.
I do something else with my Orders and Invoices that might help you. We apply a Surcharge to each line item based on the Total Weight of the Line Item. After a line item is entered, and then the Grid is updated a new link is available in the grid called "SUR". When the user clicks SUR a New Line is added for the Item Surcharge.
You may want to keep the ordered quantity of the Item accurate even though you are applying some type of minimum line or order pricing and it might be better to create a new billable line for the amount override. Upon user input of the Quantity you could calculate whether the Minimum Amount override should be performed and provide a message to the user or set a Checkbox Flag in the Grid. The user clicks the grid link and the price for the line item is zeroed out, but a new line is added for QTY 1 X Order Minimum = Minimum Amount.
This brings introduces another concept that might be helpful. In my system all Items of Type Non-Inventory and Inventory are Shippable, meaning they would print out on the Invoice AND Packing List. For Non Shippable line items, for example things like Surcharges, etc., I set those Items to type Other Charge.
Although a bit advanced it is fairly easy to control which Item Types print on reports such that you can show all Items on an Invoice but only show Shippable items on a packing list.
There isn't a logical connection between lines in an Invoice, but QB and Method will always print the lines in the order they were created or shown in the Grid since the default order is by RecordID or the hidden physical record number.
Not sure any of that will really help, but maybe generates some ideas.
Cheers,
James