Bullhorn Customer and Primary Contact to Sage Intacct


First published on: 05/14/2025/5:19 pm

 

Workflow Summary

  • This workflow is executed by the “Import Bullhorn AR Invoice Statement to Sage Intacct AR Invoice” workflow to ensure customer and contact records are synchronized whenever a new invoice is processed.
  • It ensures the Contact record in Sage Intacct is created or updated based on data from Bullhorn One.
  • It ensures the Customer (Company) record in Sage Intacct is created or updated accordingly.

 

Workflow Description 

This workflow is triggered by the “Import Bullhorn AR Invoice Statement to Sage Intacct AR Invoice” process and is responsible for ensuring that the customer and primary contact information from Bullhorn One is accurately synchronized with Sage Intacct.

 

Process Logic

  1. Retrieve Bullhorn One Customer Details: The workflow begins by retrieving the full set of customer and primary contact details from Bullhorn One, which are required for record creation or updates in Sage Intacct.
  2. Primary Contact Synchronization: The workflow checks whether the primary contact from the Bullhorn Company exists in Sage Intacct:
    • If the contact exists, it is updated with the latest information.
    • If the contact does not exist, a new contact record is created.


This process utilizes Sage Intacct’s unique control ID functionality, which allows the system to identify existing records without additional API lookups, improving performance and reducing unnecessary calls.

 

  1. Customer (Company) Synchronization: The workflow checks whether the Company record from Bullhorn exists in Sage Intacct:
    • If the customer exists, it is updated.
    • If the customer does not exist, a new record is created.
    • During this process, synchronized contact is also linked to the customer record.

 

As with contacts, the workflow leverages unique control ID matching to optimize performance and avoid redundant validation calls to the Intacct API.

 

Workflow Diagram

This workflow is modular and can be reused by other custom workflows that require customer and contact synchronization between Bullhorn One and Sage Intacct.

 

 

Mapping 

Create / Update Sage Intacct Contact

Create Contact
Bullhorn (ClientContact)  Sage Intacct (CONTACT) Hardcoded Values / Comments

id

CONTACTNAME

 

companyName

COMPANYNAME

 

firstname

FIRSTNAME

 

lastname

LASTNAME

 

 

PRINTAS

id + “-” + lastname + “,” + firstname

mobile

PHONE1

 

mobile

CELLPHONE

 

email

EMAIL1

 

address

MAILADDRESS

 

address1

ADDRESS1

 

address2

ADDRESS2

 

city

CITY

 

state STATE  
zip ZIP  
countryCode ISOCOUNTRYCODE  

 

Update Contact
Bullhorn (ClientContact)  Sage Intacct (CONTACT) Hardcoded Values / Comments

id

CONTACTNAME

 

companyName

COMPANYNAME

 

firstname

FIRSTNAME

 

lastname

LASTNAME

 

 

PRINTAS

id + “-” + lastname + “,” + firstname

mobile

PHONE1

 

mobile

CELLPHONE

 

email

EMAIL1

 

address

MAILADDRESS

 

address1

ADDRESS1

 

address2

ADDRESS2

 

city

CITY

 

state STATE  
zip ZIP  
countryCode ISOCOUNTRYCODE  

 

Create Customer
Bullhorn (ClientCorporation) Sage Intacct (CUSTOMER) Hardcoded Values/Comments

id

CUSTOMERID

 

companyName

NAME

 

 

STATUS

 

 

DISPLAYCONTACT

 

companyName

COMPANYNAME

 

 

TAXABLE

"true"

clientContacts[0].firstName

FIRSTNAME

 

clientContacts[0].lastName

LASTNAME

 

phone

PHONE1

 

 

EMAIL1

 

address

DISPLAYCONTACT.MAILADDRESS

 

address1 ADDRESS1  
address2 ADDRESS2  

city

CITY

 

state STATE  
zip ZIP  
countryCode ISOCOUNTRYCODE  
[Sage Created/Updated Contact] CUSTOMERCONTACTS.CUSTOMERENTITYCONTACTS  
  CATEGORYNAME "Billing"
CONTACTNAME CONTACT.NAME  

 

Update Customer
Bullhorn (ClientCorporation) Sage Intacct (CUSTOMER) Hardcoded Values/Comments

name

NAME

 

 

STATUS

"active"

 

DISPLAYCONTACT

 

billingAddress

DISPLAYCONTACT.MAILADDRESS

 

address1 ADDRESS1  
address2 ADDRESS2  

city

CITY

 

state STATE  
zip ZIP  
countryCode COUNTRY  
[Sage Created/Updated Contact] CUSTOMERCONTACTS.CUSTOMERENTITYCONTACTS  
  CATEGORYNAME "Billing"
CONTACTNAME CONTACT.NAME  

 

Assumptions

  • The Bullhorn Company ID is used as the Customer ID in Sage Intacct for synchronizing customer records via the API.
  • The Bullhorn Company Contact ID is used as the Contact ID in Sage Intacct for synchronizing contact records.

 

 

 

Previous

Next


  

Last modified: 05/14/2025/5:45 pm

-