1. Documentation /
  2. MYOB Integration

MYOB Integration

MYOB is a powerful accounting suite that is used by businesses all around the world. With the help of our plugin, you can easily connect your WooCommerce store to MYOB AccountRight.

Please note that product Variations are not fully supported. We have released Variation Support Phase 1, which includes exporting variable products in Invoices.

Installation:

↑ Torna in cima
  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
  3. Install Now and Activate the plugin.

Step 1: Accessing the plugin’s settings:

↑ Torna in cima
How to Access the Plugin Settings Page

Upon activating the plugin for the first time, there should be a yellow notice at the top of your screen. Click the link to access the plugin’s settings.

MYOB banner

Alternatively, you can access the settings using the method below:

  1. In your WordPress admin page, navigate to WooCommerce > Settings 
  2. Click the Integration > MYOB AccountRight tab at the top of the screen.

How to Download MYOB AccountRight & Create an Account?

Download MYOB AccountRight & Creating an Account

↑ Torna in cima

If you already have a ‘my.MYOB’ account set up, feel free to skip this step. 

Getting started without an MYOB Account. How to create an account?
  1. Aussies click here and Kiwis click here, to sign up and activate your free trial.
  2. Upon activating your MYOB account, a serial number will be sent to your email address. The email will also include links for downloading MYOB AccountRight.
  3. Go to my.myob.com and select New Zealand or Australia for your country.
  4. You will be asked for the serial number provided in the email sent to you. Enter it into this form along with your other details.
  5. Install the application on your computer using the link given in the email.

Step 2: Linking your website to MYOB AccountRight

↑ Torna in cima
How to Link your WooCommerce Site to MYOB AccountRight

To connect your website with MYOB AccountRight software, you must have an existing account. If not, you will need to follow the steps mentioned here.

  • To integrate the MYOB Integration Plugin, navigate to WordPress Admin > WooCommerce > Settings to connect your WC Store to the MYOB Server
  • Click on Integration > MYOB AccountRight. to access the MYOB plugin settings. 
  • Click the Validate Access button to authorise the connection between WordPress and MYOB.
Where to find the Validate Access button?

WooCommerce > Settings > Integration > MYOB AccountRight

Validate Access to MYOB
Authenticating with MYOB
  • Next, You’ll be redirected and requested to authenticate your WooCommerce website. Click on the link to authenticate.

  • You will be redirected to the MYOB sign-in page. Enter your credentials and click Sign in 
MYOB sign in
  • An authentication successful message will appear. Now, click on Return to Plugin Page for further settings of your MYOB Accountright integration. 
  • Once you return to the MYOB Integration settings page on your WC site, you’ll see company files loaded from your MYOB AccountRight system. This can be seen WooCommerce MYOB AccountRight Integration page WooCommerce > Settings > Integration > MYOB AccountRight. Save changes and go to the next step.

Step 3: Connecting your Company File in the Admin Page Settings

↑ Torna in cima

Company File Username and Password

You will now need to enter the company file username and password for your specific company file. This will be set up when the company file is created.

What if you do not know your Company File Username and Password?

If you do not know the Company File username and password please try the following options: 

  1. Use the default Company File Username (‘Administrator’) and leave the password field blank. 
  2. Contact your MYOB Account Manager and request the details required. 

Enter your Company file username and password to connect your store via your account and click save Changes at the bottom of the plugin tab. If the default company file username and password do not work this means the password has been updated, please contact MYOB. 

Note: Leave the password filed for the company file password empty if you haven’t set it. Keep it blank.

Step 4: Reload Accounts List

↑ Torna in cima

Load account lists by clicking Reload Account List. You can click the button anytime when needed to reload accounts again.

How to Reload the Accounts list?

Company File

↑ Torna in cima

If you have multiple company files, you can select the one you wish to use for this instance of WooCommerce using pulldown menu.

If you choose another company file you will be required to re-enter the company file details, including the Company file Username and Password. 

