fmAccounting Link (Xero Edition) Update – Notes & History and Attachments

In Xero, you can view the history of changes made to invoices, bills, transactions, inventory items, contacts and more. This audit trail also shows any notes recorded by users in the Xero app but until recently this information was not available via the Accounting API.

Earlier this year Xero added a new endpoint to the Accounting API to allow developers to be able to download the notes/history and also add new notes. We’ve just released an update to fmAccounting Link (Xero Edition) that includes examples for downloading and creating Notes for Contacts and Invoices.

The history and notes for an Invoice in the Xero web app looks like this:

and contains important information, such as when the Invoice was sent to the customer and if they have viewed the invoice online. We’ve added a new Notes tab to display the same information in the fmAccounting Link file:

You can download all the Notes from Xero for an Invoice and a Contact and create a new Note and upload that to Xero for a Invoice and a Contact. We started adding support for the new History and Notes endpoint for Contacts and Invoices as these are two of the most popular modules, but will gradually add them to the other supported modules such as Bills, Credit Notes, Items etc.

We also took this opportunity to extend the support for working with Attachments to also include the ability to download Attachments for an Invoice and create/download Attachments for a Contact.

Here’s a video that demonstrates working with History and Notes and Attachments in fmAccounting Link (Xero Edition):

fmAccounting Link (Xero Edition) and Unit Price Rounding in Xero

By default the Xero API accepts unit prices (UnitAmount) to two decimals places – this means that if you were entering a line item on an Invoice and entered ‘1.795’ for the Unit Price it would be rounded to $1.80 in Xero. For most customers 2 decimal places is sufficient for the line item unit price, however there are some customers that do require greater precision. Xero offer a way to opt-in to 4 decimal places by adding a parameter to your API request.

For example if you wanted to create an Invoice and include 4 decimal places on the unit price for the line items you would change the URL from:

https://api.xero.com/api.xro/2.0/Invoices

to:

https://api.xero.com/api.xro/2.0/Invoices?unitdp=4

Unfortunately it wasn’t as simple as changing the URL in the appropriate fmAccounting Link scripts – even after changing the URL and including unit prices on the line items with 4 decimal places they were still being rounded to two decimals places when uploaded to Xero. We’ve come up with a solution to this to allow you to specify unit prices with 4 decimal places – you’ll need to simply install an updated version of the BaseElements plug-in (v3.3.8) and make sure you change your request URL to include the additional querystring parameter.

If you need to specify unit prices with 4 decimal places please get in touch and we’ll send you the new version of the BaseElements plug-in to use. You can get more information on the Xero developer website here:

https://developer.xero.com/documentation/api-guides/rounding-in-xero

fmAccounting Link and Two-factor authentication with Xero and MYOB

 

As more IT services move to the cloud the risk of unauthorised access and security breaches becomes something that most small business owners need to manage in order to protect access to their critical business systems and sensitive data. The past few years has seen a significant increase in the number of online services coming under cyber attack and sustaining security breaches, as well as the rise in identify theft and online fraud. Security industry research shows that over 40% of cyber attacks last year targeted small businesses and this is increasing.

In additional to the traditional username and password login, many online services now offer an extra layer of protection in the form of two-factor authentication, also commonly referred to as 2FA. With two-step authentication enabled you need to provide two authentication “factors” to login alongside your username. The first factor is something you know – typically your account password.  The second factor is something you have – typically a unique code that’s generated by a separate app on your smartphone or sent via SMS to your registered mobile phone.

Some of the largest online services including Google, Microsoft, Apple, Twitter, Facebook and LinkedIn now offer two-factor authentication – users will typically have to first login using their username/password, then immediately have to enter a 2nd level of authentication (typically a one time code that is sent via SMS or generated via an authenticator app like Google Authenticator).

Two-factor authentication is available for both Xero and MYOB, and in Australia the use of 2FA will be mandatory for accountants and bookkeepers by 30 June 2018 to meet new industry standards set out by the Australian Tax Office. We’ve been using two-factor authentication with Xero and MYOB and are pleased to report there are no issues with 2FA and the use of fmAccounting Link (Xero Edition) or fmAccounting Link (MYOB AccountRight Edition).

