MYOB Client and Job Integration - Reference
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.