Oracle Fusion GL Controls: CVR vs Code Combination Sets vs Related Values
1. Introduction
Designing a robust Chart of Accounts (COA) in Oracle Fusion ERP is not just about defining segments but also, it’s about controlling how those segments interact and producing right accounting and avoiding correcting entries that accountants will need to do. Three key mechanisms are commonly used:
· Value Sets (Independent and Related/Dependent)
· Cross-Validation Rules (CVR)
· Code Combination Sets
While they are often used together, misunderstanding their purpose leads to over-engineered solutions, high maintenance effort, and post go-live challenges.
This blog breaks down their differences, real-world usage, pros/cons, and best practices with examples.
2. Conceptual Overview
2.1 Value Sets (Independent & Related)
Value sets define the valid values for each segment in the COA.
· Independent Value Set: Standalone list (e.g., Company)
· Related (Dependent) Value Set: Values depend on another segment
- You can only use child (leaf node) segment values.
- Feature is direct comparison between segment values. No ranges, wildcards, or tree operators are supported
Purpose: Control what values are allowed and guide users during entry. You must define independent value sets for each Chart of account segments. Optionally you can define related value sets to control what values can be selected in dependent values set. Example Department values depend on Company.
Company Value Set: 100, 200 - Department Value Set (Dependent): - Company 100 → HR, FIN - Company 200 → OPS, IT
Setup:
- Task: Manage chart of account value sets, search for value set and then click on plus sign to create relation ship for related value set
- Save and Click on plus sign to add values
2.2 Cross-Validation Rules (CVR)
CVRs restrict invalid combinations of segment values. Cross Validation Rules define a complex relationship between segment values in two or more segments. Each rule consists of a condition and validation filter. The condition filter identifies which combinations of segment values are subject to the rule. The validation filter defines which dependent segment values are valid to combine with them. Situation when best to use CVR would be when the relationship between segment values applies to only a subset of the condition’s values. For example, for a few Companies, there are a limited number of valid Cost Centers. For the majority of Companies, all Cost Centers are valid also there are range that reflects the relationship between segment values example balance sheet account have range of values between 1000 to 3999.
Purpose: Prevent invalid combinations from being created or used.
Example: Keep cost center as 0000 No department for Balance Sheet Accounts.
Setup:
- Task: Manage Cross-Validations
- Chose the Chart of Account and then click on Plus sign to add new rule
- You will need to provide condition and validation and then make sure the rule is enabled for it to apply on new or existing code combinations.
- You can use parent values in CVR rule if you have defined hierarchy and linked to the chart of account instance, this simplifies rules and minimizes maintenance since many changes to a hierarchy will not impact Cross Validation Rules that use it. I will cover detail steps as how to load CVR and CCS in a separate blog.
Avoid Cross validation rules when:
2.3 Code Combination Sets (CCS)
For each allow Combination Set, you must define all valid (partial) combinations of segment values. Other combinations are considered invalid. Conversely, all undefined combinations for a disallow Combination Set are considered valid. Best to use when account combination business rules don’t follow discernible patterns. There are just lists of valid or invalid combinations. When there are only limited number of combinations of allow and disallow combinations are there so that there would be ease in maintenance and performance will not be a problem.
- Task: Manage cross-validation ; select Chart of account and then click on plus sign to add combination of segments. You are required to select two and optionally max you can select 5 segments.
- You will have to load the allowed validation combination for segments through spreadsheet by downloading the template by clicking download combinations and then fill in spreadsheet and click on action and then upload followed by action->Manage to import unprocessed combinations. I will cover the details in my next blog.
Note: You must enable Auditing for cross validation rules and combination setups if you want to manage cross validation rules through FBDI otherwise you will get error while activating the combination sets. Setup Task: Manage Audit Policies
Avoid Cross validation rules when:
3. Key Differences with Real-World Perspective
|
Feature |
Cross-Validation Rules (CVR) |
Code Combination Sets (CCS) |
Related Value Sets |
|
Primary Purpose |
Prevent invalid combinations and can disable bad combinations |
Prevent invalid combinations and can disable bad combinations |
Define valid values and relationships |
|
Level |
Across segments |
Across combinations, max up to 5 |
Combination of two segment |
|
When Applied |
During entry/posting |
During entry/posting |
During value selection |
|
Prevents Invalid Data |
Yes, for new combinations but if combinations where created before the rule and are active then allowed to be used. |
Yes, for new combinations but if combinations where created before the rule and are active then allowed to be used. |
Yes, during entry only |
|
Maintenance effort |
High |
Medium |
Low |
|
Debugging |
Difficult |
Moderate |
Easy |
|
Flexibility |
Very flexible and allows range, pattern, parent and child. Inclusive and exclusive conditions. |
Only child values are allowed with allowed and disallowed options. |
Only child values are allowed in the related values with one-to-one relation and do not allow range etc. |
4. Conclusion
Combination Sets and Cross validation rules are powerful method to validate your new account combinations and clean up or disable bad combinations. In many cases, they will simplify rule maintenance and improve performance. However, Related Value Sets has appeared to be good option for limiting users or guiding them to enter valid values during the data entry.
Ultimately, design it right with mix of above control options, and post go-live maintenance becomes significantly easier.
Comments
Post a Comment