TMF666 v5 Resource Mappings

Before using the TMF666 resource mappings, refer to the following.

Constraints and Limitations

  • TMF666 v5 currently supports the billingAccount resource. 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.
  • name and relatedParty are mandatory for POST. Each related party must include role and partyOrPartyRole.id. If contact is provided, each contact must include contactName.
  • 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.
  • defaultPaymentMethod is 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