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 WooCommerce web store integration.
Setting up a store is easy and includes various configuration options relating to the import and export of data between Acctivate and WooCommerce.
The WooCommerce template allows for importing and exporting the following information:
Import
- Sales Orders
- Customers
Export
- Shipment information
- Inventory availability
Setup
Note
These instructions below are current and are for Acctivate's new WooCommerce integration which is configured in the Services section of the Configuration Manager.
The WooCommerce template in the Web Store Template window is considered legacy, as it uses APIs deprecated by WooCommerce.
- Login to your WooCommerce store.
- 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.
- In Acctivate, go to File → Configuration Management → Services → WooCommerce
- Click New to setup a new store. When prompted, paste the Store URL (you can obtain the URL in WordPress from Settings > General. Use the Site Address (URL).), Consumer Key, and Consumer Secret key that you copied and click Save & Close. This will trigger an initial download of configuration information.
You can add additional stores by clicking Add again. You can edit the store name in Acctivate by clicking the pencil icon next to the name above the tabs.
To make a store inactive, uncheck the Active checkbox.
Verbose logging is enabled by default, however once the initial setup is completed you can disable it if you wish.
Conversions
The Conversions tab allows you to create conversions between WooCommerce data values and Acctivate.
When Acctivate is first connected WooCommerce, an initial download of WooCommerce lists will occur and Acctivate will attempt to auto map list values to Acctivate values.
The lists imported and mapped are:
- Ship Via - Used to assign the Ship Via during sales order import.
You can use the table below to create a conversion from the WooCommerce value to the Acctivate value.
You can force a resync of the web store list values by clicking the Sync Codes button (note: any existing conversions will be kept).
Order Import
The Order Import tab includes configuration options that apply to the sales order import from WooCommerce.
- Import orders: When enabled, Acctivate will download sales orders from WooCommerce.
- Automatically retry importing skipped orders: 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.
- Create reminders for warnings (Business Alerts): 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.
Configuration
- Timestamp of the last order imported: 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.
- Default payment method: Web orders which have been paid will have their payment amount included on the Payments tab of the Enter Sales Order window and will use this payment method. Use a payment method that isn't configured for payment processing in Acctivate.
When importing sales orders, the web store sku will be matched to an Acctivate product according to a hierarchy. See the Sales Orders section of the Web Store Configuration docs
If no match can be made, a warning will be logged and the order will be skipped for retry later. You can setup the product and re-import the order. The product descriptions, ordered quantity, and price will also be imported in.
Customers
If the option Create Customers as 'Name (email)' if match not found is enabled, Acctivate will attempt to match to an existing customer using the following sequence:
- Web Customer ID
- Acctivate Customer ID
- Alternate Customer ID
- Company Email
- Account Number
If no match can be made, then Acctivate will create the customer as "Name (email)"
If the option Use customer is enabled, then the customer selected here will be used for all sales orders imported.
Sales Tax
- Import tax amount into order footer: When this option is enabled, the calculated tax will be imported into the Acctivate's tax field and the customer's tax category will be used or, if the customer is being created, the default tax category for new customers will be used. Review our Acctivate KB to learn how differences between web store and Acctivate tax calculations are handled. This option is recommended if Acctivate and your web store are integrated with AvaTax.
- Add as line item with product ID: When this option is enabled you will be required to select an Other Charge item that will be used to record the tax amount. The sales order and line items will be set to non-taxable, but the Tax Category for the customer will set. This option is recommended in most cases.
Shipment Export
The Shipment Export tab includes configuration options that apply during the Shipment Export step of the WooCommerce sync.
- Export Shipments: If set to Yes, Acctivate will export shipment information to WooCommerce during the web store sync.
- Export carrier when exporting shipments: Allows the carrier information to be sent back with shipping information from order.
- Have stores send shipment notifications: When set to Yes, WooCommerce will send a shipment notification to the customer once an Acctivate shipment has been exported to WooCommerce.
At the time of invoicing, Acctivate will determine the quantities shipped based on the items packaged in Packaging Manager, or the invoiced quantities. If the quantity packed in Packaging Manager varies from the invoiced quantity, the packed quantity will be used. If the items are not packaged in Packaging Manager, Acctivate will be unable to determine which products and quantities are in which package (if multiple packages/tracking numbers), therefore all the items and quantities will be associated with the first package in a shipment and only that package will be exported.
Inventory Export
The Inventory Export tab includes configuration options that apply during the Inventory Export step of the WooCommerce sync.
- Export Inventory: Applies to products that have the Available on web option enabled. When enabled, the product's Available quantity is sent back to WooCommerce For more information on the inventory availability export, refer to the Additional Setup and Considerations section of this guide.
- Export by alternate product ID: 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 card of the 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 quantities in stocking units instead of sales units: 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.
- Warehouses: Applies to products that have the Available on web option enabled. By default, availability for all warehouses will be exported. Click the "All" button and select a specific warehouse, then use the plus sign button to add additional warehouses. The total availability will be sent to WooCommerce.
Additional information about exporting inventory:
- In order to export inventory availability, products in Acctivate must have the Available on web option enabled. 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.
- 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 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.
Usage
Refer to the Web Store section of the documentation for information on how to begin a sync with WooCommerce.
To import a specific sales order, you can use the More Options button on the Web Store Sync window to enter a WooCommerce order number, or you can enter multiple WooCommerce order number's separated by a comma.
Order Import Mappings
Below is a list of Acctivate order fields and a description of their corresponding source field in WooCommerce. Theses mapping cannot be altered:
- Order Date: The date the order was created in the web store.
- Customer: The customer for the sales order in Acctivate will depend on the Order Import options.
- Customer Contact: The contact's First and Last Name, Email, and Phone number will be imported into the Contact section of the order.
- Billing Address: The billing address from the web store order.
- Shipping Address: The shipping address from the web store order.
- Web Order Number: The web store order number. Saved on the Additional Info tab of the Enter Sales Order window.
- PO: The customer PO Number, if provided.
- Ship Via: The Ship Via of the web order can be converted to an Acctivate Ship Via on the Conversions tab of the WooCommerce configuration page.
- Tax Category: The shipping state will be made to the Tax Category field.
- Tax: The sales tax calculated by the web store.
- Ordered Total: The total amount of the web order.
- Products: The web store sku will be matched to an Acctivate product using a hierarchy. See the Order Import configuration section for more information.
- Shipping charge: If a shipping charge exists with the order, it will be imported in as a shipping line item.
- Discounts: Discounts or coupons will be synced as a line item.
- Payment Method: The web order's payment method will be converted to an Acctivate payment method based on the configured Payment Method conversions
- Payment Amount: The amount paid at the time of order entry will import into the Payments tab of the Enter Sales Order window.
- Payment Reference: The WooCommerce order number will be used as the payment credit card / check number.
- Payment authorizations: If the WooCommerce store is integrated with the same merchant account as Acctivate (review to the Payment Configuration docs), a payment authorization can be imported in and will be captured at the time of invoicing in Acctivate.
Note
Updates to sales orders imported from WooCommerce will not be pushed back to WooCommerce.
Furthermore, once a sales order has been imported from WooCommerce, Acctivate will not import changes made to the order in WooCommerce.
Customer Import Mappings
Acctivate will download customer profiles from WooCommerce. An Acctivate customer will be created with the following information:
- Customer Name: Created as "Name (email)"
- Billing Address
- Shipping Address
- Contact info: The customer's First Name, Last Name, Email, and Phone will be added as the billing contact and as a company contact.
- Tax Code: The customer's tax code will be set to be non-taxable if the "Charge taxes" option is disabled.
- Web Customer ID: The customer's web customer ID will be saved to assist in the customer matching sequence when orders are imported.