With our fmAccounting Link (Xero Edition) solution we connect to the Xero API via the use of a Private Application, so users are not required to authenticate each time they connect to the Xero API to upload or download data. With fmAccounting Link (MYOB AccountRight Edition) if you are using the MYOB Cloud to host your AccountRight company file you will simply be presented with the additional login page to enter your 2FA code – here’s a screenshot showing this:

You can learn more about two-factor authentication for Xero and MYOB at the following links:

fmAccounting Link (Xero Edition) and the Xero API TLS 1.0 Deprecation

Xero have recently announced that they will be deprecating support for TLS (Transport Layer Security) 1.0 from 30 June 2018. TLS is used to secure communication between partner apps like fmAccounting Link (Xero Edition) and the Xero API. The Xero API will now require partners apps to use TLS 1.1 as a minimum and recommend upgrading to TLS 1.2.

Xero have recently made available a test URL for partner app developers to test their apps to ensure they will continue to work after 30 June 2018. Databuzz is pleased to report that after performing a series of tests using fmAccounting Link (Xero Edition) with the test URL we encountered no issues and were able to authenticate the private application, request data from Xero and upload data to Xero successfully.

fmAccounting Link (Xero Edition) is also already using TLS 1.2 which will most likely become the mandatory minimum version at some point in the future – many of the other APIs that we work with at Databuzz have already made TLS 1.2 the minimum version.

If you have any questions about fmAccounting Link (Xero Edition) and the Xero API TLS 1.0 Deprecation please contact us.

Eliminating Double Data Entry with eCommerce, FileMaker and Accounting Integration

Are you a small business that uses FileMaker to run your business (Contacts, Invoices, Suppliers, Leads etc) but also have an online store and use another accounting software? Do you find yourself re-entering online orders multiple times in your FileMaker CRM then once again in your accounting software?

There is a better way – we know as we once were in that situation ourselves. Over the past five years we’ve introduced a number of new systems into our business operations, including:

  • 2 online stores for our main Databuzz site as well as for our fmSMS product both running WooCommerce
  • switched from a  desktop accounting software to the Xero Cloud accounting platform

We also use the FileMaker platform internally to run our business and like many of our customers we suddenly found ourselves in the position where we had to enter a new sales order multiple times in different systems. The workflow for a new order became:

  1. receive notification via email of a new online order
  2. create a new order in our FileMaker CRM and copy/paste the customer and order details from the email
  3. logon to Xero and create a new Customer and Invoice and enter the Payment manually via copy/paste from FileMaker

The online order was being manually typed twice in FileMaker and our accounting software, leading to data entry errors and wasted time handling the same order multiple times. At Databuzz we like to “eat out own dogfood”  and most of our Products have been the result of a need to solve a problem within our own business that we suspected other businesses would also have. With the help of our fmAccounting Link (Xero Edition) solution as well as fmEcommerce Link (WooCommerce Edition) and the power of webhooks we’ve been able to completely eliminate all data entry for our online orders.

The new streamlined process looks like this:

  1. a new order is created in one of our online stores which triggers a WooCommerce webhook to push that new Order to our internal version of fmEcommerce Link (WooCommerce Edition).
  2. this calls a FileMaker script which then pushes the online order to our internal version of fmAccounting Link (Xero Edition). It checks to see if the customer already exists, otherwise it creates a new one.
  3. a staff member does a quick sanity check to make sure everything looks correct and then clicks a button to upload the new Invoice and Payment to Xero.

We’ve managed to reduce this business process from 5-10 minutes to 5-10 seconds –  this has freed up time to be spent on more productive tasks instead of mindless double data entry. Whether you’re using WooCommerce or Shopify for your online store and Xero or MYOB AccountRight/Essentials for your accounting it is possible to integrate all of these with FileMaker in the middle so that new online orders flow directly into FileMaker and then into your accounting software without any more double data entry.

If you would like to discuss integrating your FileMaker solution with your eCommerce system please contact us for a free initial consultation to discuss your requirements. We also have a number of FileMaker integration solutions available if you would prefer to do the integration in-house:

Databuzz 2017 End of Year Xmas Sale – 20% Off All Licenses

The Databuzz End of Year Xmas Sale is now on – all Product Licenses are now 20% off, including:

The sale runs until the end of the day on the 31st December, 2017 (Australian Eastern Daylight Time). Free trial versions are available for all of our products – please contact us to request a trial version.

All our prices are in Australian dollars – if you’re purchasing from outside of Australia you’ll also get to take advantage of the low Australian dollar (1 Australian Dollar equals approximately 0.75 US Dollars).

