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:
AccountAccountTypeDebtCollectionSettings(example code objectVymahanifromAccountChars.kt)
3. Entity: Account
3.1 Behavior Notes
keyis business identifier;idis UUID primary key.customerIdis mandatory and ties account to CRM customer.accountTypecomes from a configurable registry.charsis extension point for implementation-specific account attributes.crmAddressRoleIdsandresponsibleRolesare operational links used by invoicing, communication, and ownership workflows.
3.2 Attribute Reference
| Attribute | Type | Required | Read-only | Description |
|---|---|---|---|---|
id | UUID | No | No | Technical primary key. |
key | String | No | No | Business identifier. |
name | String | Yes | No | Account name. |
customerId | UUID | Yes | No | Owning customer ID. |
status | AccountStatus | Yes | No | Account lifecycle status. |
accountStartDate | Date | Yes | No | Start date of account validity. |
accountEndDate | Date | No | No | End/termination date. |
description | String | No | No | Account description. |
paymentBehaviour | String | No | No | Payment behavior/profile. |
dataTags | List of String | No | No | Labels/tags. |
processingData | ProcessingData | No | Write-only | Transient processing context. |
chars | TsmChars | No | No | Dynamic account characteristics. |
accountType | String | Yes | No | FK to AccountType.code. |
crmAddressRoleIds | List of UUID | No | No | Linked address role IDs. |
responsibleRoles | List of UUID | No | No | Linked person-role IDs. |
3.3 Enum: AccountStatus
| Value | Meaning |
|---|---|
PREPARING | Preparing/not active yet. |
ACTIVE | Active account. |
SUSPENDED | Temporarily suspended. |
CEASED | Closed/ceased account. |
4. Register: AccountType
| Attribute | Type | Required | Read-only | Description |
|---|---|---|---|---|
id | UUID | No | No | Register row UUID. |
code | String | Yes | No | Technical code. |
name | String | Yes | No | Display name. |
validityFrom | Date | No | No | Validity start. |
validityTo | Date | No | No | Validity end. |
description | String | No | No | Description. |
localizationData | LocalizationData | No | No | Localized labels/descriptions. |
entitySpecId | UUID | No | No | Optional specification link. |
mnemonicCode | String | No | No | Mnemonic/business code. |
createPrivilege | String | No | No | Privilege needed for create. |
registry | Map | No | No | Register metadata. |
processingData | ProcessingData | No | Write-only | Transient processing context. |
icon | String | No | No | Icon. |
tsmModule | String | No | No | Module code. |
config | Map | No | No | Additional config payload. |
dataTags | List of String | No | No | Labels/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.
| Attribute | Type | Required | Description |
|---|---|---|---|
poznamka | String | No | Note. |
duvodVylouceni | String | No | Reason for exclusion from debt collection. |
vyloucenDoDatumu | Date | No | Exclusion end date. |
vyloucenZVymahani | Boolean | No | Excluded from debt collection flag. |