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.

FileMaker 16 Certified Developer

Databuzz is pleased to announce that Andrew Duncan recently passed the Developer Essentials for FileMaker 16 Certification Exam and is now FileMaker Certified in v8, 9, 10, 11, 12, 13, 14, 15 and 16. FileMaker 16 Certification is the official credential offered by FileMaker, Inc.

FileMaker Certification is your validation that you are hiring an experienced FileMaker professional who has technical knowledge of the complete FileMaker product line and has passed the “Developer Essentials for FileMaker” certification exam. Being a certified developer demonstrates to clients, peers and management that you’ve achieved an essential level of knowledge, experience and skills in developing FileMaker solutions.

Using Postman Environments and Tests with the FileMaker Data API

One of the new features of FileMaker Server 16 and FileMaker Cloud 1.16.0 is the FileMaker Data API – currently in trial mode which expires on September 27, 2018. The FileMaker Data API is an application programming interface (API) that allows web services to access data in hosted FileMaker solutions and conforms to Representational State Transfer (REST) architecture, making the FileMaker Data API a REST API.

You can use the Data API to integrate your FileMaker solutions with other applications and services – REST APIs are the current standard for integration and the Data API will be the replacement for the current XML and PHP APIs.

Your web service or application calls the FileMaker Data API to obtain an authentication token for access to a hosted solution, then uses that token in subsequent calls to create records, update records, delete records, and perform find requests.The FileMaker Data API returns data in JavaScript Object Notation (JSON), another standard that is used with REST APIs for data formatting (and is also supported by FileMaker Pro v16).

A great tool to use when testing REST calls with the Data API is Postman, a free app for macOS, Windows and Linux (paid versions are also available). Postman allows you to make requests (GET, POST, PUT etc) to a REST API like the FileMaker Data API and inspect the response, including the headers. You can quickly make changes to the requests and headers that you send and compare the results – when working with REST APIs a tool like Postman is indispensable.

As mentioned above the FileMaker Data API requires you to obtain an authentication token when first accessing a FileMaker solution – the access token is valid until you log out of a solution or for 15 minutes after the last call that specified the token. While the token is valid, each call that specifies the token resets the session timeout counter to zero. To save you from having to manually copy and paste your token with each new request you can use some features of Postman to save your from having to manually update any variables in your requests manually, including the Data API access token.

Postman lets you setup multiple “environments” that can contain multiple variables fore each environment, such as the host address URL. For example you might have a development environment and a production environment, each with their own host address and other variables. In Postman I would simply have a POST request URL like this:

https://{{server}}/fmi/rest/api/auth/Tasks

and in each Postman environment I would specify the value for the {{server}} variable. When you make your request by hitting the Send button in Postman it will insert the appropriate value for each variable you’ve specified. You can read all about setting up Postman environments and variables in the Postman docs.

As you can’t specify the Data API access token in advance you can use another great feature of Postman to dynamically create the token variable which is then used in subsequent API requests. Your initial request to authenticate/login will look like this:

{ "user":"admin", "password":"admin", "layout":"Tasks" }

and if successful the response will look like this:

{ "errorCode": "0", "layout": "Tasks", "token": "fdde29fa175eb1cc8347512ca327b191619fc32ed65efaab26d8" }

Using the Tests feature when making a Postman request you can execute some JavaScript code after the request is sent to dynamically create a token variable that you can use with your subsequent API calls without having to copy and paste the token each time. Here’s a screenshot of how you would set this up in Postman for the Data API authentication request:

The JavaScript code you can copy/paste is:

var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", data.token)

Using Postman environments and Tests to update the token variable makes working with the FileMaker Data API much easier and should save you a lot of time.

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.

fmEcommerce Link (WooCommerce Edition) Update

