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 (MYOB AccountRight Edition) and AccountRight 2018.1.1

We’ve been testing fmAccounting Link (MYOB AccountRight Edition) with AccountRight 2018.1.1 that was released this week and have not found any issues in our testing so far. We’ve been able to download data from AccountRight and upload data to AccountRight successfully so we don’t anticipate any issues with AccountRight 2018.1.1, but please let us know if you encounter any issues when working with AccountRight 2018.1.1.

MYOB have also recently added a new beta API endpoint for Quotes that will allow you to read, create, update and delete sales quotes via the API. This will work in a similar way to Invoices and Orders, and will be available for all quote layouts including Item, Miscellaneous, Professional, Service and Time Billing. Once the Quotes API endpoint is out of beta and available to all users we will add examples for working with Quotes to the fmAccounting Link (MYOB AccountRight Edition) solution as a free update for all existing customers.

fmAccounting Link (MYOB AccountRight Edition) Updated for Bills

We’ve just released an update to fmAccounting Link (MYOB AccountRight Edition), our FileMaker solution for integrating with MYOB AccountRight in Australia and New Zealand, with examples for working with Bills in MYOB. With v1.25 of fmAccounting Link you can now use FileMaker to:

  • download Bills from AccountRight to FileMaker (either all Bills or filtered by Bill Date)
  • create Bills in FileMaker and upload them to MYOB
  • convert a Purchase Order to a Bill in FileMaker and upload the converted Bill to MYOB

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

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:

Downloading the Xero/MYOB Invoice PDF

Whether you’re using Xero or MYOB AccountRight for your business accounting software there are times when you would prefer to send your customer the Invoice that Xero and MYOB generate natively. For example if you have added an online Payment option to your Xero Organisation you might prefer to send the customer the Xero generated Invoice with the “View and pay online now” link in the PDF for customers to click and pay online with a credit card. Similarly if you’re using MYOB AccountRight you might to send your customer the invoice using one of the MYOB M-Powered layout forms.

For our fmAccounting Link (Xero Edition) solution we’ve already given users the ability to:

  • get the Online URL for an Invoice and include that in an email etc that they send to clients so they can choose the “View and pay online now” option
  • download the Xero Invoice PDF into a FileMaker container field and then save that to the desktop etc or include that in an email to the customer in place of a FileMaker layout based Invoice

We’ve been working on creating a similar feature for our fmAccounting Link (MYOB AccountRight Edition) solution and it will be included in the next update. Like the Xero solution it will allow users to click a button to download the MYOB PDF invoice into a FileMaker container field and then save that to the desktop or include that in an email to the customer. We currently have the ability to download all the Form Templates setup in your MYOB Company File:

and then specify the Printed Form for each Customer in the fmAccounting Link (MYOB AccountRight Edition) file:

 

This is then used as the default when you request the MYOB Invoice PDF, however you can specify a different form template to be used by passing a parameter with the request for the Invoice PDF. Here’s a quick video that demonstrates creating an Invoice and then requesting the PDF from MYOB:

fmAccounting Link (MYOB AccountRight Edition) Now Supports Jobs

We’ve just finished an update to fmAccounting Link (MYOB AccountRight Edition) which now includes examples for working with Jobs, one of the most requested features from our customers. fmAccounting Link shows you how you can use FileMaker to:

  • download Jobs from MYOB to FileMaker (all Jobs or filtered by Start Date)
  • create Jobs in FileMaker and upload them to MYOB
  • update a single Job from MYOB
  • enter a Job against an Invoice Line Item or a General Journal Item
  • download a Job Budget from MYOB to FileMaker and send an updated version back to MYOB

This is a free update for all existing customers. You can view the full release notes on our version history page. 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.

fmAccounting Link (MYOB AccountRight Edition) Updates – my.MYOB Login and General Journals

We’ve been busy working on some updates to fmAccounting Link (MYOB AccountRight Edition) over the past few weeks. fmAccounting Link (MYOB AccountRight Edition) was a popular item during our recent End Of Year sale and we’ve had some great feedback from customers about features they would like to see in future releases.