MYOB Plugin Settings and Configuration

↑ Torna in cima

Customer ID Prefix

↑ Torna in cima

When a new registered WooCommerce customer is synced in MYOB, the plugin will create the customer record in the accounting system.   In order to distinguish between customers from your WooCommerce site and customers who are from other channels, a prefix is added to the WooCommerce Customers’ “Card ID” in order to generate a unique ID in MYOB.

What field does the Customer Display ID Prefix sync to in MYOB?

By default, the prefix is WOO-, so for example, a customer with user id number 4 in WooCommerce will have a Card ID of WOO-4 in MYOB.

Guest Customer Display ID

↑ Torna in cima

WooCommerce allows users to purchase either as a registered user or as a guest.   In MYOB however, all invoices need to be associated with a Customer.  As a merchant, you can decide to either create new customer records for each guest purchase or use a single customer record for all guest purchases.

If you enter an ID in this field, all guest purchases on WooCommerce will be assigned to that customer in MYOB.   For example, you can create a Customer in MYOB called “Online Purchases” with the Display ID “ONLINE”.   All guest purchases will be assigned to this new “ONLINE” customer record in MYOB.

If you enter data in this field but do not create a customer record in MYOB, the plugin will create a guest account with the given Display ID in MYOB, with the name “Guest Guest”.

Can the plugin assign all new invoices and orders to a single customer card?

No, assigning all customers to a fixed Customer Card is not supported with the current plugin settings.

Invoice Display ID Prefix (required option)

↑ Torna in cima

To distinguish between online WooCommerce sales and other channel sales, a prefix is added to the order number in WooCommerce to generate a unique order number in MYOB.

By default, this prefix is set to “WOO-”.

invoice display id prefix for MYOB invoices

For example, if for order 112 in WooCommerce, the corresponding invoice in MYOB will be WOO-112.

Sync Period

↑ Torna in cima

Select the number of days to let this plugin periodically sync to your MYOB AccountRight automatically.

General Ledger Accounts and Tax Accounts

↑ Torna in cima

The specific accounts where financial transactions are posted are managed entirely by MYOB. However, if a product has been created in WooCommerce, but cannot be found in MYOB, a new product record will automatically be created in MYOB.  In that case, the chosen accounts will be stored with that product.

Important:  This is only used when the plugin in the MYOB system initially creates a product.  To change any account, go into MYOB and update.   The plugin will not update accounts on existing products or override account settings in MYOB.

Income Account

↑ Torna in cima

This is the account where income is booked. Select the default income account to use for new products created by the plugin automatically in MYOB if they do not already exist. This setting will be ignored for products already in MYOB and instead, the chosen income account in MYOB will be used.

Default MYOB Invoice Type

↑ Torna in cima

If there are multiple types of MYOB product types within an order (Items, Service, Professional), then a MYOB invoice of this type will be created.

Cost of Sales

↑ Torna in cima

This is the account where the cost of sales is booked. Select the default income account to use for new products created by the plugin automatically if they do not exist in MYOB already. Cost of sales account is only used for “inventoried” items.

Asset Account

↑ Torna in cima

This is the account where inventory values are booked. Select the default asset account to use for new products created by the plugin automatically. If they do not exist in MYOB already, the asset account is only used for “inventoried” items. Please ensure that the account selected is registered as a bank account in MYOB.

Default Tax Code for New Products

↑ Torna in cima

This is the tax code for the purchase of new products. Select the default tax code to use for new products that is created by the plugin automatically in MYOB if they do not exist. This setting will be ignored for products already in MYOB and instead, the chosen income account in MYOB will be used.

Default Tax Code for Line Items

↑ Torna in cima

Select the default MYOB tax code to use for line items with an unrecognized tax code. If a line item appears with an unrecognised tax code, then the one selected in this dropdown menu will be used for that item.

Freight Tax Code

↑ Torna in cima

