Syncing with MYOB Integration Plugin

Syncing with MYOB Integration Plugin

↑ Back to top

Sync Product Button

↑ Back to top

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

↑ Back to top

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

↑ Back to top

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

↑ Back to top

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

↑ Back to top

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

↑ Back to top

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

Create Orders when on-Hold

↑ Back to top

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

↑ Back to top

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

↑ Back to top

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:

↑ Back to top
  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.

Variable Product Support

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

Handling Variable Products

↑ Back to top

Exporting Invoices is now support for both simple and variable products, the MYOB Plugin will successfully export the Invoice and products between WooCommerce and MYOB, the plugin performs the following steps:

1. Identification of Variable Products:

  • The plugin first identifies if a product in WooCommerce is a variable product. This is done using the is_type(‘variable’) method on the product object.
  • If the product is identified as a variable product, the plugin checks whether variation support is enabled using the $this->support_variation_product flag.

2. Retrieving Variation Data:

  • The plugin retrieves all child variations of the parent product using the get_children() method. Each variation is treated as a separate entity during the invoice export process.
  • For each variation, the plugin fetches its unique SKU using get_sku(), which is crucial for identifying the variation in MYOB.

3. Exporting Variations with MYOB:

Product Name:

  • The name used for each variation in MYOB is derived from the parent product’s name in WooCommerce. WooCommerce does not create distinct names for variations; instead, the parent product’s name is combined with the variation attributes to represent each variation.
  • During the Invoice Export, the product name is fetched using $product->get_name(), which typically returns the parent product’s name.

SKU and Attributes:

  • Each variation is distinguished by its unique SKU only. The plugin ensures these SKUs are used when syncing the product to MYOB.

Inventory Management:

  • The plugin checks if the variation exists in MYOB by comparing the SKU. If a variation is not found in MYOB, the plugin automatically creates it as a new inventory item.
  • If stock management is enabled for the product in WooCommerce, the variation will be created as an inventoried item in MYOB with appropriate quantity values (QuantityOnHand and QuantityAvailable).

4. Logging and Error Handling:

  • The plugin includes comprehensive logging to track the synchronization process. Any errors encountered during the syncing process, such as failed product creation or inventory mismatches, are logged, and appropriate error messages are generated.
  • If a variation fails to sync, the plugin logs the error and, depending on the configuration, may attempt to retry or notify the administrator.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.