Arrow Accounts Receivable Integration - Reference
Article Index
Integrated Fields
The integration of Arrow Accounts Receivable to Framework ECM is fixed in the content that is exchanged between the systems. There are no user-configurable integrated fields available for this type of integration.
Database Models
The following database model(s) displays the manner in which data is integrated between the third party application and Framework Integration.
Integration Process
The following information is a low level account of the integration process including criteria, decisions, and outcomes. This information is technical in nature and is provided "as-is" for a detailed analysis of the integration process for system administrators.
Read profile keys to determine which actions to process.
ActionCreateInvoices
Read profile keys to get the output path and file name for invoices file.
Check the file name does not already exist, if so prompt to delete it.
Get eligible Framework jobs using v_sched_tlClaims where
Cst_claim.d_raised is not null
Cst_claim.s_link_accts <> ‘N/A’
Cst_claim.f_link_exported = 0
Client.s_name_ref is not null
Client.s_name is not null
Job.s_link_accts <> ‘N/A’
Job. l_job_status_gl_id = -7(Active) or -10(On Hold) or l_job_status_gl_id = -946 (Pending Cancellation)
and apply Criteria Method criteria where CriteriaMethod is
1 – Single Region Division
job.l_context_id = ‘CriteriaMethodID’
2 – Single Job
job.s_job_num = ‘CriteriaMethodID’
3 – Single Team
job.l_team_id = ‘CriteriaMethodID’
4 – All Jobs
job.l_job_id <> 0
5 – Accounts Entity
job.l_accounts_e_id = ‘CriteriaMethodID’
If an eligible job claim has an empty invoice Number, it is not included in the output file.
The Arrow table jobMast is checked for a matching Job Number where JobMast.job_code = “job.s_job_num’, if it is found the claim details are added to the output file.
As claims are added to the output file, their cst_claim.f_link_exported flag is set to true.
ActionProcessReceipts
Eligible receipts are read from Arrow tables Drstran and JobMast joined on drsTran.customer_code = jobMast.customer_code where
drsTran.trans_type = ‘CBREC’ if profile key DepositRunEndDate is empty then
drsTran.date > = ‘DepositRunStartDate’ and <= now else if DepositRunEndDate has a date entered then
drsTran.date > = ‘DepositRunStartDate’ and <= ‘DepositRunEndDate’
A framework record from v_sched_tlClaims is searched where
Cst_claim.s_invoice_num = drsTran.reference
Cst_claim.s_link_accts <> ‘N/A’
Job. l_job_status_gl_id = -7(Active) or -10(On Hold) or l_job_status_gl_id = -946 (Pending Cancellation) and apply Criteria Method criteria where CriteriaMethod is
1 – Single Region Division
job.l_context_id = ‘CriteriaMethodID’
2 – Single Job
job.s_job_num = ‘CriteriaMethodID’
3 – Single Team
job.l_team_id = ‘CriteriaMethodID’
4 – All Jobs
job.l_job_id <> 0
5 – Accounts Entity
job.l_accounts_e_id = ‘CriteriaMethodID’
If a Framework Claim meets the above criteria it will be processed.
Receipts will be skipped from processing if drsTran.date is empty
Because some payments may have already been processed into Framework a key combination is checked against cont_pay.s_link_accts. If the key is found the payment processing is skipped. The key is made up as follows… yyyymmdd/[drstran.apply_reference]/[drstran.dfrecnum] where
yyyymmdd is the year month and day format of drsTran.date
the [drsTran.apply_reference] field is 8 characters long padded with zeroes
the [drstran.dfrecnum] field is 8 characters long padded with zeroes
If above is all ok then the payments for the invoice are inserted in Framework and then the Framework cst_claim and cont totals are updated.
ActionCheckingConsistency
Eligible Framework jobs for checking are retrieved from v_sched_tlCstClaim where
Job.l_wfl_stgMajor_id = -3(Administration) or -4 (Construction)
Job.l_job_status_gl_id = -7(Active) or -10(On Hold) or l_job_status_gl_id = -946 (Pending Cancellation)
Cst_claim.s_invoice_num is not empty
Cst_claim.s_link_accts <> ‘N/A’
and apply Criteria Method criteria where CriteriaMethod is
1 – Single Region Division
job.l_context_id = ‘CriteriaMethodID’
2 – Single Job
job.s_job_num = ‘CriteriaMethodID’
3 – Single Team
job.l_team_id = ‘CriteriaMethodID’
4 – All Jobs
job.l_job_id <> 0
5 – Accounts Entity
job.l_accounts_e_id = ‘CriteriaMethodID’
Invoice Totals are compared between Arrow and Framework
Cst_claims with the same invoice numbers have their cst_claim.c_total field values summed together
The matching invoice is retrieved from drsTran where drsTran.reference = cst_claim.s_invoice_num and drsTran.trans_type = ‘DRINV’.
If the invoice record(s) is found the sum of drsTran.net_value is calculated and compared with the total of the cst_claim.c_total fields, we calculated previously, to determine if the invoice totals match.
Receipt Totals for each invoice are compared between Arrow and Framework
Cst_claims with the same invoice numbers have their cst_claim.c_paid_amt field values summed together
The matching receipts are retrieved from drsTran where drsTran.reference = cst_claim.s_invoice_num and drsTran.trans_type = ‘CBREC’
If there are receipts then the sum of drsTran.net_value is calculated and compared with the total of the cst_claim.c_paid_amt fields, we calculated previously, to determine if the receipts match.