This is the tax code for any freight charges associated with the purchase of the item. Select the default tax code for freight charges, which will be used independently of any settings in MYOB.

Job Code

↑ Torna in cima

Select the default job number of the job you want your orders to be assigned to in MYOB.

Syncing with MYOB Integration Plugin

↑ Torna in cima

Sync Product Button

↑ Torna in cima

Click this button to download the inventory counts from MYOB and update them in WooCommerce.   This can take a few minutes to complete depending on the number of products you have configured.

Allow MYOB to Set the Invoice Number

↑ Torna in cima

If you want to allow MYOB to set the invoice number rather than passing WooCommerce order number check this option.

Create Product in MYOB if not Found

↑ Torna in cima

Myob will create a product if it doesn’t exist in its inventory by checking this option.

Save Guests in MYOB Based on their email or User ID

↑ Torna in cima

Creates a MYOB customer file for guest users in WooCommerce based on their email. However, the user ID will be selected instead if the email is already taken.

Create Closed Invoices

↑ Torna in cima

If selected, invoices created by WooCommerce will be closed, otherwise they will remain open. If orders are set to be created instead of invoices, this setting will be overridden regardless of selection.

Note: a bank account (in asset accounts) must be selected to create closed invoices. 

Create Orders Instead of Invoices

↑ Torna in cima

If checked, a MYOB order will be created instead of a MYOB invoice for WooCommerce purchases.

Create Orders when on-Hold

↑ Torna in cima

Select “create orders when on-hold” if you want to create orders in MYOB even with on-hold status in WooCommerce 

Set MYOB Default Customer Designation

↑ Torna in cima

If selected the default designation of the customer will be selected in MYOB. Uncheck if you want to select the designation of the customer to “Company” if they write a company name while checking out in your Woo store.

Enable Debug Logging

↑ Torna in cima

This checkbox enables extended logging in case you are having trouble connecting to MYOB. This will have information valuable to Web Developers but can quickly fill your hard drive with detailed information on each transaction.

MYOB Sync Settings Page Overview:

↑ Torna in cima
  1. Sync Product Inventory Button: Used to initiate product inventory sync. 
  2. Only Sync MYOB Item Inventory: Toggle this option to enable/disable if you would like to sync other data including sales orders, invoices and other data. Enabling this option will only sync the product inventory and disable the other data. 
  3. Stop Auto Product Inventory Sync: Toggle this option to stop the Product Inventory level sync. Enabling this option will stop the products and inventory levels from syncing between MYOB and WooCommerce. 
  4. Automatically copy products from MYOB to WooCommerce: Enable this feature to create products in WooCommerce if they already exist in MYOB. All products with a valid SKU number will be synced. 
  5. Do Not copy inactive products from MYOB to WooCommerce: Enable this feature if you only want active products to be copied from MYOB to WooCommerce. Any products that are inactive in MYOB will not be copied across. 
  6. Number of Records Fetch Product Per Request: Input the number of products to be synced during batch syncing. For most people, this can be left to the default value. For inventories with 10,000+ products, this option can be configured accordingly.

FAQs

General Errors

↑ Torna in cima

If you are encountering MYOB invoice creation issues please check this section to understand the different error messages.  

Help with Error 401: Authorisation fail responses from MYOB when creating orders in MYOB from WooCommerce.

Error 401 is an authentication error. This means the plugin is not connected to your MYOB Account. 
 
Please try disconnecting and reconnecting to the MYOB Company File. Please recheck your MYOB connection by deactivating the plugin and reconnecting to MYOB.

Help with Error 400: How to troubleshoot MYOB Error 400?

Error 400 is a general bad request error. Bad requests return a message indicating the reason for failure. Individual errors are included in the table below.

Understanding Error 400 and the Error Messages:

Error 400

Explaination

Solution

Name => ValidationError
Message => CommonRules_StringRequired
AdditionalDetails => ItemNumber:(Item)
ErrorCode => 1000
Severity => Error

