fmAccounting Link (MYOB AccountRight Edition) Frequently Asked Questions
What versions of FileMaker Pro/Pro Advanced does fmAccounting Link (MYOB AccountRight Edition) require?
fmAccounting Link (MYOB AccountRight Edition) currently works with FileMaker Pro/Pro Advanced v12 or later. We continue to develop fmAccounting Link (MYOB AccountRight Edition) and will ensure it works with future releases of FileMaker Pro.
What version of MYOB AccountRight is required?
fmAccounting Link (MYOB AccountRight Edition) works with MYOB AccountRight Live 201x versions, including:
- AccountRight Live 2020
- AccountRight Live 2019
- AccountRight Live 2018
- AccountRight Live 2017
- AccountRight Live 2016
- AccountRight Live 2015
- AccountRight Live 2014
- AccountRight Live 2013
It works with the following editions:
It does not work with AccountEdge or earlier versions of AccountRight (e.g. v19). The AccountRight API is currently only available in Australia and New Zealand.
You can be running AccountRight 201x locally on your computer or in the cloud – the API works the same way regardless of where your AccountRight Company File is stored.
What’s the best way to integrate this into my existing FileMaker solution?
How you go about integrating the functionality from the fmAccounting Link (MYOB AccountRight Edition) file is entirely up to you – as the file is completely unlocked you get to go behind the scenes to learn how to handle the authentication, uploading, downloading etc and then recreate that in your existing FileMaker solution. Based on feedback from customers all around the world there have been three main ways they have approached the integration:
Linking – this involves using the fmAccounting Link file as a ‘interface’ or front-end file to your existing FileMaker file. This is a relatively quick way to get up and running – you relink the table occurrences to reference the matching tables in your existing FileMaker file and then update the layouts and add any new fields (such as the ‘MYOB ID’ fields and the POST data calculation fields). You also need to update any field references in scripts and create any new value lists.
Use the fmAccounting Link file as a Controller File – this involves pushing data to the fmAccounting Link file from your existing FileMaker file and use that to handle the uploading/downloading of data with MYOB AccountRight. This is also a relatively quick way to get up and running – you simply write scripts in your FileMaker solution to push Contacts, Invoices etc across from your file to the fmAccounting Link file and use that to handle all the uploading of FileMaker data to MYOB AccountRight. To prevent duplicate Contacts from being created you would create a ‘MYOB Contact ID’ field to store the MYOB Contact ID value, otherwise everything else happens in the fmAccounting Link file. You could then do an upload once a day of all Invoices generated that day etc.
Embedding – this is the most complex and time consuming type of integration as it involves recreating the required functionality from the fmAccounting Link file in your existing FileMaker solution. Our integration guide covers the high level steps that you need to take and the order in which to complete them. Most of the code can be copied and pasted, however you will need to manually create some relationships, table occurrences and valuelists. You can typically be up and running with authentication and uploading a Contact/Invoice in around 4 – 8 hours depending on the complexity of your existing FileMaker solution.
If you do decide to use the fmAccounting Link file you will have to create and manage any required FileMaker Accounts and Privilege Sets.
We are already using MYOB AccountRight and have existing Contacts, Invoices etc. Is there a way to prevent duplicate Contacts from being created?
Yes – the MYOB AccountRight API exposes the MYOB Contact ID field which is their unique identifier for a Contact record. We store this in a field in the fmAccounting Link file in the Contacts table (same for Invoices, Payments etc – they all have their own unique MYOB ID). You can use the fmAccounting Link file to download all existing Contacts from MYOB AccountRight to get access to the MYOB Contact ID values and then create a field in your FileMaker solution to store this, then populate this from the fmAccounting Link file via a relationship based on Company Name etc.
Once this is populated any future uploads to MYOB AccountRight will not create a duplicate Contact in MYOB AccountRight but use this for uploading to an existing MYOB AccountRight Contact.
Can I use fmAccounting Link (MYOB AccountRight Edition) with FileMaker Server scripts/Perform Script on Server?
If you are authenticating via the Desktop API (i.e. your MYOB AccountRight file is stored locally on a server on your network) then you are able to use FileMaker Server scheduled scripts or Perform Script on Server to interact with your AccountRight Company File. As you are required to authenticate with your selected AccountRight Company File you will need to store the Company File credentials (username/password) somewhere where the FileMaker script can access them (i.e. these will need to be hardcoded somewhere). Don’t forget to also ensure that all script steps are server compatible.
If you are authenticating via the Cloud API (i.e. your MYOB AccountRight file is stored in the cloud) then you will NOT be able to use FileMaker Server scheduled scripts or Perform Script on Server. The Cloud API requires you to login to the my.MYOB website first before entering the credentials for the selected AccountRight Company File – this is not possible via a server side script as it requires user interaction to enter the my.MYOB login details.
Does fmAccounting Link (MYOB AccountRight Edition) use ODBC or export/import of .txt files?
No. fmAccounting Link (MYOB AccountRight Edition) makes HTTPS requests to the MYOB AccountRight API to create/update records in your selected MYOB AccountRight company file. If successful the MYOB records are created/updated immediately without having to export and import .txt files or use ODBC.
Are partial updates supported?
No – the AccountRight API does not support PATCH which means you cannot do a partial update of a record. This means that whenever you are updating an existing MYOB record (e.g. Contact or Invoice) you must pass the full details with each request. If you don’t pass back all the details the API assumes you are wanting to delete those values.
I’ve linked the Company File User ID to my my.MYOB Account and I’m getting a 401 error when uploading/downloading from MYOB
If you have linked your Company File User ID to your my.MYOB login via either of these 2 dialog boxes:
then the way you authenticate with the AccountRight API is slightly different to using a standard non-linked Company File User ID. You need to check this checkbox in the MYOB Company screen if you are using v1.0.8 or later of the fmAccounting Link file:
This will automatically handle the changes required when using a linked my.MYOB account.
If you are using an earlier version of fmAccounting Link you can simply disable the highlighted step below in the Set HTTP Headers script:
What happens when someone updates the same record (Contact, Invoice etc) in MYOB and FileMaker at the same time?
You can find yourself in a “record locking” situation where the same record has been updated in both FileMaker and MYOB.
If you update a record from FileMaker whilst the MYOB user has the same record open (but before they click OK to save the record) the MYOB user will get an error message when attempting to save the record:
They just need to cancel and open the record again in MYOB to see the latest version that was uploaded from FileMaker.
If you attempt to update a record from FileMaker that has been modified in MYOB since you last updated/retrieved the record you will get an error message when uploading:
The MYOB API uses a RowVersion field for each record that changes every time the record is updated. The FileMaker user will need to download/update the record first, then make their changes and upload it again.
Does MYOB AccountEdge have to be running/open to use the API?
No – once you have authenticated successfully and selected the Company File to use all requests to upload/download data function regardless of whether AccountRight is running/open.
I’m about to upgrade my AccountRight file to a new version of AccountRight (e.g. from 2018.4 to 2019.2) – is there anything I need to be aware of?
When upgrading an AccountRight file you will often end up with 2 copies of your AccountRight Company File – one for the previous version and one for the new version. Each of these files will have it’s own MYOB ID, and you will need to ensure you have selected the new Company File so the correct MYOB ID is being used and any requests will be made to the correct file. This is a similar process to converting a FileMaker file from one file format (e.g. .fp7) to another (e.g. .fmp12).
Here’s an example showing multiple versions of the Clearwater file:
You can see the unique MYOB ID and the different Product Versions. You will need to refresh the list of Company Files by importing the list of Company Files again, then select the correct file from the list here:
How does the MYOB Invoice Number get populated?
The Invoices API endpoint has a Number element which is a 8 character code. You have 2 options when uploading Invoices to MYOB:
- leave this blank and MYOB will will auto-generate this
- populate this with a value from a FileMaker field
In the fmAccounting Link (MYOB AccountRight Edition) file we are using the 2nd option to populate this with the value from the _kp_InvoiceID field (the primary key field for the Invoice in FileMaker). If you wish to change this to have MYOB auto-generate the number for you simply disable/delete this line:
BE_JSON_Encode ( “Number” ; _kp_InvoiceID ) & “,” &
from the calculation formula in these fields:
We have a field in the Invoices table named MYOBInvoiceNumber which we populate with the MYOB Invoice Number value, regardless of the above settings.
Is FileMaker Pro Advanced required?
FileMaker Pro Advanced is only required to copy/paste the Custom Functions that fmAccounting Link (MYOB AccountRight Edition) uses when you are integrating this into your own FileMaker solution files. Otherwise you can use both FileMaker Pro and Pro Advanced when using the fmAccounting Link (MYOB AccountRight Edition) functionality.
Does fmAccounting Link (MYOB AccountRight Edition) work on Mac OS X?
Yes. Even though AccountRight is a Windows only application you can use fmAccounting Link (MYOB AccountRight Edition) on a Mac OS X computer. The MYOB AccountRight API can work on any platform. For example you could have a workgroup of Mac users pushing invoices from their copy of FileMaker Pro to MYOB AccountRight running on a Windows server on the same network (or to a cloud hosted MYOB AccountRight Company File).
N.B. – you cannot use fmAccounting Link (MYOB AccountRight Edition) with MYOB AccountEdge (there is currently no API available for AccountEdge).
If I’m running MYOB AccountRight on my desktop/local office network do I need to install anything?
If you plan on using fmAccounting Link (MYOB AccountRight Edition) with a local MYOB AccountRight Company File (either on your computer or a server in your office) please refer to the following MYOB article which explains the different installers available and when to use them. Please make a backup of your MYOB AccountRight Company Files before you make any changes to your AccountRight installation. The AccountRight Server installed is required if you plan to share company files with others on a network – it will also install the API files at the same time.
I see a MYOB ID field in most tables – what is the purpose of these fields?
Most tables that upload to MYOB will contain a “MYOB ID” field, e.g.:
- _kf_MYOBContactID in Contacts
- _kf_MYOBInvoiceID in Invoices
- _kf_MYOBPurchaseOrderID in Purchase Orders
These fields store MYOB’s unique identifier for each Contact, Invoice, Purchase Order etc that you upload to MYOB or download from MYOB.
These operate in a similar way to a primary key field does in FileMaker. If there is a value in these fields that means that the Contact, Invoice etc has previously been uploaded (or downloaded from MYOB) – i.e. that FileMaker record also exists in MYOB. When uploading to MYOB if the “MYOB ID” field is empty a new record will be created in MYOB, otherwise the MYOB record that matches the “MYOB ID” field will be updated.
N.B. as these MYOB ID values should be unique make sure when you duplicate an Invoice, Contact, Bill etc that you clear out the value in these MYOB ID fields (_kf_MYOBContactID, _kf_MYOBInvoiceID etc) otherwise you will run into issues when uploading as it will be attempting to update that record in MYOB that matches the value in the MYOB ID field.
I’m seeing lots of
No – if you’re using FileMaker Pro v16 or later it won’t install the FileMaker plugin which is required by FileMaker Pro v15 or earlier. Those fields/scripts with the
Does fmAccounting Link (MYOB AccountRight Edition) use a plug-in?
Version 1.4 of fmAccounting Link (MYOB AccountRight Edition) runs natively under FileMaker Pro/FileMaker Go v16 or later and does not require a plug-in. If you are using FileMaker Pro v15 or earlier a plug-in is required as FileMaker Pro v15 and earlier do not have the required functions to integrate with the MYOB AccountRight API.
Is there any documentation to help us integrate fmAccounting Link (MYOB AccountRight Edition) into our own FileMaker solution?
Yes – we have a dedicated Integration page. We also plan to add some additional videos to illustrate particular aspects of the integration.
I don’t see an example for all MYOB AccountRight API endpoints?
We’ve tried to include all the common MYOB AccountRight integration requirements for a typical small business that uses FileMaker (Contacts, Invoices, Payments, Jobs, Bills, Employees etc). We’re happy to add additional examples to the fmAccounting Link (MYOB AccountRight Edition) solution file – as long as it is supported by the MYOB AccountRight API we can create an example.
Can I upload an Invoice and create a new Contact at the same time?
The MYOB AccountRight API does not currently support creating an Invoice and a Contact with a single API call. You will need to upload the Contact first and then upload the Invoice.
Can I upload a Payment with an Invoice to mark the Invoice as Paid?
The MYOB AccountRight API does not currently support creating a Paid Invoice with a single API call. You will need to upload the Invoice and the Payment separately.
I’m using the Cloud API and have registered my apps on the my.MYOB portal but I’m getting an error ERR_403_DEVELOPER_INACTIVE when trying to download the Company Files?
MYOB need to activate your API keys – only the first 2 keys are activated automatically. Once you keys are activated you will be able to make API requests successfully.
I’m not familiar with the technique that you’re using to create records when downloading data from MYOB – can you explain how this works?
When downloading data from MYOB if we need to create records in another table (e.g. Contacts, Invoices etc) rather than constantly changing layouts to create new records in the correct table we’re using a technique that allows you to create related records via a relationship that has the “Allow creation of records in this table via this relationship” enabled for the relationship.
This technique is also known as the “Magic Key” technique and is also used when implementing support for database transactions in FileMaker. You can read more about this technique at these websites:
Is there a list of changes in each version of fmAccounting Link (MYOB AccountRight Edition)?
Yes – to see what’s new with each update check out the fmAccounting Link (MYOB AccountRight Edition) version history log