WooCommerce Product SKU Codes
By default WooCommerce does not create the commonly used SKU codes and leaves them blank. SKU stands for Stock Keeping Unit and is a general term for unique product identifier. Instead WooCommerce uses the Post ID for the product which is a unique identifier from the database and is NOT the SKU. To add SKU’s you need to edit each product individually or much quicker and easier upload them from a spreadsheet. Just to confuse matters even more there are also UPC (Universal Product Code), MPN (Manufacturers Part Number) codes or GTIN (Global Trade Identification Number) which are all globally unique and verifiable bar codes that are needed for listings on Google and Amazon. These are issued by the manufacturers who purchase them from the global industry players. SKU’s can be created by yourself in whatever format you wish but ideally should not contain any spaces or special characters eg”/\>< ” etc as these can cause problems when used and parsed in WooCommerce, Xero and Xeroom – we have added tests to allow a wider set of characters to be parsed beyond regular alphanumerics.
Xero Product Item Codes
Any product listed in Xero must have an Item Code against which is stored accounting, inventory and other data. The logical and most useful choice is to use your SKU for this purpose although you could use the WooCommerce Post ID if you preferred. You need to design an SKU numbering system that is easy to use and remember so that in case of any problem they can be quickly identified and referenced. The easiest way is to set a numbering scheme that takes 2 letters each for the product brand, category, model, colour and size. This can be compiled in a spreadsheet and then uploaded into Xero from a CSV format file. The same codes can also be loaded into WooCommerce using the WooCommerce product importer which is now a pretty good tool or one of the many third party data-loading plugins that are available such as WP All-import. If you have an existing install of Xero of WooCommerce then you can download what you have already, modify/correct the codes to be consistent with your number system and then reupload them.
Xeroom Use of Product Codes
When Xeroom posts an invoice to Xero it looks for the product item code for each line in your WooCommerce order. If the code exists then it will pick up the information in Xero for that product (ie price, description, inventory etc) and use it in the invoice or else copy across the product information from WooCommerce. If the code does not exist in Xero then Xeroom will create a new code using the SKU or Post ID as a fall-back from WooCommerce and then go on to complete the invoice creation process which would otherwise be rejected by Xero. This means that you don’t have synchronizations failing due to missing codes which can easily happen if you add new products in Xero or WooCommerce and forget to update the other system. Xeroom does this on an order-by-order basis during the checkout process.
Xeroom Global Product Synchronizations on a Schedule
Xeroom has powerful features for syncronizing all of the product or inventory data for all products on a schedule which can be daily, hourly or real-time (every 5 minutes) basis. The Global Product synch is useful for initial setup if you have all the products in WooCommerce or Xero and wish to populate the other side. Xeroom holds the Xero accounts that each product maps to at product level in WooCommerce. It also shows the Xero Tracking Category if used along with drop-down lists of valid values. Also in this section is a flag that is set for the product to be used in the Global Synch (which can easily be set by exporting all the products to a spreadsheet, adding the flag for those to be synched and then imported back). These can be left blank if the general default settings are sufficient as set in Xeroom General Settings.
The Global Synch can be run either way ie WooCommerce to Xero or vice-versa and can be set to either update price only (to cater for price changes) or else set to price & description so that any new products added to either WooCommerce or Xero will be posted to the other. Note when on a schedule it is run in one-direction only so be clear on your process for updating products overall.
Xeroom Global Product Synchronizations on a Schedule
Inventory values are held in Xero against each product Item Code that is set to be tracked. Tracking can be manually turned on in Xero which means that inventory values will be noted for each sale, return or purchase or disposal. Inventory cannot be synchronised between WooCommerce and Xero for any product that is not tracked and any product that is tracked that has transactions against it cannot be deleted. See separate guide on Inventory Synch.
Once set-up Xeroom can synchronize all tracked inventory items on a schedule in one go in the same manner as the product prices and descriptions. Batch sizes enable management of the process should any errors occur as does the black listed SKU option since Xero doesn’t provide much visibility on reasons for products not synching.
For orders and refunds Xeroom will synch the inventory into Xero or check that it is available in Xero before allowing an order to be placed (unless back orders are allowed in WooCommerce).
Bulk Product Upload Service
Beware that making bulk changes to products in Xero can be tricky as the export and import process is pretty crude using CSV files. Also if any transaction exists in Xero that uses an Item Code then the Code cannot be deleted due to audit trail requirements. For this reason the product item code list in Xero can get very untidy if housekeeping rules are not observed. As part of the installation process we can assist you with our low fixed-price product upload and data transfer process by downloading all the existing codes as a spreadsheet for you to edit and then re-uploading the new/revised SKU codes into both Xero and WooCommerce. Order here.