Why the levels are constrained
A deal has two granularity settings — how it is priced and how it is invoiced — and one rule binding them: invoicing can never be finer than pricing. The rule looks arbitrary until you ask what an invoice needs.
An invoice needs a price to print
To raise an invoice per component, there has to be a price per component. If the deal was priced as a single total, no such figure exists — and no sensible one can be derived. Splitting $3,998.25 across a machine and its components would mean inventing an allocation, and whatever BMS invented would be wrong in a way nobody could see.
Going the other way is always safe. Prices at a fine level add up to a coarse one: components sum to a build, builds sum to a deal. Aggregating is arithmetic; splitting is guesswork. So the constraint is not a restriction on what you may do — it is the boundary of what can be computed honestly.
That also explains the defaults, which look mismatched and are not: pricing defaults to per component and invoicing to total deal. Priced at the finest level, every invoicing option stays open; billed at the coarsest, the customer gets one invoice. Start there and you can move either setting later without being blocked.
Why changing the level throws the old prices away
Switching pricing level does not convert prices — it clears the levels that are no longer in use and re-seeds the new one from RRP.
That is deliberate, and it is the same argument. Converting per-component prices into a single deal price would be a sum, which is fine; converting a deal price back down into component prices would be an invention. Rather than support one direction and silently do something questionable in the other, BMS supports neither and starts the new level from list price.
The practical consequence: decide the pricing level before you do the pricing work. Negotiating a deal line by line and then switching to Total deal discards the negotiation.
Why it locks once invoiced
An invoice is a document that has left the building. Changing the granularity of a deal that has already been billed would leave issued invoices describing a structure the deal no longer has, and no way to reconcile the two.
So the level freezes at the first invoice — pending, partial or full — and the only way back is to void or cancel those invoices first. That is a deliberately visible, deliberately annoying path, because it should be: it forces the credit to exist as a record rather than letting the history quietly change shape.