We’ve just released an updated version of fmAccounting Link  – v1.0.8. As well as the usual bug fixes we’ve added examples for working with the General Journals API endpoint – you can now download, create and update General Journals from FileMaker using fmAccounting Link. We’ve also added support for users that have linked their MYOB Company File User ID to their my.MYOB login – typically this is set using either of the following dialogs in AccountRight:

We couldn’t find anything about working with linked my.MYOB logins in the API documentation and after raising a ticket with MYOB developer support we were informed about the changes you need to make when working with linked my.MYOB accounts. We’ve added a new checkbox to the MYOB Company screen that allows you to flag that you’ll be using a linked my.MYOB login:

which handles the required changes automatically. For existing customers using older versions of fmAccounting Link you can simply disable a single script step to handle working with linked my.MYOB logins – see our FAQ page for details.

We’ve started working on adding examples for working with the JOBS API endpoint and hope to have this completed in the next few weeks. If there are features you would like to se in the core fmAccounting Link (MYOB AccountRight Edition) file please get in touch and let us know. You can view the full release notes on our version history page.

FileMaker and eCommerce Integration – Part 3

puzzle-1152793_1280

In Part 1 of our series on FileMaker and eCommerce Integration we outlined the challenges many small businesses face when they go live with an online store and the new workflow challenges that can create, leading to the prospect of having to do double data entry in multiple places. In Part 2 we showed how you eliminate any double data entry by making your online store visible to your FileMaker solution by using the ESS (External SQL Data Sources) feature of FileMaker Pro/Server, allowing users to see online orders on a normal FileMaker layout.

Not all FileMaker Pro solutions will be able to take advantage of the ESS feature however for a variety of reasons, including:

  • your online store doesn’t use a supported ESS data source
  • your online store hosting provider doesn’t allow remote SQL access
  • your company firewall won’t allow ESS access to the hosting provider
  • you wish to avoid the expense of purchasing ODBC drivers

There are a number of alternatives to having a “live” view of your online orders using ESS which can be broadly defined as either a push or pull approach, whereby data is either pushed from the online store to your FileMaker solution or pulled/downloaded from your online store by your FileMaker solution. Like all solutions there are pros and cons to each approach and the particulars of how your FileMaker solution is hosted will determine which options are available to you.

In the following examples we’re going to be using the WooCommerce plugin for WordPress as it offers both a push and pull API and is a popular eCommerce store, powering over 37% of all online stores at the time of writing.

Push Online Orders to FileMaker – the push approach is usually considered the most optimal solution as it is only invoked when there is new data to transfer, thus reducing the number of unnecessary requests to the online store to check for new orders. In WooCommerce you implement a push solution through the use of Webhooks – Webhooks are are very common form of server event notifications which trigger an action by sending a request to a URL that you specify. WooCommerce has a number of Webhooks that you can activate, for example each time a new order is created.

We’ve helped many customers over the years implement a Webhook solution that works as follows:

  • a new order is created on the customer’s online store
  • a Webhook is triggered which sends the details of the new order as JSON encoded data to a URL (a PHP page) on the customer’s FileMaker Server
  • the PHP file uses the FileMaker PHP API to convert the JSON encoded data into a new customer record, order record and order line items

The customer also receives an email for each new order, which prompts them to open their FileMaker database and review the order details and ship any required products then push the invoice to their accounting software (Xero, MYOB etc). The customer hasn’t had to do any double data entry or query the online store for new orders – everything is pushed through as it happens. It does require the customer to have FileMaker Server with Custom Web Publishing enabled and allow external access to the PHP file hosted on their server.

Pull Online Orders to FileMaker – if the push approach is not a viable option WooCommerce also offers a REST API that you can also use with FileMaker Pro. The WooCommerce REST API allows you to query your WooCommerce online store and retrieve details about customers, orders, products etc, as well as being able to push data from FileMaker to WooCommerce if necessary. A typical solution using the WooCommerce REST API works as follows:

  • customer receives an email notification from the WooCommerce store about a new order
  • customer then clicks a button in their FileMaker solution to query the online store for any new orders since a timestamp (typically the last time they checked for new orders)
  • FileMaker sends a REST API request for any new order details and receives a JSON encoded response from the WooCommerce REST API with details about each order
  • the response is parsed out to create new customer, order and order item records

