Agreement Structure
Agreements extend the sales process beyond quoting. They define binding commercial terms, including product prices, durations, and amendment logic, that must be tracked, amended, and renewed efficiently. This page describes the proposed approach for managing agreements across CPQ and Price Manager.
In this chapter the distinction between Agreement and Quote object is explicitely ommited as the Quote is considred as an amendement under negotiation, and both objects will share the same structure and model.
Agreement types
For Valio ther will be only one agreement type to manage all sales process use cases
Access to Agreements
Agreements are resulting from quotes under negotiation. They represent finalised contractual terms with defined start and end dates. These terms are enforceable and must be accessible from multiple places in the system :
Account Level
Opportunity Level
Agreement list tab
Agreements should be linked to accounts, linking them to opportunities depends on the sales process model. Linking Agreements to opportunities supports clear sales actions, lifecycle tracking, and the alignmenet with C4C future integration. Alternatively, a simplified model can directly attach agreements to accounts.
Agreements should be linked to opprtunities in order to fully align with C4C integration requirements.
Agreement Lifecycle
Agreements will run through four main phases the table below detail these phases:
Phase | Description |
|---|---|
Draft/Negotiation | Agreement created from a quote; behaves similarly to a quote object |
Published | Fixed terms: start/end dates, net prices are committed and so Product group discounts and rebates information |
Amendment | Modifies existing agreement content (such as product changes or non agreed on price changes) |
Renewal | Creates a new agreement based on the content of the expiring one, recalculated if needed with the new applicable prices and product avialable. It cloned the first Quote. |
Data Model and Synchronisation
While CPQ will host the core agreement process execution, it is crucial to ensure data integration with the Price Manager, which will maintain the authoritative data store for price conditions and lifecycle events such as renewals or amendments.
The folowing tables detail outbound data for agreements:
Field | Description |
|---|---|
Customer ID | Linked account |
Agreement ID | Unique identifier |
Product ID | Product concerned |
Net Price | Committed price |
Start Date | When new price becomes effective |
End Date (opt.) | When price condition ends (if any) |
This data will reside in a dedicated "Price Agreement" table within the Price Manager. Any change to the price within the agreement conditions will generate a new record with a new start date, ensuring historical traceability. Synchronisation rules must be defined between CPQ and Price Manager to automate this process, while enabling sales teams to visualise updates without duplicating logic or triggering unnecessary amendments.
To be confirmed process: Backoffice will do the price changes into net priced items during net price udate process in Price manager. They also publish new prices in Price manager. In that point CPQ will create amendment and inform sales person to check new prices. IF sales person needs to change prices he/she will do a new amendment and make changes.
General Agreement Structure
The proposed structure for the agreement is based on tabs and sections to organise the navigation in the agreement but also to capture the agreement logic.
Tabs : Group multiple section related to different topics
Section : is a logical Fields grouping
A part from Overview and Item tabs that are standard and will cover main quotes header information and quote line items respectively, additional tabs will be created to capture the agreement process.
Agreement Information : All informations related to the agreement suche as start and end date.
Deal Information : information such as customer geography and associated delivery costs and negotiations on delivery costs based on customer preferences
Service charges : fees related to the delivery of products to the customer. These fees are generally based on the parent customer's location and are negotiable with the customer. the service fees are treated separately from product prices. However, there are still questions about how exactly to determine these service fees, based on the parent customer's location and the different branch locations.
Rebates : rebates related information to capture during the agreement process.
Billing Through : fees related to Billing through services
The diagram below shows the proposed Tabs and sections to structure the Agreement navigation
Rebates informations
the Agreement object has a dedicated tab to manage different sections for rebates.
To set Yearly Discount Scales values the system use a lookup table that stores differents sales contributions thresholds and Start target and floor percentage values (Algorithm to be clarified)
Edit Services Charges
Service charges are additional fees or costs that may be applied to a customer's order, beyond the base price of the products. These can include things like freight, handling, delivery, or other miscellaneous charges.
Service charges are managed in a separate section. They are considered as separate fields where the sales rep can input the relevant values. The sales reps are provided with guidance on typical service charge values based on factors like deal size and location, which would be looked up from a local managed table. inc CPQ, the service charges information are then used in the background calculations to determine the overall deal profitability.
Freight costs and other delivery-related charges should be considered and modeled in the quote, but may not always be applicable. The service charges are treated as a separate element in the Quote header, rather than being bundled into the product pricing. This ensures transparency for the customer and allows flexibility to adjust the charges independently.
The service charges target start and floor values are calculated based on a combination of lookup tables and formula-based calculations, to capture the various cost components involved. The sales can set a value based on the provided guidance and a warning should be displayed if the set value is out of the range.
The quote document will have a dedicated section for service charges, which will contain information about any additional fees or charges that may be applied to the quote.
The Quote Field TDS lists al the services charges related fields
Agreement lines columns and Quote line structure
In the Item tab all Agreement lines can be displayed following users preferences
The system can hold a default setting for the columns to display however it is up to the user to define the column he/she want’s to display.
Line items
All products can be added to the quote line items using the different methods :
Add products or bundles (for product groups Bundle )
Excel import in quote line ( for unit product, or Customer product template)
Copy line items from previous Quote.
Product Groups will be grouped in a unique Zilliant Prodcut Bundle for ease of implementation
Supplier Rebates
2 fields are used in the Line Item Tab to capture Supplier rebates at product level.
The percentage input to be applicable per invoicing unit
and the corresponding ammount in euro
VAT and price including VAT Calculation
The VAT Value is stored at the product level as an aarribute. when a product is added to the quote lines the VAT value is stored in a dedicated Quote Field Quote Field.
The VAT value is then used to calculate the product Price including VAT, using product Price without VAT
Calculation of approval at the product line level
the “Need approval” field in the Quote line is dedicated to capturing the calculation of the approval rule at the product line level, allowing to define whether a line requires approval or not.
if a line requires approval, the quote must go through the approval process. all lines product lines are evaluated ant the result is stored at the header level to be combined with the rest of the approval algorithm.
Head Office fees and Product Group Discounts
Product Groups can be managed within Quote lines as Quote Line items to capture the following information
Product Group Discount (%) : set with target value from Product Group Discount Lookup
Product Group Discount Start (%): set with Start value from Group Discount Lookup
Product Group Discount Floor (%): Set with Floor value from Group Discount Lookup
Head Office Fee : Set with Fee value from Group Discount Lookup
Sales Allocation : Set with SAles Allocation value from Group Discount Lookup
Non Net Sales Price = Non Net Sales Price (Quote Level) * Sales Allocation
Margin after Discount = Margin (%) - Product Group Discount (%)
Margin EUR = Non Net Sales Price * Margin after Discount
Margin impact EUR = -(Non Net Sales Price * Margin after Discount)
Fields such as "Payment frequency", "Date of the the first payment" and "Payment to customer ID" Fields are tot associated line items they are then placed at the "Customer Head Office Fee " section at the header level (See. 03. Quote Fields.xlsx)
Comment field
A comment field is available at the quote Line level to capture Sales representative additional information or document special conditions.
Related Technical Document : Quote Fields
The Quote Fields document is structured as follow:
Quote:
The Quote tab gathers the exhaustive list of fields and their attributes for implementation, with the following details:
Tab : Agreement tab where the field should be located
Section: Agreement section where the field shoul be located
Field ID: Technical Field Identifier, this information will be set by Developer during Build phase
Description: functional description visible in the User interface
Type: Data Type
Nature: list of values, input field or toggle button
Calculated: shows wether the field is calculated or not
Mapped: shows wether the field is mapped with external system (in or out)
Rule : Business rule driving calculated fields value.
Read Only : shows wether the field can be updated or not
Comments : Any additional information provided by Valio Team
Quote lines
This tab groups the fields that willbe displayed as columnd in the Quote Line, it follows the same structure as the Quote tab with the exception of Tab an Section attributes
LoV
The "LoV" (List of Values) tab groups together the lists of values associated with the "list" fields.
Each LoV is defined with an ID and a description
Values descriptions are in finnish, they will be set in the finnish Localisation in the CPQ System. If they should be translated to english a translation should be provided.