WooCommerce
WooCommerce is an e-commerce platform offering sales order, inventory, and customer management.
Overview
Acctivate can be integrated with your WooCommerce store using our pre-configured WooCommerce web store template.
The template is easy to setup and includes various configuration options relating to the import and export of data between Acctivate and WooCommerce. Likewise, data mapping changes can be made allowing for complete control over the data flow from WooCommerce to Acctivate.
The WooCommerce template allows for importing and exporting the following information:
Import
- Sales Orders
- Customers
Export
- Inventory availability
- Shipment information
Setup
Acctivate integrates with the WooCommerce API using a pre-configured integration template which can be modified as needed. Before creating the template in Acctivate, the following steps must be performed:
- WooCommerce requires that you turn on Permalinks in WordPress through Settings → Permalinks. Typically, it is suggested to use the Post Name option.
- Enable the REST API within WooCommerce. Go to WooCommerce → Settings and click on the Advanced tab. On the Advanced tab find and select the REST API option.
- Select to Add Key.
- Select the user you would like to generate a key for in the User field and add a description. Choose the level of access for the key to be Read/Write. Then select Generate API Key.
- You'll see two keys and a QRCode. You will not be able to see the API keys again in WooCommerce so make sure to copy them or take a screenshot so that you can access them later.
Proceed with creating a template in Acctivate.
Add a Template
- Go to File → Import Sales Orders and click Create to create a new template.
- In the Add Template screen, enter the following information:
- ID: Enter the web store ID. This name must be unique and it's recommended that there are no spaces . It is limited to 15 characters. This name can be displayed in the Order Manager as the Origin ID.
- Name: This is the user friendly name that will appear in the Web Store Sync window. This can be up to 50 characters and may contain spaces.
- Notes: Optionally, enter any Notes. Notes entered here are only visible when editing this web store template.
- Type: Select the Type of Web Store.
- Click Next.
Source
- On the Source screen, use the drop-down in the upper right and select WooCommerce.
- Enter your WooCommerce store ULR in the Store URL field. You can obtain the URL in WordPress Settings > General. Use the Site Address (URL).
- Add the Consumer Key and Consumer Secret from the API key you just generated.
- Click Next
Options
The Options screen allows you to adjust various import and export options. A description of the available options are listed below, however the default options are recommended for most cases.
If you want to sync orders from a certain time point, set the Timestamp of the last web order imported option.
Click Next to proceed.
Template Option | Value | Definition |
---|---|---|
Automatically retry importing skipped orders | Yes/No | If the Skip orders with warnings web store option is enabled, skipped orders will be added to the Web Orders tab of the Business Alerts window. If this option is set to Yes, Acctivate will try to import the skipped orders after completing the import of new orders. If set to No, Acctivate will not attempt to resync the skipped orders as part of the web store sync. Instead, you must resync the orders from the Business Alerts window. |
Comma-separated Warehouse IDs for inventory export | WH ID | Leave blank to export availability for all warehouses, or specify Warehouse IDs to export. For multiple warehouses, separate each ID with a comma. The total availability will be sent to WooCommerce. |
Create customers for guests | Yes/No | When set to Yes, Acctivate will create a customer for "guest" customers (customers who have checked out without setting up a customer account for your WooCommerce store) by using the customer information included in the Sales Order. When set to No, if Acctivate cannot match to an existing customer, the customer will be left blank on the sales order. Regardless of the option selection, Acctivate will always attempt to match to an existing customer first. |
Create reminders for warnings (Business Alerts) | Yes/No | When set to Yes, if orders are imported with warnings (e.g., the Skip orders with warnings is not enabled), Acctivate will create a note with the warnings and assign it to the user who performed the sync. Notes can be viewed in the Reminders tab of the Business Alerts window. |
Date/Time format | yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z' |
Acctivate will use this date/time format instead of the syncing computer's date/time format when parsing WooCommerce date/times. If this option value is blank, Acctivate will use the syncing computer's date/time format. |
Default ship qty 1)Invoiced 2)Ordered 3)Scheduled | 1, 2, 3 |
When using the Invoiced qty, kit products will have their shipped quantity exported based on the total number of kits that can be made from the packaged/shipped components. If no shipment detail lines exist, e.g. Packaging Manager was not used, the invoiced qty will be sent. |
Default tax code on detail disc/charge to parent's | Yes/No | If an item has a discount or additional charge, the discount or charge will be imported as it's own order line. When this option is set to Yes, that discount/charge line will use the tax code that is assigned to the related "parent" product. If set to No, the discount/charge will default to the tax code assigned to it. |
Export carrier when exporting shipments | Yes/No | Allows the carrier information to be sent back with shipping information from order |
Export inv qty by stocking unit not sales unit | Yes/No | Applies to products that have the Available on web option enabled. When set to No, a product's Available quantity will be converted to the product's default sales unit and exported (when the "Export inventory" option is set to Yes). If set to Yes, the product's Available quantity will be exported in stocking units. |
Export inventory | Yes/No | Applies to products that have the Available on web option enabled. When set to Yes, the product's Available quantity is sent back to WooCommerce. If enabled, it is suggested you also review the Comma-separated Warehouse IDs for inventory export and Export inventory by alternate product ID options. For more information on the inventory availability export, refer to the Additional Setup and Considerations section of this guide. |
Export inventory by alternate product ID | Yes/No | Applies to products that have the Available on web option enabled. When set to No, Acctivate will export inventory availability by the Acctivate Product ID. When set to Yes, the inventory availability will be exported using the product's Primary Alt Product ID. Note: If the product has a web store specific Alternate Product ID (i.e., an Alternate Product ID linked to this template on the Alt ID's tab of the Enter Product window), then this option will be ignored and the web store specific Alt Product ID will be used for the inventory availability export (the Product ID and Primary Alt Product ID will not be exported). |
Export shipments | Yes/No | If set to Yes, Acctivate will export shipment information to WooCommerce during the web store sync. Acctivate will add the tracking numbers to the WooCommerce Shipment Tracking plugin, if it's installed. If the web store does not have the Shipment Tracking plugin installed, Acctivate will add the tracking numbers as a note to the sales order. |
Export shipments having empty packages | Yes/No | At the time of invoicing, Acctivate will determine the quantities shipped based on the items packaged in Packaging Manager, or the invoiced quantities (see Default ship qty option). If the items are not packaged in Packaging Manager, Acctivate will be unable to determine the products and quantities per package, therefore all the items and quantities will be associated with the first package in a shipment. When this option is set to Yes, only packages with items and quantities will be exported. When this option is set to No, no packages will be exported if there are one or more packages in a shipment that aren't associated with items. If you package shipments outside of Acctivate and then import in multiple package tracking numbers for a single order, it is recommended that this option be set to Yes in order for the first package to export properly. |
Import customers | Yes/No | When this option is set to No, Acctivate only imports orders and then creates customers from the sales order information. With this option set to Yes, customer information will be imported separately from Orders and customers will be created based on the WooCommerce customer account information. In some cases, a customer may create an account your WooCommerce store, but not create an order, so it's possible for customers to be created without a related order. |
Import orders | Yes/No | When set to Yes, Acctivate will import sales orders from WooCommerce. When set to No, Acctivate will not import orders, but will (optionally) import customers. |
Locale for Date formats | en-US and more. |
Dates are formatted based on the locale defined here. Represented as the ISO 639-1 code followed by the ISO 3166-1 Alpha-2 code, e.g., en-US , en-GB , en-CA , etc. |
Show advanced configuration settings | Yes/No | Generally used by the Acctivate Support team. Setting this option to Yes will unlock more advanced template options as well as allow the adding and editing of the Source Values. |
Timestamp of the last web order imported | Timestamp | Each sync will start at this value. After a sync is completed, this timestamp will update to reflect the creation timestamp of the last order imported so that the next sync looks for orders created since the last sync. |
Timezone of the server | Common values include
|
If blank, it's assumed the time zone of the WooCommerce server is the same as the time zone of the Acctivate install running the web store sync. Common time zone values are listed in the values column; for more information contact Acctivate Support. |
URL is for webservice instead of storefront | Yes/No | Typically, this option should remain it's default setting (No). When set to No, the store front URL entered on the Source screen will be formatted to match the web store's web service URL (this formatting is not seen in the template, but rather occurs during the API calls made by Acctivate). If the URL entered on the Source screen is the web service URL, then set this option to Yes to prevent additional formatting of the URL. |
Verbose logging | Yes/No | When set to Yes, Acctivate will create logs of each the web store requests and responses, as well as data transformations for each sync. When set to No, only the sync messages log is saved. Logs can be located in the Web Store log folder. It's recommended that this option is set to No unless you are troubleshooting. |
WooCommerce version (e.g. 3.6.5) | version number | If the version number is 3.x.x or greater, Acctivate will query WooCommerce's product ID's by a list of SKUs, otherwise one product at a time will be queried. This query is used to match the WooCommerce SKU to an Acctivate Product for the inventory export. |
Source Values
This screen is only accessible when the Show advanced configuration settings option is set to Yes.
This screen allows for advanced mappings and is primarily used by the Acctivate Support team. See the Source Values configuration page for more information on the information and options found here.
To proceed, click Next.
Mapping
This screen includes the customer and sales order mappings.
The Customer Document mapping only applies when the Import customers option is enabled, otherwise, a customer record is created based on the Order Document.
When a Web store field is mapped to an Acctivate field, the web store's value will be imported into the Acctivate field. If a Default value is mapped, then Acctivate will use the Default value for all orders created. If both are mapped, the mapped field will take priority over the default value.
Conversion can be managed on this screen by clicking on the Acctivate field and then clicking Show Conversions at the bottom of the window. Enter the From value (the web store value) and enter the To value as the value it should be converted to.
See the Mapping configuration documentation for more information.
To proceed, click Next.
Import
The Import screen will allow you to begin the import by clicking Import Orders. Otherwise, close the window and confirm that you want to save the template when prompted.
Additional Setup and Considerations
Creating Customers in a QuickBooks Online company
QuickBooks Online requires non-taxable customers to have an exemption reason provided. Read our KB article on mapping options for non-taxable customers in QuickBooks Online companies.
Matching Products
When importing in sales orders from WooCommerce, the WooCommerce SKU will be matched to an Acctivate product according to the following hierarchy:
- Web store specific Alternate Product ID
- Product ID
- Alternate Product IDs unrelated to this web store template
- UPC
- Customer Product ID for the Customer on the sales order.
Exporting Inventory
In order to export inventory availability, perform the following:
- In Acctivate, the Product must have the Available on web option enabled.
- The Export inventory option must be set to Yes.
- Optionally, you can export inventory for specific warehouses. See the Comma-separated Warehouse IDs for inventory export option.
Additional information about exporting inventory:
- When a web store specific Alternate Product ID exists, that Alt ID will be used to match to a WooCommerce SKU. If no web store specific Alternate Product ID exists, then the Acctivate Product ID will be used unless the option Export inventory by alternate product ID is enabled; in which case the Alt Product ID would be used to match to a WooCommerce SKU.
- When you run the first sync, no inventory availability will be exported. When you run the second sync (and subsequent syncs) only products with inventory transactions since the last sync will be included in the export. For that reason, when going live with your web store template it's recommended that you import or manually update your web store to match Acctivate's availability.
- Products that are marked as Available on Web are included in the ProductAvailabilityByTemplate data view. This data view includes the last transaction date, voided date, and updated date for certain transaction types. The most recent of these three dates for a product/warehouse combination (stored as the LastModifiedDate) is used to consider which products should be included in the web store inventory export. After a web store inventory export, the latest LastModifiedDate will be stored as a web store database option named LastTransactionDate. The next web store inventory sync will take the LastTransactionDate date and subtract one day from it, then compare this new date to the LastModifiedDate value. Any products with a LastModifiedDate date since the LastTransactionDate (minus one day) will be included in the export if it exists in the web store.
Exporting Shipments
If multiple tracking numbers are imported into Acctivate for a web order that was packaged outside of Acctivate, then you may only have one or no packages export to your web store depending on the Export shipments having empty packages option.
Usage
Refer to the Web Store section of the documentation for information on how to begin a sync with WooCommerce.