You haven’t set valid “SKU” and “stock quantity”. For creating a new Item in MYOB, both values are required

Update products with valid “SKU” and “stock quantity”.

Name => InvalidTaxCode
Message => Cannot use ‘Import Duty’ or ‘Input Taxed’ code on Sales
AdditionalDetails => Lines[0].TaxCode.UID
ErrorCode => 32002
Severity => Error

“Default Tax Code for New Products” option under WooCommerce >Settings >MYOB AccountRight is not set correctly.

Change the default setting option “Default Tax Code for New Products” value.

“Name”: “SerializationError”
“Message”: null
“AdditionalDetails”
“Error converting value {null} to type ‘System.Guid’. Path ‘Lines[0].Item.UID’, line 1, position 454.”,
“ErrorCode”: 50,
“Severity”: “Error”,
“LearnMore”: null

Ordered items are not found in the MYOB dashboard and under WooCommerce >Settings > MYOB AccountRight  “Create Product in MYOB if Not Found” option is disabled.

Enable “Create Product in MYOB if Not Found”. 

How to enable the Debug Logs?

Are variable products supported?

Please note that product Variations are not fully supported. We have released Variation Support Phase 1, which includes exporting variable products in Invoices.

The MYOB request returned a 404 and this message “The Company File version is not supported.”?

With this kind of error, we suggest that you upgrade your MYOB AccountRight Company file

Please see MYOB’s downloads page to download and install the latest version of AccountRight.

How to re-sync products?

Clicking the Sync Product button will resync the products, which can be found under the MYOB settings page in WooCommece  > Settings > IntegrationsMYOB Integrations.  

How are Customers Synchronised?

A customer record is maintained in both WooCommerce and MYOB.   The customer “Display ID” is used to identify a customer in both systems.   The display ID is a combination of the WooCommerce customer ID (a number) and a prefix, chosen by you.

Workflow Question: Customer exists in WooCommerce but not in MYOB.

In the case where a customer record is in WooCommerce but could not be found in MYOB, the plugin will automatically create the customer record in MYOB.

If a store customer updates their customer account information in WooCommerce will this update in MYOB?

No, the customer address and other information are not after the first invoice sync.

Workflow Question: How does the plugin sync invoices and customers who are guests in WooCommerce?

In the case where a customer record is in WooCommerce but cannot be found (search by keyID: Email) in MYOB, the plugin will automatically create the customer record in MYOB.

Customer is a Guest in WooCommerce

↑ Torna in cima

For purchases by guests in WooCommerce, there are two options.   The first is to assign all purchases made by guests to a specified “guest customer” record in MYOB.  The actual purchaser’s name will appear in the Memo field for the invoice in MYOB.

The second option is to have a new customer record created for each guest purchase in WooCommerce.

These are controlled by the Guest Customer Display ID option on the admin screen.

Note: If a customer updates their address or other information in WooCommerce, it is not automatically updated on MYOB.
How are products synchronised?

Products are synchronised by matching the SKU field in WooCommerce and the Item Number field in MYOB. 

Important:  If the SKU is not set in WooCommerce, the orders will not appear in MYOB.

Normally, you should create products in MYOB first, then create a matching product in WooCommerce with an SKU that matches the Item Number in MYOB.   However, if you forget to do this, the plugin will automatically create a product record in MYOB the first time a customer attempts to purchase the item.

When a customer purchases an item on WooCommerce, the total available product is adjusted on both WooCommerce and MYOB.   Because you may be selling products via other channels, or you may have to adjust inventory due to losses or other reasons, these two counters can occasionally get out of sync.

When you click the “Sync Product” button on the admin screen, the plugin will download a list of all products on MYOB and update any corresponding products on WooCommerce with the latest quantity information.

In all cases, MYOB is expected to be the “official” count of available inventory. Because adding new inventory randomly from WooCommerce will impact your inventory valuation, inventory counts are always “one way” from MYOB to WooCommerce.

