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
Description
Supported
Salesforce Object
Salesforce Mapping
Mandatory for POST
Supported methods
idUnique identifier.YesBillingAccountIdNoGET
hrefHyperlink reference. Constructed at runtime.YesBillingAccountDerivedNoGET
nameName of the billing account.YesBillingAccountNameYesGET, POST, PATCH
stateLifecycle state such as Active, Suspended, or Inactive. DELETE sets the value to Inactive.YesBillingAccountStatusNoGET, POST, PATCH
accountTypeCategorization of the account, such as residential or commercial.YesBillingAccountCustomerClassNoGET, POST, PATCH
lastUpdateDate and time the account was last updated.YesBillingAccountLastModifiedDateNoGET
@typeSub-class name. Always BillingAccount in the response.YesHardcodedYesGET, POST
relatedPartyParties related to the account, such as the customer.YesAccountBillingAccountSee Related PartyYesGET, POST
contactPeople who can be contacted about the account.YesBillingAccountContactSee ContactNoGET, POST
billStructureStructure of the bill.YesBillingAccountSee Bill StructureNoGET, POST, PATCH
taxExemptionTax exemptions that can be applied when calculating charges.YesBillingAccountSee Tax ExemptionNoGET, POST, PATCH
descriptionDetailed description of the account.NoNo
paymentStatusCondition of the account, such as due or paid.NoNo
ratingTypePrepaid or postpaid.NoNo
creditLimitCredit limit.NoNo
financialAccountFinancial account reference.NoNo
paymentPlanActive or expired payment plans.NoNo
accountBalanceAccount balances.NoNo
accountRelationshipRelationships to other billing accounts.NoNo
defaultPaymentMethodDefault payment method. Not settable through POST or PATCH.NoNo

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
DescriptionSupportedSalesforce MappingMandatory for POST
roleRole played by the related party.YesAccountBillingAccount.RelationshipTypeYes, when relatedParty is provided
@typeSub-class name.YesHardcoded: RelatedPartyRefOrRelatedPartyRoleRefYes, when relatedParty is provided
partyOrPartyRole.idUnique identifier of the related party.YesAccountBillingAccount.AccountYes, when relatedParty is provided
partyOrPartyRole.nameName of the related party.YesAccount.NameNo
partyOrPartyRole.hrefHyperlink reference.YesDerivedNo
partyOrPartyRole.@typeSub-class name.YesHardcoded: PartyRefOrPartyRoleRefNo

Bill Structure 

TMF Field
DescriptionSupportedSalesforce MappingMandatory for POST
@typeSub-class name. Always BillStructure.YesHardcodedNo
format.nameBill format, such as detailed or summary.YesBillingAccount.ExtlBillFormatNo
format.@typeAlways BillFormat.YesHardcodedNo
presentationMedia.nameDelivery method, such as email or paper.YesBillingAccount.ExtlBillDeliveryMethodNo
presentationMedia.@typeAlways BillPresentationMedia.YesHardcodedNo
cycleSpecification.frequencyBilling frequency, such as monthly.YesBillingAccount.ExtlBillFrequencyNo
cycleSpecification.@typeAlways BillingCycleSpecification.YesHardcodedNo
cycleSpecification.DateShiftOffset of a billing date.NoNo

Contact 

Contacts map through the BillingAccountContact junction to Contact.

TMF Field
DescriptionSupportedSalesforce MappingMandatory for POST
idIdentifier of the contact.YesIdNo
contactNameDisplayable name for the contact.YesContact.NameYes, when contact is provided
contactTypeType of contact, such as primary.YesBillingAccountContact.RelationshipTypeNo
validForValidity period.YesstartDateTime and endDateTimeNo
@typeSub-class name. Always Contact.YesHardcodedNo
contactMedium.emailAddressBilling email.YesBillingAccount.BillingEmailAddressNo
contactMedium.phoneNumberPhone.YesContact.PhoneNo
contactMedium.faxNumberFax.YesContact.FaxNo
contactMedium street, city, state, postCode, countryBilling address.YesPrimaryBillAddr fields on BillingAccountNo
contactMedium.@typeDiscriminator for email, phone, fax, or geographic address.YesHardcoded discriminatorNo

Tax Exemption 

Only a single tax exemption is supported out of the box.

TMF Field
DescriptionSupportedSalesforce MappingMandatory for POST
certificateNumberIdentifier of the exemption document.YesBillingAccount.ExtlTaxIdentifierNo
reasonReason for the tax exemption.YesBillingAccount.ExtlTaxExmpTypeNo
validFor.startDateTimeStart date of the exemption.YesBillingAccount.ExtlTaxExmpStartDateNo
validFor.endDateTimeEnd date of the exemption.YesBillingAccount.ExtlTaxExmpEndDateNo
attachmentSupporting document.NoNo
taxDefinitionTaxes covered by the exemption.NoNo