Once again the customer has been able to eliminate any double data entry and simply has to click a button in FileMaker to get all the new order details.

As we have illustrated in this series there are typically a number of options available when it comes to integrating your online store with your FileMaker CRM, whether that’s a direct live view using ESS or having new orders pushed or pulled into your FileMaker solution. With an integration into your accounting software such as Xero, MYOB AccountRight or MYOB Essentials you can completely eliminate any double data entry for the entire order and sit back and watch as the data flows from your online store to FileMaker and then to your accounting software.

If you would like to discuss integrating your online store with your FileMaker CRM please get in touch for a free initial consultation.


FileMaker and eCommerce Integration – Part 1

FileMaker and eCommerce Integration – Part 2

FileMaker and eCommerce Integration – Part 3

FileMaker and eCommerce Integration – Part 2

shopping-cart-3-1546160-1280x960

In Part 1 of our series on FileMaker and eCommerce integration we outlined the challenges many small businesses face when they go live with an online store and the new workflow challenges that can create, leading to the prospect of having to do double data entry in multiple places.

As a small business ourselves we also experienced this pain when we went live with our own online stores. Our first online store was for our oldest product fmSMS which allows you to send/receive SMS messages from the FileMaker platform – this has always had it’s own dedicated website/domain so it made sense for the store to live on the same site:

http://www.fmsms.com/shop/

A few years ago we also started selling the first of our fmAccounting Link products for the Xero accounting platform and it made sense to sell this via a store on our main Databuzz website:

http://www.databuzz.com.au/shop

So we now currently have 2 online stores located at different domains, but we will eventually merge these together to simplify things. As both stores were built using the WooCommerce plugin for WordPress and hosted with the same web hosting provider, we knew that any integration solution for one of the stores would work for both stores.

For each order that came through the store we need to perform the following actions:

  • check for an existing customer in our company FileMaker CRM and if no match is found create a new Contact record
  • create a new Invoice and associated Invoice Items
  • create a Payment record against the Invoice
  • push a copy of the Invoice to our accounting software (Xero in our case)
  • add the purchaser to a mailing list in MailChimp for future email newsletters/updates

The process starts with an email from the online store letting us know a new order has arrived:

New Customer Order

We would then have to copy and paste all the details into our FileMaker CRM, push the Invoice to Xero using our fmAccounting Link (Xero Edition) integration, then add the customer to the appropriate mailing list in in our MailChimp account. When you’re only dealing with a couple of orders a month you can probably cope with doing things manually, but once you start to get several orders a day you are then impacted by the time it takes to do all of these takes which are also prone to data entry errors. Like us you probably start wondering if there is a better way and can this process be automated.

The good new is that it can and having helped tens of customers in the past overcome similar FileMaker/eCommerce integration challenges so we knew where to start – ESS. ESS is the External SQL Data Sources feature that was first introduced way back with FileMaker Pro v9 and allows you to establish a live two-way connection between FileMaker Pro and the top SQL data sources. ESS originally supported these SQL data sources:

  • Microsoft  SQL Server
  • MySQL
  • Oracle

FileMaker Pro v15 introduced 2 new data sources:

  • IBM DB2
  • PostgreSQL

Most of the popular eCommerce stores are using one of the following backend databases to drive the store:

  • MySQL (used by WordPress/WooCommerce)
  • SQL Server
  • PostgreSQL

