Configuring BillingCenter external contact synchronization

The BillingCenter Contact entity has a typekey attribute called AutoSync that is important in determining if contacts are automatically synchronized with the external contact management system. Any BillingCenter contact that is linked to ContactManager has the same value in its AddressBookUID property as the LinkID of the corresponding contact in ContactManager. BillingCenter sets AutoSync for all new contacts to Allow.

Note: In the default integration, BillingCenter does not synchronize contacts of producers. BillingCenter adds a property to Contact entities, ShouldSendToContactSystem, that determines if the contact is synchronized. This Boolean property is set in a get method in gw.api.address.ContactEnhancement, described later in this topic.

For any Contact instance, the AutoSync value can be one of three codes, in addition to null:

Allow Allow the contact to be synchronized automatically. In a rule, this value would be TC_ALLOW.
Disallow Do not allow the contact to be synchronized. In a rule, this value would be TC_DISALLOW. In its base configuration, BillingCenter never sets a contact to Disallow.
Suspended The contact was synchronized in the past, but synchronizing is not currently allowed. In a rule, this value would be TC_SUSPENDED. For example, this value could be set for all contacts during a ContactManager outage.

The previous code descriptions provide values you can set for AutoSync in a rule. To see a rule that sets AutoSync, open Guidewire Studio™ for BillingCenter. Then, in the Project window, navigate to configuration > config > Rule Sets > Preupdate > ContactPreupdate > All Contacts sync by default.

BillingCenter does not link or synchronize contacts of producers. To control this aspect of synchronization, BillingCenter adds a property to Contact entities, ShouldSendToContactSystem, that determines if the contact is synchronized. This Boolean property is set in a get method in gw.api.address.ContactEnhancement.The code for the method is:

property get ShouldSendToContactSystem() : boolean {
  return this.AutoSync == AutoSync.TC_ALLOW
    and not this.ID.Temporary
    and (isOnAccount() or isOnPolicyPeriod())
}

For a contact to be sent to ContactManager, it must have an AutoSync value of AutoSync.TC_ALLOW and it must be connected to either an account or a policy period.