We have been EXTREMELY busy lately with all kinds of enhancements. It’s been months since we’ve had time to post what is new in OdataLink. While there is too many enhancements to include in a single post, we’ll cover the main ones.
Many of the changes are not visible and only impact how OdataLink works under the hood. They would only get very technical people excited. That being said, if you are one of those individual, read on.
- Email Enhancements
- Xero Enhancements
- Xero API Call Queue
- Xero JournalsAccrual and JournalsCash enhancements
- Xero Access Tokens enhancements
- MYOB Enhancements
- Items endpoint now includes Bill Of Materials
- New AccountsTotals endpoint to ease creating reports
Email enhancements
One thing that all our users will have noticed is the change to the automated emails. Not only do they come from @odatalink.com now, but we’ve updated all automated emails to be more OdataLink and less Accounting Addons like.
But that is just the tip of the iceberg you can see. Under the hood, we created an entirely new emailing engine. It will allow OdataLink to provide many more notifications.
As a test case, this means OdataLink finally notifies you if a refresh fails caused by your trial expiring.
In the not-too-distant future, we’ll apply this system for all kinds of notifications. Rather than having a refresh fail only to leave you scratching your head, we’ll be using this system to better assist you debugging problems.
Xero Enhancements
On the Xero front, many of the changes are internal. They resolve issues that are specific to the Xero API.
Xero API Call Queue
Some customers building complex models experienced Error 9006. This occurred when the Xero API received 5 or more concurrent call at the same time. This was particularly noticeable for some when Power BI (cloud) downloaded information from multiple servers at once.
To mitigate this problem, OdataLink keeps track of concurrent calls and routes them to the Xero API. When OdataLink receives too many calls for the Xero API to handle, it applies additional monitoring and queueing for your specific Xero company file.
This ensures that your Power BI or Excel integration works at all times. This is completely seamless and invisible. You’ll never know it’s there.
Xero JournalsAccrual and JournalsCash enhancements
As some of you know, the JournalsAccrual and JournalsCash endpoints have been our Achilles heel. They were some of the first endpoints provided via the Xero API. Unfortunately, they do not allow filtering. This makes them the most difficult to optimise.
Recent updates of OdataLink have changed this slightly. These endpoints are now paged in a consistent manner regardless of how your model is configured. Because of this, OdataLink will only ever download a page once.
In addition, OdataLink stores additional meta data for each page. This allows OdataLink to compile and serve only the pages that are needed.
Ultimately, this means you can filter these endpoints by JournalDate directly from within Power Query. With query folding, OdataLink will receive this filter information and act on it.
In our tests, this allowed us to reduce a refresh spanning 3 financial years from 96 seconds down to 78 (a saving of around 18%). More importantly, the filter could be changed and the performance was maintained.
Xero Access Tokens enhancements
Another point of improvement is the handling of your Xero data file connections. This is done via Access Tokens that Xero issues.
Since only coders would get excited about the enhancement, we won’t go into it too much.
There is good news for those with multiple Xero data files (mostly consultants). The need to re-authorise data access should be greatly reduced.
MYOB Enhancements
On the MYOB space, the enhancements are minor but more visible.
Items endpoint now includes Bill Of Materials
MYOB updated their API in May to include a long requested feature. The Items endpoint now include a new field: BillOfMaterials.
This field allows you access the list of components that make up an item that uses the Bill of Materials functionality of MYOB.
This is extremely crucial for those wanting to create inventory management dashboards that involve components.
"value": [
{
"UID": "770bd262-04c9-4c70-8cac-32201a7967db",
"Number": "Cooler Pack",
"Name": "Cooler Pack",
...,
"BillOfMaterials": {
"Quantity": 10,
"Items": [
{
"Quantity": 2,
"Item": {
"UID": "6847bb67-87ff-4f09-b425-568a85ceef84",
"Number": "200",
"Name": "Cooler Medium"
}
},
{
"Quantity": 2,
"Item": {
"UID": "bd8ec894-4ef3-45b9-8a16-735bd9c0e5c3",
"Number": "220",
"Name": "Cooler Filter Medium"
}
},
{
"Quantity": 1,
"Item": {
"UID": "483c4908-64ab-43ed-8f2b-a317b6b05dea",
"Number": "100",
"Name": "Cooler Large"
}
},
{
"Quantity": 1,
"Item": {
"UID": "af84e352-4cc3-4262-8153-44fa0fa2ce89",
"Number": "120",
"Name": "Cooler Filter Large"
}
}
]
}
}
]
New AccountsTotals endpoint to ease creating reports
In the last few days, we also added a new endpoint named AccountsTotals. This endpoint simplifies the process of creating Profit and Loss, Balance Sheet, Trial Balance and Cash Flow reports.
It provides a ready-made list of Totals and their related Account Classifications.
With it, you can easily create reports that include Gross Profit, Operating Profit, Net Profit and Net Assets totals.
For a video of it in action, see our youtube channel.