We’ve just released a minor update to fmEcommerce Link (WooCommerce Edition) – v1.34 – that includes one new feature and one bug fix:

  • we’ve updated the Get Orders download script to check for any previously downloaded Orders with the same WooCommerce ID and skip them if present. This makes it easer to download new orders multiple times a day without having to worry about ending up with duplicate Orders
  • we’ve fixed a bug that was failing to delete the Products Meta Data records when updating a Product from WooCommerce

Once again this is a free update to all our existing customers – you can get the full details of the changes in the release notes for fmEcommerce Link (WooCommerce Edition). Existing customers can download this new version using their existing download links from their original order – please contact us if you have any issues downloading this update.

fmAccounting Link (MYOB AccountRight Edition) Updated for Purchase Orders

An updated version of fmAccounting Link (MYOB AccountRight Edition) has just been released which now includes examples for working with Purchase Orders, which has been a popular request from our customers. fmAccounting Link shows you how you can use FileMaker to:

  • download Purchase Orders from MYOB to FileMaker (all Purchase Orders or filtered by Purchase Order Date)
  • create Purchase Orders in FileMaker and upload them to MYOB
  • update a single Purchase Order from MYOB

This is a free update for all existing customers. You can view the full release notes on our version history page.

Our next update will include examples for working with Bills in MYOB and FileMaker. We’re also planning an update that will be ‘plug-in free’ for FileMaker v16 users, allowing you to use the fmAccounting Link (MYOB AccountRight Edition) solution natively under FileMaker Pro,  FileMaker Go and FileMaker WebDirect without having to install and manage plug-ins. The FileMaker v16 platform introduced some new cURL options and JSON functions which will allow us to perform the same functions as the plug-in provides when using FileMaker v16 – earlier versions of FileMaker will still need to use the plug-in functions.

If there are other features you would like to see in the core fmAccounting Link (MYOB AccountRight Edition) file please get in touch and let us know.

FileMaker Cloud Joins the FileMaker 16 Platform

FileMaker, Inc. today announced availability of the latest version of FileMaker Cloud, its cloud platform for managing and running custom apps that runs on the Amazon Web Services Cloud. With this release (1.16.0.55), FileMaker Cloud joins the FileMaker 16 Platform and it is available in the US, Canada, Europe, Japan and Australia.

This release of FileMaker Cloud requires FileMaker 16.0 clients at a minimum – if you’re using FileMaker v15 clients you will need to upgrade to v16 in order to access hosted solutions on FileMaker Cloud 1.16.0.55. You can read the full release notes here.

The new release includes a number of integration, security and development features:

  • FileMaker Data API trial: Use FileMaker data in other popular apps and services with the REST-based FileMaker Data API in FileMaker Cloud during the trial period.
  • Tableau Web Data Connector for FileMaker: Better visualize FileMaker data with the Tableau Web Data Connector for FileMaker. The connector uses the FileMaker Data API trial to provide integration with Tableau Desktop.
  • FileMaker Admin API trial: Help manage and administer custom apps with the REST-based FileMaker Admin API trial in FileMaker Cloud. Create messages and script schedules, open and close apps, and more.
  • OAuth 2.0 support for accounts: Simplify credential management with OAuth 2.0 using third-party authentication providers. Use existing Amazon, Google or Microsoft Azure account credentials to log in to FileMaker custom apps.
  • PDF support: Generate PDFs of layouts and data from FileMaker WebDirect. Save and print PDFs of invoices, labels, badges and more, just like with FileMaker Pro.

For more information on the differences between FileMaker Cloud and FileMaker Server check out our previous article on FileMaker Cloud as well as FileMaker Inc’s comparison between the two products. This release of FileMaker Cloud brings the ability to schedule scripts via the new FileMaker Admin API trial which was one of the missing gaps when compared to FileMaker Server. FileMaker Cloud does not support Custom Web Publishing with PHP and XML and FileMaker Inc. have stated that this will not be supported by FileMaker Cloud in the future – the FileMaker Data API will be the focus as far as API integrations are concerned so developers should focus their efforts here.

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.