Are Products all required to have SKUs?
Important:  If the SKU is not set in WooCommerce, the orders will not appear in MYOB.

Yes. All products require unique SKUs.

How are products synchronised?

↑ Torna in cima

Inventoried vs. Non-Inventoried Products

↑ Torna in cima

When you create a product in WooCommerce, you have an option to “Manage Stock?”.   If this is a product you wish to sync inventory numbers for, you MUST enable this setting.

This is particularly important if you do not create the MYOB product entry first.  In this case, the plugin will create a product record in MYOB when the first customer purchases the item.   This will be produced as a “non-inventoried” item in MYOB. 

Note: MYOB does not allow you to move a product from “non-inventoried” to “inventoried”.

Invoices not syncing- How do I re-sync my products?

↑ Torna in cima

Clicking the Sync Product button would resync the products, which can be found under the MYOB settings page in WooCommece  > Settings > IntegrationsMYOB Integrations.  

How are Customers Synchronised?

↑ Torna in cima

A customer record is maintained in both WooCommerce and MYOB.   The customer “Display ID” is used to identify a customer in both systems.   The display ID is a combination of the WooCommerce customer ID (a number) and a prefix, chosen by you.

The customer is in WooCommerce but not in MYOB

↑ Torna in cima

In the case where a customer record is in WooCommerce but could not be found in MYOB, the plugin will automatically create the customer record in MYOB.

The customer is a Guest in WooCommerce

↑ Torna in cima

For purchases by guests in WooCommerce, there are two options.   The first is to assign all purchases made by guests to a specified “guest customer” record in MYOB.  The actual purchaser’s name will appear in the Memo field for the invoice in MYOB.

The second option is to have a new customer record created for each guest purchase in WooCommerce.

These are controlled by the Guest Customer Display ID option on the admin screen.

Note: If a customer updates their address or other information in WooCommerce, it is not automatically updated on MYOB.

How are products synchronised?

↑ Torna in cima

Products are synchronised by matching the SKU field in WooCommerce and the Item Number field in MYOB. 

Important:  If the SKU is not set in WooCommerce, the orders will not appear in MYOB.

Normally, you should create products in MYOB first, then create a matching product in WooCommerce with an SKU that matches the Item Number in MYOB.   However, if you forget to do this, the plugin will automatically create a product record in MYOB the first time a customer attempts to purchase the item.

When a customer purchases an item on WooCommerce, the total available product is adjusted on both WooCommerce and MYOB.   Because you may be selling products via other channels, or you may have to adjust inventory due to losses or other reasons, these two counters can occasionally get out of sync.

When you click the “Sync Product” button on the admin screen, the plugin will download a list of all products on MYOB and update any corresponding products on WooCommerce with the latest quantity information.

In all cases, MYOB is expected to be the “official” count of available inventory. Because adding new inventory randomly from WooCommerce will impact your inventory valuation, inventory counts are always “one way” from MYOB to WooCommerce.

Inventoried vs. Non-Inventoried Products

↑ Torna in cima

When you create a product in WooCommerce, you have an option to “Manage Stock?”.   If this is a product you wish to sync inventory numbers for, you MUST enable this setting.

This is particularly important if you do not create the MYOB product entry first.  In this case, the plugin will create a product record in MYOB when the first customer purchases the item.   This will be produced as a “non-inventoried” item in MYOB. 

Note: MYOB does not allow you to move a product from “non-inventoried” to “inventoried”.

Do you offer a plugin demo?

Do you offer a plugin demo? 

