Overview
The Intacct Interface is an interface between Rootstock and Intacct Financials that consists of three schedulable classes on the Salesforce platform to export Sales Invoices, Payables Invoices, and Journal Batches from Rootstock to Intacct. All three classes perform similar processes, but in different functional areas. Each process, when invoked, performs the following:
-
Get a set of records in a single Rootstock object, that have not yet been processed
-
Transfer data from each to Intacct using Intacct APIs
-
Update the row in Rootstock indicating processing was completed, and in some cases setting a value which was returned by the successful Intacct process
Sales Invoices
The Sales Invoices process gets the set of Rootstock Sales Invoices where the Invoice is ‘Approved’, but is not ‘Transferred’. For each invoice in the set, the data from the Sales Invoice Header (SOINV) and Sales Invoice Line (SOINVLINE) records are transferred to Intacct, using either the Intacct ‘create invoice’ API or the Intacct ‘create sotransaction’ API, based on the option selected (see below). Once the transfer is completed each Sales Invoice in the set is updated to show as ‘Transferred’ (so that they will be bypassed in the next and subsequent runs), and the Intacct Invoice (or Sales Order) is written back to the Rootstock Sales Invoice.
Which API is called is determined by a setting on the System Defaults process page on the System Setup menu section.
In the Intacct Integration section, there is a field titled ‘Export Intacct Sales Invoices as SO’.
-
If this field is true (checked), then the ‘create sotransaction’ API is called, creating a Sales Invoice in Intacct.
-
Otherwise, the ‘create invoice’ API is called, creating a Sales Order in Intacct.
If the ‘create sotransaction’ API is called, the following fields are transferred to the Intacct Sales Order, using the noted values from the Rootstock Invoice:
-
Transactiontype = ‘Sales Order’
-
Customerid = Financial System Customer ID
-
Datecreated = Invoice Date
-
Documentno = Invoice Number
-
Datedue = Due Date
-
Referenceno = Customer PO from associated Rootstock Sales Order
-
Currency = Currency
-
Exchrate = Currency Exchange Rate
-
Shipto = Contact
If the ‘create invoice’ API is called, the following fields are transferred to the Intacct Sales Invoice, using the noted values from the Rootstock Invoice:
-
Customerid = Financial System Customer ID
-
Datedue = Due Date
-
Datecreated = Invoice Date
-
Invoiceno = Invoice Number
-
Ponumber = Customer PO from associated Rootstock Sales Order
-
Currency = Currency
-
Exchrate = Currency Exchange Rate
-
Shipto = Contact
The contact detail is determined by first checking to see if there is an existing contact detail in Intacct where The Company Name, Contact Name, Address 1, Address 2, and Zip Code match the current record. If one DOES exist, then the detail from the existing ‘contact’ is used. If an existing ‘contact’ does not exist, one will be added to Intacct as part of the transfer, mapping fields as noted below (from the Rootstock Shipper associated with the Rootstock Sales Invoice).
Intacct Field Names
-
COMPANYNAME = SHIPPER NAME
-
CONTACTNAME = SHIPPER NAME
-
MAILADDRESS.ADDRESS1 = SHIPPER ADDRESS1
-
MAILADDRESS.ADDRESS2 = SHIPPER ADDRESS2
-
MAILADDRESS.CITY = SHIPPER CITY
-
MAILADDRESS.STATE = SHIPPER STATE
-
MAILADDRESS.ZIP = SHIPPER ZIP
-
MAILADDRESS.COUNTRY = SHIPPER COUNTRY
-
EMAIL1 = SHIPPER EMAIL
-
PHONE1 = SHIPPER PHONE1
-
FAX = SHIPPER FAX
Payables Invoices
The Payables Invoices process gets the set of Rootstock Invoice Headers where the ‘Export Needed’ field is True (Checked). For each invoice in the set, the data from the PO-AP Match Invoice (TTAPHDR) and PO-AP Match Invoice Line (TTAPLINE) records will be transferred to Intacct, using the Intacct ‘create bill’ API. Once the transfer is completed each Invoice in the set will be updated so that the ‘Export Needed’ field is False so that they are bypassed in the next and subsequent runs, and the Acct Invoice value on the Invoice Header is set to the value returned from Intacct. When the API is called, the following fields are transferred to the Intacct Payables Invoice, using the noted values from the Rootstock Invoice Batch:
-
Vendorid = Financial System Vendor ID
-
Datedue = Due Date
-
Datecreated = Invoice Date
-
Billno = Invoice Number
-
Currency = Invoice Currency
-
Exchrate = Receipt Exchange Rate
For each Invoice in the set, get list of Invoice Lines and create ‘bill items’ from each Invoice Line, mapping fields as noted below
-
Glaccountno = GL Account mapped to the Invoice Line Sub-ledger account
-
Amount = Invoice Line Net Value
-
Memo = Invoice Line Description
-
Dimension = See separate dimension section below
Journal Entries
The Journal Entries process gets the set of Rootstock Journal Headers where the ‘Posted’ field is False (Unchecked). For each journal in the set, the data from the Journal Header (GLJEH) and Journal Detail (GLJED) records are transferred to Intacct, using the Intacct ‘create gltransaction’ API. Once the transfer is completed each Journal in the set is updated so that the ‘Posted’ field is True, so that they are bypassed in the next and subsequent runs, and the ‘Journal Entry No’ value on the Journal Header is set to the value returned from Intacct. When the API is called, the following fields are transferred to the Intacct Journal, using the noted values from the Rootstock Journal Header:
If the journal description is ‘ODC’, then the value passed to Intacct as the Description is constructed as ‘PO Number + Item Number + Item Description’
For each journal in the set, the process gets the list of Journal Details and create ‘glentry’ from each Journal Detail, mapping fields as noted below
User can define to which Intacct journal symbol the Journals created within Rootstock should be exported to, by setting field GL Transaction Symbol on System Defaults (SYDEFAULT) record to the Journal Symbol defined on Intacct environment. If nothing is set, by default Journals will be transferred to Intacct Journal Symbol 'GL'.
How to Set Dimension Fields
-
There are eight Rootstock dimension fields which correspond to eight fields on the Intacct element.
-
For each of the export classes, here are the source of the dimension values:
At this time there are only 4 dimension fields on the SOINVDISTDIM object.
-
The rules for setting these fields is defined on the System Defaults object record.
-
For each of the 8 Intacct fields noted below there is a corresponding SYDEFAULT field, and the value of the SYDEFAULT field indicates which GLJED_DIMVAL{X} field is to be used.
EXAMPLE For example:
If SYDEFAULT_INTACCTDIMLOC = 1 Set locationid = GLJED_DIMVAL1
If SYDEFAULT_INTACCTDIMLOC = 2 Set locationid = GLJED_DIMVAL2
…….{3 - 7}
If SYDEFAULT_INTACCTDIMLOC = 8 Set locationid = GLJED_DIMVAL8
------------------------
If SYDEFAULT_INTACCTDIMDEPT = 1 Set departmentid = GLJED_DIMVAL1
If SYDEFAULT_INTACCTDIMDEPT = 2 Set departmentid = GLJED_DIMVAL2
…….{3 - 7}
If SYDEFAULT_INTACCTDIMDEPT = 8 Set departmentid = GLJED_DIMVAL8
------------------------
Do the same for each of the fields noted below
-
Locationid SYDEFAULT_INTACCTDIMLOC
-
Departmentid SYDEFAULT_INTACCTDIMDEPT
-
Customerid SYDEFAULT_INTACCTDIMCUST
-
Vendorid SYDEFAULT_INTACCTDIMVEND
-
Employeeid SYDEFAULT_INTACCTDIMEMPL
-
Projected SYDEFAULT_INTACCTDIMPROJ
-
Itemid SYDEFAULT_INTACCTDIMITEM
-
Classid SYDEFAULT_INTACCTDIMCLASS
NOTE If the SYDEFAULT value is not in the range of 1 thru 8 {i.e. blank} then leave the Intacct export field blank.
SEE ALSO
Intacct Integration Setup