Discounts are applied automatically – no coupons required! Click here to start shopping.

We also have a similar sale on fmSMS Licenses (20% off) – click here to visit the fmSMS website for further details.

Webhooks are coming to Xero

Earlier this year Xero announced that Webhooks would be coming to the Xero API, which was exciting news for Xero developers who have been asking for webhooks support for a long time (there is a request from 2010 in the Xero API Customer Feedback site!). Webhooks allow you to subscribe to certain events that happen in Xero: the Contacts endpoint was the first to receive webhooks support and Xero have said they will quickly move to Invoices and other high-use endpoints (hopefully including Payments which our customers would love).

The events that are currently support for the Contacts endpoint are:

  1. Create: A new contact has been created
  2. Update: An existing contact has been updated (including when contacts are archived)

When one of these events are triggered the Xero API sends a HTTPS POST to the webhook’s configured URL – you can then perform the appropriate actions based on the contents of the webhook payload, such as creating a new contact or updating an existing contact in FileMaker.

Xero started a closed beta for the Contacts webhooks which Databuzz was lucky enough to be invited to join and we’ve been working on ways to implement webhooks with our fmAccounting Link (Xero Edition) solution, initially using the FileMaker PHP API. Databuzz has been working with webhooks for many years, for example adding webhooks support to our fmEcommerce Link (WooCommerce Edition) solution to allow new orders to be pushed automatically, and to fmSMS to allow incoming messages to be pushed to FileMaker without requiring users to download these manually. Adding webhooks support to our fmEcommerce Link solution was fairly straightforward – we created a PHP file that uses the FileMaker PHP API and processes the webhook payload to update the existing contact or create a new Contact as required.

We still need to polish these off but we wanted to demonstrate how you could use Contacts webhooks (and Invoices and other endpoints that are supported in the future) with our fmAccounting Link (Xero Edition) solution. If Contacts are created or updated directly in Xero and you need to make the same updates in your FileMaker solution web hooks will save you having to either re-enter these manually or downloads these from Xero via the Xero API.

Check out our video below (or on YouTube) that shows how you can use webhooks to have updates from Xero pushed automatically to fmAccounting Link (Xero Edition) (or your FileMaker solution that you have integrated this into). If you have any questions about webhooks and Xero please post them in the comments below or contact us directly.

Update November 30, 2017: webhooks for Invoices are now available.

fmAccounting Link (Xero Edition) and Public Application Integrations

When we released fmAccounting Link (Xero Edition) back in 2014 we developed it to be used with a Xero API Private Application – this made the most sense at the time and still does for most customers who are only concerned with connecting their custom FileMaker business app with their own Xero organisation. Private Applications are just one of the three different types of API Applications available for the Xero API:

  • Private – connected to a single Xero organisation, doesn’t require user authentication
  • Public -connect to multiple Xero organisations, requires user authentication, 30 minute access limit
  • Partner– connect to multiple Xero organisations, requires user authentication, long term access

One of the main advantages of a Private Application is that your FileMaker users do not need to have a Xero account, so you can allow them to perform specific functions (e.g. uploading Contacts, Invoices, Payments etc from FileMaker to Xero) without having to get them access to Xero itself – the Private Application handles the authentication with Xero for them. This means you don’t have to worry about giving access to confidential business information contained in Xero to all FileMaker users.

There may be times however when you wish to only allow Xero users to upload data from FileMaker to Xero – this would require the use of a Public or Partner application. Databuzz recently took part in Xero’s XD HAX Developer Challenge 2017 and we decided to use this opportunity to explore how a Public Application integration could work. We were focussed on integrating with FileMaker Cloud which runs on AWS and wanted to have a native solution that ran on all the FileMaker clients that FileMaker Cloud supports, including FileMaker Pro for Mac/Windows, FileMaker Go for the iPhone and iPad, and FileMaker WebDirect.

As FileMaker doesn’t have the native functions to perform the OAuth 1.0a authentication that a Private Application type uses we have used a FileMaker plug-in to handle the authentication with the Xero API. FileMaker plug-ins are only supported by the Mac/Windows FileMaker Pro client applications which means they cannot be used by FileMaker Go for iOS (though you can use the iOS SDK to create an iOS application based on FileMaker Go that can include the plug-in).

