ADR-019 - Decide open CRM API questions
| Status | accepted |
|---|---|
| Date | 2025-04-29 |
| Decision Makers | Dardan Bujupaj (AX), Sandro Wyss (AX), Markus Brenner (Griesser), Moritz Bolli (Griesser), Michael Gross (Flexlogic) |
Context
To make reasonable assumptions for the architecture we need definitive decisions on open questions, regarding on how certain requirements will be implemented in cooperation between CRM, Configuration and Calculator Add-On.
Decision
Storage and calculation of prices
When a price is changed for a product in the quote overview, this change may affect multiple quotelines in the quote.
The Calculator Add-On will split the price change onto all affected quotelines and write an update for each quoteline.
This may lead to rounding errors. Handling of these rounding errors will need to be defined.
Storage and calculation of discounts
Discounts will be written to the quote header by the Calculator Add-On. This will trigger the distribution of the discount to the positions in the CRM.
This distribution of discounts can fail, which needs to be handled gracefully. The Calculator Add-On will show an appropriate error message and roll back the UI change.
Services
Montage and Planung services and included in the orderline prices.
Currently, there’s no way to distinguish between these services and material prices.
The difference is known to the Configurator and will write this information to the CRM, which will then make it accessible to the Configuration Add-On.
Version Check
The CRM API will implement a simple version check to ensure that updates are not applied to outdated data. The get quote details api will provide a version number. This version number needs to be sent whit future update requests. Update with outdated version information will fail, and first needs to be refreshed before applied.
Alternatives
Alternatives cannot be implemented as shown in the current design.
There’s currently no way in the CRM to defined orderlines or entry lots as alternatives.
This means, alternatives need to be defined in a separate quote. But it’s virtually impossible to associate the corresponding orderline from multiple quotes.
Options need to be discussed internally at Griesser. Unless there’s a much simpler way to implement this, it will be out of scope 1.
Document PDF URL
The Calculator Add-On needs a way to get a url to download the current PDF. It’s unclear yet, how the Quote Document PDF will be provided to the calculator Add-On. This needs to be decided in the CRM.
Consequences
- Exact handling of additional data (entry lots, additional quoteline fields) need to be defined between CRM and Configurator
- Alternatives handling needs to be clarified internally by Griesser, otherwise it will be out of scope 1.