IAM Account Data Quality
Ensuring data quality in IAM is a challenging task. The onus of data quality maintenance falls on the shoulders of our data producers and IAM. One way in which we help improve the quality of the information stored in IAM is by enforcing validations on fields that are easily governed by ISO standards or known format regex, ensuring consistent formatting and data completeness.
The data quality considerations by entity and field are as follows:
Accounts
| Field | Description |
|---|---|
| name* | Account names are limited to 1-100 characters as a means of reducing misuse of the account name field. Users should look to the description if they need more room for information about the account, and keep the name to a concise or business-specific target. |
| Description (optional) | Max limit of 250 characters. This is overflow space to provide more detail about the account, beyond its name. |
| type* | This field is required to show what type of account you intend to provision. Acceptable fields are: Customer┃Distributor┃Reseller┃Dealer |
| customerType* | A further classification beyond type, the customerType expects one of the following, typically based on size: individual┃organization┃enterprise |
| status | Accounts have two standard status values that clarify the activity state: active┃inactive |
| Country | IAM enforces ISO 3166-1 alpha2 codes to define a customer’s primary operating country. |
| transactionInfo.currency | IAM enforces ISO 4217 codes for a customer’s default currency. |
| transactionInfo.taxExemptionStatus | When present, a customer’s tax exemption status is restricted to the following enumerated values: tax_exempted┃vat_exempted┃no_exemption |
| primaryContactInfo.email | Customer emails must follow standard email convention: local-part@domain.tld |
| shortCode (for the Managed User workflow) | Shortcodes must be unique, lowercase, contain only alphanumeric, underscore, and hyphenated values; 4-9 characters in length. They are immutable once set. |
| externalSystem.sourceSystem* | This is the record of provenance. It is an immutable record of where the account originated. See the External Systems section for more details. All id, refId pairs must be unique. |
*indicates that the field is required upon record creation
Addresses
| Field | Description |
|---|---|
| country* | This field is required for addresses and adheres to ISO 3166-1 alpha-2 codes. |
| region* | This field is required, but is a freeform string. It is typically represented by a state or province designation. When coming from sources like CDH, we choose the first available between state and province when ensuring an address is valid for IAM. |
| locality* | This required String field equates to a city. |
| streetAddress* | This field is only required as a string. From CDH, we concatenate addressLine1 and addressLine2 to form this value. |
| status | While optional, this field must map to one of our accepted values in this enum: active┃inactive |
| externalSystem.sourceSystem* | This is the record of provenance. It is an immutable record of where the account originated. See the External Systems section for more details. |
*indicates that the field is required upon record creation
External Systems
| Field | Description |
|---|---|
| id* | This ID must be provisioned by the IAM team. This helps ensure that the references to other systems are known and governed. |
| refId* | This field is only highlighted here as it is required to help identify a reference. |
*indicates that the field is required upon record creation