MYOB Client and Job Integration - Reference
Article Index
Integrated Fields
The integration of MYOB Client and Jobs to Framework ECM is fully customisable via the integration mapping database.
Dbo.Import_Jobs
MYOB Database Field Name | Create | Update | Framework Database Field Name |
---|---|---|---|
JobNumber | Yes | Framework: s_job_num | |
JobName | Yes | Yes | Special #55: s_job_address or “New Job” |
SubjobOf | |||
Header | Yes | Yes | Fixed Value: “D” for Detail |
Description | Yes | Yes | Framework: s_description |
Contact | Yes | Yes | Framework: s_clientCont_name |
StartDate | Yes | Yes | Framework: d_site_start_act |
PercentComplete | |||
FinishDate | Yes | Yes | Framework: d_cst_comp_act |
Manager | Yes | Yes | Framework: s_supervisor_name |
LinkedCustomer | Yes | Yes | Framework: s_client_nameRef |
InactiveJob | Yes | Yes | Framework: s_inactive_job |
TrackReimburseables |
Dbo.Import_Customer_Cards
MYOB Database Field Name | Create | Update | Framework Database Field Name |
---|---|---|---|
CoLastName | Yes | Yes | Framework: s_client_nameRef |
FirstName | |||
CardID | Yes | Special #56 - Framework: s_client_boq or s_client_num | |
CardStatus | Yes | Yes | Framework: s_inactive_client |
CurrencyCode | |||
Address1AddressLine1 | Yes | Yes | Special #54 - Framework: s_client_stNum + s_client_stName or s_client_address |
Address1AddressLine2 | |||
Address1AddressLine3 | |||
Address1AddressLine4 | |||
Address1City | Yes | Yes | Framework: s_client_suburb |
Address1State | Yes | Yes | Framework: s_client_state |
Address1PostCode | Yes | Yes | Framework: s_client_state |
Address1Country | Yes | Yes | Framework: s_client_country |
Address1Phone1 | Yes | Yes | Framework: s_client_bhPhone |
Address1Phone2 | Yes | Yes | Framework: s_client_ahPhone |
Address1Phone3 | Yes | Yes | Framework: s_client_mobile |
Address1Fax | Yes | Yes | Framework: s_client_fax |
Address1Email | Yes | Yes | Framework: s_client_email |
Address1Website | Yes | Yes | Framework: s_client_website |
Address1ContactName | Yes | Yes | Framework: s_clientCont_name |
Address1Salutation | Yes | Yes | Framework: s_clientCont_salutation |
< Address2/5 sets of fields > | |||
Notes | Yes | Yes | Framework:s_client_notes |
PaymentIsDue | Yes | Yes | Special #52: Value from ini file for key MYOB_PaymentDueCode |
DiscountDays | |||
BalanceDueDays | Yes | Yes | Special #53: Value from ini file for key MYOB_BalanceDueDays |
PercentDiscount | |||
PercentMonthlyCharge | |||
TaxCode | Yes | Yes | Special #51: Value from ini file for key MYOB_TaxCode |
CreditLimit | |||
TaxIDNumber | |||
VolumeDiscount | |||
SaleLayout | Yes | Yes | Fixed Value: “S” for Service |
ItemPriceLayout | Yes | Yes | |
PaymentMethod | Yes | Yes | Fixed Value: 0 |
AccountNumber | |||
AccountName | |||
ABN | |||
ABNBranch | |||
IncomeAccount | |||
Salesperson | Yes | Framework: s_salesPerson_name | |
SalespersonCardID | Yes | Yes | Fixed Value: 0 |
SaleComment | |||
ShippingMethod | |||
PrintedForm | |||
FreightTaxCode | |||
UseCustomersTaxCode | |||
ReceiptMemo | |||
InvoiceDelivery | |||
RecordID |
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.
Get eligible Framework jobs using v_sched_myobJobs where
Client.s_name_ref is not null
Client.s_name is not null
Job.s_link_boq <> ‘N/A’
Job.s_link_accts <> ‘N/A’
Job.l_wfl_stgMajor_id <> -5 (Maintenance)
Job. l_job_status_gl_id = -7 (Active) or -10 (On Hold) or l_job_status_gl_id = -946 (Pending Cancellation) or -8 (Cancelled) and d_cont_cancelled >= (today - 14 days)
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’
For each Framework Job search for the job in MYOB table Jobs where
If job.s_link_boq is empty then
Jobs. JobNumber = job.s_job_num else
Jobs. JobNumber = job.s_link_boq
If the job is found in MYOB then
The matching job record is retrieved from Jobs
The matching client record is retrieved from Customers where Customers. CustomerID = Jobs. CustomerID
If both records above are retrieved successfully we update the MYOB Jobs, as well as Customers, records.
If the job is not found in MYOB then
If the job.s_link_boq field is empty we create the job in MYOB.
If the Client.s_link_boq field is empty we create the customer in MYOB.
The way the process actually works is we cannot directly access Jobs, Customers or Address records in MYOB. We write records into Import_Jobs and Import_Customer_Cards tables, from where an internal MYOB process tries to match record keys and decides on adding or updating Jobs, Customers and Address records.
After record(s) are written to MYOB temporary import tables, we check if the job was written to the permanent Jobs table, otherwise logging a "Job with Card ID XXXX failed to create in MYOB" message.
At successful completion job.s_link_accts and client.s_link_accts are updated.