Pricing and invoicing levels
Every deal carries two settings that decide how it is costed and how it is billed. They are set when the deal is created and can be changed on the deal while it is still uninvoiced.
Both take the same three values, and both describe the granularity at which the deal works.
| Level | Granularity |
|---|---|
| Total deal | The deal as a whole — one figure |
| Per build | Each machine in the deal |
| Per component | Each line within a build's bill of material |
Pricing level — where the price is held
Pricing level decides which price field is live. The other two are cleared.
| Pricing level | Price lives on | Seeded from |
|---|---|---|
| Total deal | The deal — Total Deal Value | Deal RRP |
| Per build | Each build — Build Price | Build RRP |
| Per component | Each component line — Deal Price | The component's RRP |
Default: Per component.
Warning
Changing the pricing level discards the prices held at the other levels. Switching a per-component deal to Total deal clears every component price and seeds a single deal price from RRP. There is no undo — the figures you typed at the old level are gone.
This is visible on any deal: a deal priced at Total deal shows a Total Deal Value, and its builds and component lines all show $0.00. Those zeros are not missing data — they are the levels that are not in use.
Invoicing level — how the deal is billed
Invoicing level decides the granularity of the invoices raised, independently of how the deal was priced.
| Invoicing level | Produces |
|---|---|
| Total deal | One invoice for the deal |
| Per build | An invoice per machine |
| Per component | An invoice per component line |
Default: Total deal.
Where either level is Total deal, BMS puts a single deal-price line on the sales order to carry the figure, using the product configured for that purpose.
The rule connecting them
Invoicing cannot be finer than pricing.
| Pricing level | Invoicing levels allowed |
|---|---|
| Total deal | Total deal only |
| Per build | Total deal, Per build |
| Per component | Total deal, Per build, Per component |
Attempting otherwise is rejected with "cannot be set lower than the pricing level". See Why the levels are constrained.
Once invoicing has started, both are locked
Neither level can be changed once the deal's order has been invoiced — pending, partly or fully. The deal reports:
Can't edit pricing / invoicing options as the deal has already been partially invoiced. Cancel or void existing invoices first.
That is the whole remedy: void or cancel the invoices, change the level, invoice again.