Skip to main content
Version: 2.4

Account

This page documents the CRM account domain in tSM.

1. Business Context

Account represents the commercial/billing context under a customer. It is commonly used as the contractual and charging anchor for orders, inventory instances, and billing integration.

In telecom terms, one customer can own multiple accounts (for example by service domain, billing profile, or legal structure).

1.1 Telco and TMF perspective

Account is frequently the financial and contractual boundary in telco operations:

  • one customer may have multiple accounts by brand, contract, or billing setup,
  • each account can carry separate invoice routing and responsibility,
  • order and service references often point to account context for charging and settlements.

Typical TMF alignment:

  • base concept aligns primarily with TMF666 Account Management,
  • account references are then reused in TMF622 product ordering and downstream fulfillment/billing integration flows.

2. Scope

This page covers:

  • Account
  • AccountType
  • DebtCollectionSettings (example code object Vymahani from AccountChars.kt)

3. Entity: Account

3.1 Behavior Notes

  • key is business identifier; id is UUID primary key.
  • customerId is mandatory and ties account to CRM customer.
  • accountType comes from a configurable registry.
  • chars is extension point for implementation-specific account attributes.
  • crmAddressRoleIds and responsibleRoles are operational links used by invoicing, communication, and ownership workflows.

3.2 Attribute Reference

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoTechnical primary key.
keyStringNoNoBusiness identifier.
nameStringYesNoAccount name.
customerIdUUIDYesNoOwning customer ID.
statusAccountStatusYesNoAccount lifecycle status.
accountStartDateDateYesNoStart date of account validity.
accountEndDateDateNoNoEnd/termination date.
descriptionStringNoNoAccount description.
paymentBehaviourStringNoNoPayment behavior/profile.
dataTagsList of StringNoNoLabels/tags.
processingDataProcessingDataNoWrite-onlyTransient processing context.
charsTsmCharsNoNoDynamic account characteristics.
accountTypeStringYesNoFK to AccountType.code.
crmAddressRoleIdsList of UUIDNoNoLinked address role IDs.
responsibleRolesList of UUIDNoNoLinked person-role IDs.

3.3 Enum: AccountStatus

ValueMeaning
PREPARINGPreparing/not active yet.
ACTIVEActive account.
SUSPENDEDTemporarily suspended.
CEASEDClosed/ceased account.

4. Register: AccountType

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoRegister row UUID.
codeStringYesNoTechnical code.
nameStringYesNoDisplay name.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
descriptionStringNoNoDescription.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
entitySpecIdUUIDNoNoOptional specification link.
mnemonicCodeStringNoNoMnemonic/business code.
createPrivilegeStringNoNoPrivilege needed for create.
registryMapNoNoRegister metadata.
processingDataProcessingDataNoWrite-onlyTransient processing context.
iconStringNoNoIcon.
tsmModuleStringNoNoModule code.
configMapNoNoAdditional config payload.
dataTagsList of StringNoNoLabels/tags.

5. Example Account Chars Structure (AccountChars.kt)

5.1 DebtCollectionSettings (code object: Vymahani)

Vymahani is an example customer-profile structure stored in Account.chars.

AttributeTypeRequiredDescription
poznamkaStringNoNote.
duvodVylouceniStringNoReason for exclusion from debt collection.
vyloucenDoDatumuDateNoExclusion end date.
vyloucenZVymahaniBooleanNoExcluded from debt collection flag.