3.3 Account Structures, Segment Criteria & Activation
Key Takeaways
- An account structure can contain a maximum of 11 segments: one main account plus up to 10 financial dimensions (Microsoft Learn, Account structures overview).
- Every account structure requires a main account segment, and a given main account value may exist in only one active structure on the ledger — otherwise activation reports overlapping criteria.
- Each grid line holds a maximum of seven criteria per segment; use Duplicate to add more.
- Criteria are compared as strings, not numbers, so 1000000 falls inside the range 100000..399999 unless values are zero-padded.
- Separate multiple criteria values with semicolons — commas are valid characters inside a dimension value and silently collapse the entry into one truncated 30-character value.
3.3 Account Structures, Segment Criteria & Activation
In Dynamics 365 Finance, Account Structures provide the rules engine that determines which financial dimensions are required, optional, or prohibited when posting to specific Main accounts. Account structures ensure data integrity by preventing users from entering invalid dimension combinations (e.g., posting a Balance Sheet Cash transaction with a Manufacturing Cost Center) before transactions reach the General Ledger.
1. Account Structure Architecture & Constraints
Account structures are configured under General ledger > Chart of accounts > Structures > Configure account structures.
+-----------------------------------------------------------------------------+
| ACCOUNT STRUCTURE CONSTRAINTS |
+-----------------------------------------------------------------------------+
| 1. Segment 1 is ALWAYS MainAccount (Cannot be reordered or omitted) |
| 2. Maximum 11 Segments total (MainAccount + up to 10 Financial Dimensions) |
| 3. Left-to-Right Evaluation: Segment N restricts lookup values in N+1 |
| 4. Non-Overlapping Rule: Main account ranges across multiple active |
| structures attached to the same Ledger must NEVER overlap! |
+-----------------------------------------------------------------------------+
The Segment Capacity Limit
An account structure can contain a maximum of 11 segments (the MainAccount segment plus up to 10 financial dimension segments). If an organization requires more than 10 dimensions for a specific transaction scenario, Advanced Rule Structures must be used.
Multi-Structure Ledger Strategy
Rather than building a single monolithic account structure containing all main accounts and dimensions, best practice dictates splitting account structures by account classification (e.g., Balance Sheet vs. Operating Expenses vs. Revenue):
- Balance Sheet Structure:
MainAccount (100000..399999) -> BusinessUnit(Balance sheet accounts typically require minimal dimensional breakdown). - Revenue Structure:
MainAccount (400000..499999) -> BusinessUnit -> Department -> SalesChannel. - Expense Structure:
MainAccount (500000..899999) -> BusinessUnit -> Department -> CostCenter.
Critical Ledger Rule: When multiple account structures are added to a legal entity's Ledger (General ledger > Ledger setup > Ledger), the Main account criteria across all assigned structures must be mutually exclusive. If account
500100appears in both the Expense Structure and an Intercompany Structure, the Ledger cannot be saved or will generate a validation error upon posting.
2. Segment Criteria, Operators & Wildcard Syntax
Segment criteria dictate which dimension values are permissible based on the preceding segments in the structure.
| Operator / Syntax | Syntax Example | Meaning & Functional Behavior |
|---|---|---|
| Exact Value | 110100 or ADMIN | Only the specific value is valid. |
| Discrete List | 110100, 110200, 110300 | Any value in the comma-separated list is valid. |
| Inclusive Range | 100000..199999 | All values between and including the boundary values are valid. |
| Wildcard Match | 6* or *CORP | Matches any character string beginning with 6 or ending with CORP. |
| Blank Allowed | "" (or select Blank allowed checkbox) | Dimension can be left unpopulated (null) on transaction lines. |
| Exclusion / Negation | !100 or !500000..599999 | All values EXCEPT the specified value or range are permitted. |
| Wildcard + Specific | * (All values) | Any existing active dimension value is allowed. |
Left-to-Right Hierarchical Evaluation
Dynamics 365 Finance evaluates account structure grids from left to right. When a user selects a value in a parent segment (e.g., BusinessUnit = '001'), the lookup for the subsequent segment (Department) is dynamically filtered to show only those departments permitted by the row containing BusinessUnit = '001'.
Row 1: MainAccount: 600000..699999 | BusinessUnit: 001 | Department: DEP-10..DEP-19 | CostCenter: *
Row 2: MainAccount: 600000..699999 | BusinessUnit: 002 | Department: DEP-20..DEP-29 | CostCenter: CC-01
In this configuration, selecting BusinessUnit = 001 restricts Department lookups to DEP-10 through DEP-19. Entering DEP-20 will trigger an immediate account structure validation error during journal entry.
3. The Activation Lifecycle & Batch Processing
When creating or modifying an account structure, changes are stored in a Draft schema. The active version continues to govern live postings until explicit activation occurs.
+-----------------------------------------------------------------------------+
| ACCOUNT STRUCTURE ACTIVATION LIFECYCLE |
+-----------------------------------------------------------------------------+
| [1. Draft State] --> [2. Validate] --> [3. Activate Batch Job] |
| - Make edits - Check overlaps - Compiles validation trees |
| - Add/remove segments - Check syntax - Updates unposted combinations |
| |
| Status: Draft Status: Validating Status: Active |
+-----------------------------------------------------------------------------+
Activation Mechanics
- Clicking Activate triggers a validation routine that checks for logical contradictions and range collisions.
- The system submits a batch job (
DimensionHierarchyActivationValidation). - The activation process updates the compiled dimension hierarchy tree in the database and evaluates existing unposted journal lines against the new criteria.
- Production Consideration: Activating account structures in a high-transaction environment can cause table locks on
DimensionAttributeValueCombination. Activations should always be scheduled during maintenance windows or low-activity periods.
4. Criteria Syntax Traps That Decide Exam Answers
Microsoft documents four criteria behaviours that are counter-intuitive and heavily tested.
1. Comparison Is String-Based, Not Numeric
The system compares all criteria as strings. Character-by-character comparison means the seven-digit value 1000000 falls inside the six-digit range 100000..399999, even though 1,000,000 is numerically far larger than 399,999. If account numbers of differing length exist, zero-pad the range (0100000..0399999) so the comparison behaves as intended.
2. Semicolons Separate Values — Commas Do Not
Commas are valid characters inside a dimension value, so a comma-separated list is read as one single value and truncated to the 30-character dimension value maximum. Entering:
40000,49999,50000,52999,55000,59999
is interpreted as one "through" value — 40000 through 49999.50000..52999.55000..5999 — silently clipped at 30 characters. The correct delimiter is the semicolon. Always confirm the interpretation in the Allowed value details pane below the grid, which renders each criterion as a readable sentence.
3. Wildcards Do Not Work Inside Ranges
A range means "all values between two strings of the same length". Writing 100*..399* makes the system look for values that literally contain an asterisk, which normally matches nothing. Use 100000..399999 for a range, and use wildcards only with the Begins with (500*), Ends with (*500), and Is like (*500*) operators.
4. Seven Criteria per Line
Each grid line holds a maximum of seven criteria for a given segment. To add more, use Duplicate in the Segments and allowed values section, which copies the branch to a new line where the extra criteria can be entered.
5. Activation, Overlap Detection & the Draft/Active Trap
An account structure edit always happens on a draft; the draft has no effect until activation. Activation is also when full validation runs.
- Validate is not activation. The Validate button performs a limited check and can pass while overlapping criteria still exist. Full overlap detection only runs during activation, when the system builds every possible tree path.
- Activation compares the draft against other structures' active versions, not their drafts. If two structures are in draft at the same time, the form shows you the drafts while activation silently checks the versions you can no longer see — the classic cause of an "impossible" overlap error.
- Moving a value between structures needs two passes. To move main account
250from AS2 to AS1, first remove it from AS2 and activate, then add it to AS1 and activate. Attempting both in one pass produces an overlap error because both structures briefly claim the value.
Tree Propagation
The grid is a flattened view of a tree, so a single row is a path from root to leaf. Changing a value on a shared left-hand segment updates every row that shares that branch. Four rows that all carry Business unit * will all change to 001 if you edit any one of them. To give one row a different value, copy the row, change the copy, and delete the original.
A financial consultant is configuring account structures for a new legal entity. Structure A covers main accounts 100000..299999, and Structure B covers 300000..599999. The consultant attempts to add a new Structure C covering accounts 550000..899999 to the Ledger. Why will the system reject this configuration?
In an account structure segment rule for Department, the criteria is entered directly in the grid as 'DEP-100;DEP-200;""'. What is the functional effect of this entry during transaction entry?