Click the button below to access a demo MYOB for WooCommerce Plugin: 

  1. On the Demo site, you will be taken to the WooCommerce plugins page with the MYOB plugin already installed.
  2. Access the MYOB Plugin Demo Site and test the following main workflows to get started with the Plugin :
    1. MYOB Plugin Settings Page – To access the MYOB Plugin Settings Page navigate to:

      WooCommerce > Settings > Integrations > MYOB Settings. 

      Please note some settings will be hidden until you configure your MYOB Account under the Connection Settings.


    2. MYOB on Order Pages – To access the MYOB Plugin sync features create an order and navigate to the order page. On the right-hand side you will see additional features under the order actions drop-down relating to syncing your Orders with MYOB:

      WooCommerce > Orders >Resync order to MYOB (Meta Box Dropdown: Order Actions )


    3. Sync MYOB Products using the Plugin – Clicking the Sync Product button will sync/import products between MYOB and your Store. This can be found under the MYOB settings page:

      WooCommerce  > Settings > IntegrationsMYOB Integrations.  


How to resolve issues with Company File Connection?

This issue usually occurs if you migrate a site from one domain to another, or a staging site to a live site.

Migrating this across can cause connection issues.

As such, if this is the cause, you would have to clear all the options settings which is only doable at present by please disabling and deactivating the plugin and then reactivating the plugin. Finally, please recreate the connection to MYOB. 

How to resolve issues with Company File Connection?

This issue usually occurs if you migrate a site from one domain to another, or a staging site to a live site.

Migrating this across can cause connection issues.

As such, if this is the cause, you would have to clear all the options settings which is only doable at present by please disabling and deactivating the plugin and then reactivating the plugin. Finally, please recreate the connection to MYOB. 

How to resolve issues with Error 404: General error for resource not found.

With this kind of error, we suggest that you need to upgrade your MYOB AccountRight Company file

Please see MYOB’s downloads page to download and install the latest version of AccountRight.

Error 403: Forbidden – Cause: Company File Username or Password is Incorrect.

Please check this with your MYOB Admin. Please know that there is no conflicts with the Authentication Functions.

Error CodeCause Solution
403 ForbiddenThe company file username or Password is wrong.Please check this with your MYOB Admin.
400 Bad RequestGeneral request error due to incomplete information. Check all information is set in the plugin configuration including tax, accounts, customers and products within the order.
404 General error for resource not found, With this kind of error, we suggest that you need to upgrade your MYOB AccountRight Company file

Please see MYOB’s downloads page to download and install the latest version of AccountRight.
QuestionsSolution
Does the MYOB Plugin support backorders? At the moment, we do not have support for MYOB Backorders. 
We have products with tiered pricing, will the plugin sync and support these products? At present this is not supported in the plugin and would require customisation. Reach out to OPMC support for more details.
I would like to update product in WooCommerce, including Product Images, Descriptions, Prices and Stock levels and have this reflected in MYOB. Can the plugin do this? No, the plugin will not sync product images and descriptions. The MYOB plugin will only sync the product name, product price and inventory (if enabled and entered).

It will also import and update any number of products (we have recently implemented batch processing also), however this is limited to Product Names and Inventory/Stock Count only.
How does the plugin handle product attributes in WooCommerce and will these be synced to MYOB? The plugin does not sync or manage product attributes in WooCommerce or MYOB.
When I update a product details (Description, Image, Stock level, or Price) will this update in MYOB? Yes, the plugin supports automatic updating based on SKU code. This is a feature which can be toggled and configured to be enabled or disabled.

When enabled this will import the product price and product inventory level only.
I would like all orders from my WooCommerce store synced to my MYOB account. Will the plugin sync these orders? The plugin will sync all orders when they contain products which are synced to the MYOB system. The orders will be synced and status visible on the order details page, you can also manually sync each individual order.
Can I sync a product with a name more than 30 characters long? No, all products and product names are required to be less than 30 characters. This is unfortunately a limitation of the underlying MYOB API.

Please refer to: https://help.myob.com.au/prem19/win/impexptables.htm

Orders which contain products with names greater than 30 characters will fail to sync.
Can I sync a Customer Card Contact Name with a name more than 25 characters long? No, all customer names are required to be less than 25 characters. This is unfortunately a limitation of the underlying MYOB API.

Please refer to: https://help.myob.com.au/prem19/win/impexptables.htm