These are also supported ESS data sources so you can use the ESS feature to  get your FileMaker CRM talking to your online store. ESS allows you to view your SQL data from within FileMaker – it appears just like normal FileMaker tables. You can create new layouts to view the data, create relationships from your FileMaker tables to your ESS tables, access the SQL data from FileMaker scripts and more (there are some limitations and it does require setting up ODBC drivers – see the Accessing External SQL Data Sources (ESS) Overview and Troubleshooting for more details.

Once you have installed the appropriate ODBC driver and setup the System DSN you can then add an ESS table occurrence to your FileMaker relationships graph, just like you would for your normal FileMaker tables:

ESS Table Occurrences

You will need to have a basic understanding of your external SQL data source structure so you know which tables to add to your FileMaker graph and how they relate – details about WooCommerce can be found here. Once you’ve added your ESS table occurrences you can create new layouts based on each of these and start to view your online store data live in your FileMaker CRM. Here’s some examples showing some of the WooCommerce/WordPress tables that store online order details:

ESS Orders

ESS Orders Meta

ESS Order Items

ESS Order Item Meta

The above screenshots are showing data from 4 of the main tables that are used by WooCommerce to store order details:

  1. posts: this creates a record for each online order. This table is also used to store Product details
  2. postmeta: this stores a number of records related to each order, such as the billing/shipping and currency/tax details
  3. woocommerce_order_items: this stores line item details for each order
  4. woocommerce_order_itemmeta: this stores meta data about each order line item

As you can see by looking at these ESS tables in FileMaker we can see all the data about each order but it is located in at least 4 different tables, making aggregating the details each order so we can easily view the complete order challenging. We could create a number of FileMaker calculation fields to extra details about each order based on the meta_key for Orders and Order Line Items, but that would end up adding a lot of table occurrences and relationships to the graph and create another layout of unnecessary complexity.

There is a better way however that avoids all that unnecessary clutter on the graph – we can use SQL Views to create a more structured view of the SQL data we require. ESS fortunately also supports SQL Views which allow us to create a predefined SQL query that we then add to the relationship graph. We created 2 SQL views for Orders and Order Line Items to gather all the related meta data about each order and order item. When we add these to the graph and view them from a FileMaker layout here’s what we see for Orders:

ESS Orders View

and this for Order Items:

ESS Order Items View

Much better! For each Order we now get 1 record showing all the Order/Customer details, and for each Order Line Item we now get 1 record showing all the details about the Order Line Item, including the Product Price and SKU (the SKU is the same one used in Xero so it’s important that we can pass that through to Xero). We can then create a relationship between these 2 ESS table occurrences to relate an Order to its Order Items by the order_id value:

ESS Relationship

and be able to view a complete WooCommerce online order in FileMaker:

WC ESS Order

We now have a FileMaker layout showing all the details for a single WooCommerce/online order, including Customer Details, Line Item Details and related Product Details. From here’s a simple case of FileMaker scripting to move the data from the ESS tables to the native FileMaker tables (first checking for any existing Customers with the same name) and from there into Xero. We add a button to the Online Order layout to push the online order into out FileMaker CRM which handles all of these tasks, saving us around 15 minutes per online order (we have customers that are getting tens of orders every day so they time savings really start to add up).

If you’re not familiar with ESS it’s important to be aware of the following:

  • you will need to install ODBC drivers
  • if you’re hosting your file with FileMaker Server you can install the ODBC driver once on the FileMaker Server machine for all FileMaker Pro clients to use, which makes deployment a breeze
  • depending on your ESS data source and whether you are on Mac or Windows you may need to purchase the ODBC driver. There’s a full list of compatible ODBC drivers in the FileMaker Knowledge Base
  • you will need to get some documentation that explains how your SQL data source tables are structured so you know which tables to add to the relationship graph
  • when working with ESS tables it’s best to use a “read only” account that won’t let you edit any of the SQL data in case you accidentally edit/delete any of the online order records
  • your company firewall will need to allow access to the ODBC data source port
  • if you’re accessing a MySQL data source you will typically have to setup Remote Access to the MySQL database via your web hosting company (e.g. via cPanel).

In Part 3 of this series we’ll look into the options when you can’t use ESS and how you can still go about integrating your online shop with your FileMaker CRM. In the meantime if you would like to discuss integrating your online store with your FileMaker CRM please contact us.


FileMaker and eCommerce Integration – Part 1

FileMaker and eCommerce Integration – Part 3