Before using the TMF666 resource mappings, refer to the following.
Constraints and Limitations
- TMF666 v5 currently supports the
billingAccountresource. Billing accounts map to the Salesforce BillingAccount object. - Financial accounts are not supported in this release.
- Sub-resource sorting is not implemented.
- Out-of-the-box implementation is restricted to the core data model.
nameandrelatedPartyare mandatory for POST. Each related party must includeroleandpartyOrPartyRole.id. Ifcontactis provided, each contact must includecontactName.- DELETE is a soft delete. The API sets BillingAccount status to Inactive. The record is not physically deleted.
- Only a single tax exemption is supported out of the box.
defaultPaymentMethodis not settable through POST or PATCH.- Fields that are not supported out of the box can be added by using Apex extensibility hooks. See Extensibility for TMF666 v5 Account Management.
These default mappings are supported for the TMF666 resources.
Billing Account
| TMF Field<div style="width:120px"></div> | Description<div style="width:180px"></div> | Supported<div style="width:70px"></div> | Salesforce Object<div style="width:120px"></div> | Salesforce Mapping<div style="width:160px"></div> | Mandatory for POST<div style="width:90px"></div> | Supported methods<div style="width:90px"></div> |
|---|---|---|---|---|---|---|
| id | Unique identifier. | Yes | BillingAccount | Id | No | GET |
| href | Hyperlink reference. Constructed at runtime. | Yes | BillingAccount | Derived | No | GET |
| name | Name of the billing account. | Yes | BillingAccount | Name | Yes | GET, POST, PATCH |
| state | Lifecycle state such as Active, Suspended, or Inactive. DELETE sets the value to Inactive. | Yes | BillingAccount | Status | No | GET, POST, PATCH |
| accountType | Categorization of the account, such as residential or commercial. | Yes | BillingAccount | CustomerClass | No | GET, POST, PATCH |
| lastUpdate | Date and time the account was last updated. | Yes | BillingAccount | LastModifiedDate | No | GET |
| @type | Sub-class name. Always BillingAccount in the response. |
Yes | — | Hardcoded | Yes | GET, POST |
| relatedParty | Parties related to the account, such as the customer. | Yes | AccountBillingAccount | See Related Party | Yes | GET, POST |
| contact | People who can be contacted about the account. | Yes | BillingAccountContact | See Contact | No | GET, POST |
| billStructure | Structure of the bill. | Yes | BillingAccount | See Bill Structure | No | GET, POST, PATCH |
| taxExemption | Tax exemptions that can be applied when calculating charges. | Yes | BillingAccount | See Tax Exemption | No | GET, POST, PATCH |
| description | Detailed description of the account. | No | — | — | No | — |
| paymentStatus | Condition of the account, such as due or paid. | No | — | — | No | — |
| ratingType | Prepaid or postpaid. | No | — | — | No | — |
| creditLimit | Credit limit. | No | — | — | No | — |
| financialAccount | Financial account reference. | No | — | — | No | — |
| paymentPlan | Active or expired payment plans. | No | — | — | No | — |
| accountBalance | Account balances. | No | — | — | No | — |
| accountRelationship | Relationships to other billing accounts. | No | — | — | No | — |
| defaultPaymentMethod | Default payment method. Not settable through POST or PATCH. | No | — | — | No | — |
These attributes are patchable: name, state, accountType, bill structure format, presentation media, cycle specification frequency, and tax exemption certificate number, dates, and reason.
These attributes are not patchable: id, href, lastUpdate, relatedParty, contact, contact.contactMedium, and defaultPaymentMethod.
Sub-resources
Related Party
Related parties map through the AccountBillingAccount junction to Account.
| TMF Field<div style="width:180px"></div> | Description | Supported | Salesforce Mapping | Mandatory for POST |
|---|---|---|---|---|
| role | Role played by the related party. | Yes | AccountBillingAccount.RelationshipType | Yes, when relatedParty is provided |
| @type | Sub-class name. | Yes | Hardcoded: RelatedPartyRefOrRelatedPartyRoleRef | Yes, when relatedParty is provided |
| partyOrPartyRole.id | Unique identifier of the related party. | Yes | AccountBillingAccount.Account | Yes, when relatedParty is provided |
| partyOrPartyRole.name | Name of the related party. | Yes | Account.Name | No |
| partyOrPartyRole.href | Hyperlink reference. | Yes | Derived | No |
| partyOrPartyRole.@type | Sub-class name. | Yes | Hardcoded: PartyRefOrPartyRoleRef | No |
Bill Structure
| TMF Field<div style="width:180px"></div> | Description | Supported | Salesforce Mapping | Mandatory for POST |
|---|---|---|---|---|
| @type | Sub-class name. Always BillStructure. |
Yes | Hardcoded | No |
| format.name | Bill format, such as detailed or summary. | Yes | BillingAccount.ExtlBillFormat | No |
| format.@type | Always BillFormat. |
Yes | Hardcoded | No |
| presentationMedia.name | Delivery method, such as email or paper. | Yes | BillingAccount.ExtlBillDeliveryMethod | No |
| presentationMedia.@type | Always BillPresentationMedia. |
Yes | Hardcoded | No |
| cycleSpecification.frequency | Billing frequency, such as monthly. | Yes | BillingAccount.ExtlBillFrequency | No |
| cycleSpecification.@type | Always BillingCycleSpecification. |
Yes | Hardcoded | No |
| cycleSpecification.DateShift | Offset of a billing date. | No | — | No |
Contact
Contacts map through the BillingAccountContact junction to Contact.
| TMF Field<div style="width:180px"></div> | Description | Supported | Salesforce Mapping | Mandatory for POST |
|---|---|---|---|---|
| id | Identifier of the contact. | Yes | Id | No |
| contactName | Displayable name for the contact. | Yes | Contact.Name | Yes, when contact is provided |
| contactType | Type of contact, such as primary. | Yes | BillingAccountContact.RelationshipType | No |
| validFor | Validity period. | Yes | startDateTime and endDateTime | No |
| @type | Sub-class name. Always Contact. |
Yes | Hardcoded | No |
| contactMedium.emailAddress | Billing email. | Yes | BillingAccount.BillingEmailAddress | No |
| contactMedium.phoneNumber | Phone. | Yes | Contact.Phone | No |
| contactMedium.faxNumber | Fax. | Yes | Contact.Fax | No |
| contactMedium street, city, state, postCode, country | Billing address. | Yes | PrimaryBillAddr fields on BillingAccount | No |
| contactMedium.@type | Discriminator for email, phone, fax, or geographic address. | Yes | Hardcoded discriminator | No |
Tax Exemption
Only a single tax exemption is supported out of the box.
| TMF Field<div style="width:180px"></div> | Description | Supported | Salesforce Mapping | Mandatory for POST |
|---|---|---|---|---|
| certificateNumber | Identifier of the exemption document. | Yes | BillingAccount.ExtlTaxIdentifier | No |
| reason | Reason for the tax exemption. | Yes | BillingAccount.ExtlTaxExmpType | No |
| validFor.startDateTime | Start date of the exemption. | Yes | BillingAccount.ExtlTaxExmpStartDate | No |
| validFor.endDateTime | End date of the exemption. | Yes | BillingAccount.ExtlTaxExmpEndDate | No |
| attachment | Supporting document. | No | — | No |
| taxDefinition | Taxes covered by the exemption. | No | — | No |