Decomposing accounts and subaccounts

Take the account-plus-subaccount coding block apart by purpose, decide what becomes a main account and what becomes a financial dimension, and design account structures that reproduce the validation Acumatica achieved through masks and class rules.

What you will be able to do

Introduction

The Organisational Modelling module fixed the legal-entity set. This module takes the coding block apart.

Two ways to say the same thing

It is worth being precise about the structural difference before designing anything.

What a subaccount can be hiding

The concept note lists six things a subaccount may encode: department, location, branch, product line, project, and legacy reporting exceptions. The last of those is the important one, because it is where estates hide their history.

Deciding: dimension or main account

If the segment answers "what is this balance?" — restricted versus unrestricted, capital versus revenue, accrued versus billed — it is main account meaning. If the segment answers "who, where or on what?" — department, site, product line, project, customer segment — it is dimension meaning.

Reproducing validation: account structures and advanced rules

Acumatica constrains what is postable through masks and class rules. The mask says which segment values are permitted, or derived, in a given context. This is genuinely elegant in the source and it has no single equivalent in the target, because the target separates the two jobs a mask performs.

Currency, and what the ledger will and will not do

Acumatica estates often carry currency complexity in the branch structure — a branch reporting in one currency, consolidating into another, with a third view maintained for a parent. It is worth stating the target constraint early, because it changes what people ask for.

Sequencing the finance loads

The playbook gives an explicit target-side order, and it is worth following even when the team is tempted to parallelise:

Validating the decomposition

The validation set for this path names two finance checks explicitly: trial balance by tenant and branch classification, and account and subaccount combination coverage.

Knowledge check

Summary

The account-plus-subaccount model looks ready to migrate because it is already segmented. That appearance is the trap. A subaccount segment carries meaning by position and convention, and a financial dimension carries meaning by declaration, so the work is recovering intent rather than re-segmenting a string.