Using a Public Application type integration means we could remove the dependency on the plug-in as Public applications use the standard 3 legged OAuth process where a user can authorise your application – in Xero’s case this is for 30 minutes, at which point the access token expires.

For our XD HAX Developer Challenge entry we changed the authentication method to use a Public Application integration and took advantage of a number of native FileMaker features, such as using a Card Window to handle the Xero authentication window, and the new cURL and JSON functions to handle the encoding/decoding of data and uploading/download with the Xero API. Here’s a brief video demonstrating how a Public Application integration could work with our fmAccounting Link (Xero Edition) solution:

We would love to hear if this is something that you would be interested in seeing in a future version of fmAccounting Link. We love that we can provide a native solution that runs on all FileMaker clients without a plug-in but are not sure whether customers would prefer the long term access that a private application provides and the benefit of not having to use a Xero login to authenticate.

Xero User Magazine Custom Integration Article

Issue 12 of the Xero User Magazine was released today in time for Xerocon London where Xero announced they have now surpassed a quarter of a million subscribers in the UK, contributing to the more one million subscribers in over 180 countries.

We’re pleased to report that this latest issue of XU Magazine includes an article by Andrew Duncan of Databuzz on ‘The Benefits of a Custom Xero Integration’. You can find the article on page 110 of Issue 12 – you can subscribe for free to the print and digital editions here. The article discusses the benefits of a custom Xero integration, particularly when there is no add-on in the Xero App Marketplace that meets you needs. We also mention examples of integrations we’ve done for customers over the past four years that have helped them eliminate double data entry, for both FileMaker solutions and other applications.

Earlier this year we were approached by an Australian Government agency that was using three different software applications to handle online sales, point of sale merchandise and ticket sales and needed to get the consolidated data into their internal financial accounting software. Xero was used to reconcile all financial data which was uploaded by Vend each night and we developed a custom web application which ran every 24 hours to download the Invoices from Xero and generate a custom XML file which was sent to the internal financial application. This has been running smoothly for many months now and the customer is very happy about the time saved from not having to do any manual re-entry of financial data.

If you would like to discuss a custom integration with Xero please get in touch.

 

fmAccounting Link (Xero Edition) Update August 2017

We’ve been busy over the last couple of months working on some updates to fmAccounting Link (Xero Edition) that fill in some missing gaps with the examples that we include in the fmAccounting Link (Xero Edition) file. For example we’ve always had examples for downloading:

  • Chart of Accounts
  • Tax Rates

from Xero into FileMaker, but some customers have asked for the ability to create and update these from FileMaker to Xero. We’re pleased to report that our latest update – v1.932 – now includes examples for creating Account Codes and Tax Rates in FileMaker and pushing these to Xero. You would typically apply some kind of access privileges around these features so that only authorised accounts users can perform these functions, but the functionality for this is now included in the core fmAccounting Link (Xero Edition) files.

We’ve also updated the Bank Transactions endpoint examples to support creating and updating Bank Transactions (spend or receive money) in FileMaker and pushing these to Xero. This update also includes some minor bug fixes – you can view all the changes in the version history notes.

Last month Andrew Duncan from Databuzz attended #XD17 – the Xero Developer Roadshow – in Melbourne, Australia. There were some great presentations on upcoming features for the Xero API as well as some cool demos showcasing some cutting edge Amazon Web Services integrations with Xero. Xero have also announced that Webhooks are coming to the Xero API, starting with the Contacts endpoint first then followed by Invoices (the two most popular Xero API endpoints). Databuzz have been invited into the closed beta of this and we’ve started work on a PHP solution using the FileMaker PHP API that will accept the incoming Xero Webhooks notifications and trigger an update in the fmAccounting Link (Xero Edition) file. We will post an article with further details about this when Webhooks becomes publicly available.

Xero have also just announced support for JSON when uploading data to Xero via the API – they have previously only supported JSON for downloads (GET requests). Now that FileMaker Pro v16 supports JSON natively this will allow us to add native support for uploading and downloading data between FileMaker and the Xero API.

We also get a number of questions about Invoice Numbers when pushing Invoices from FileMaker to Xero, so we’ve updated our list of Frequently Asked Questions with some details about the options you can use when pushing an Invoice from FileMaker to Xero and whether to allow Xero to generate an Invoice Number to have FileMaker push the Invoice Number across to Xero to use. We’ve also updated our FAQ to include a note about FileMaker Cloud support.