Flourish WooCommerce Plugin
The Flourish WooCommerce Integration enables our brand and wholesale clients to set up a custom e-commerce store and menu. The plugin syncs items and live inventory to a WooCommerce store hosted on WordPress. Orders placed through this store will flow into Flourish for fulfillment.
Define your Goals
Start your integration project by defining your goals. You can:
- Create a real-time sales menu
- Highlight a brand or set of brands
- Create multiple stores, for instance, one menu/store per brand
- Require authentication
- Co-deploy with other plugins and tools
How it works
The basics
The platforms connect on several data points. Here are the defined data objects and terms:
Flourish | WooCommerce |
Items | Products |
Inventory | If this is enabled on the plugin, inventory levels for products update in WooCommerce in real time. |
Destinations | Customers |
Orders | Orders created in WooCommerce sync to Flourish. Flourish updates WooCommerce during fulfillment. |
Data Flow
Flourish Data Sent to WooCommerce.
Flourish | Direction | WooCommerce |
Create or update an item in Flourish. When you toggle 'ON" the "e-commerce active" flag, it sends it to WooCommerce. | ![]() | Creates/updates the product in WooCommerce |
Item's sellable quantity changes. | ![]() | Updates the available quantity in WooCommerce. |
Order Status update to Packed, Shipped, or Cancelled. | ![]() | Updates the order's status in WooCommerce |
WooCommerce Data Sent to Flourish
WooCommerce | Direction | Flourish |
A new Customer creates a sales order in WooCommerce. | ![]() | A new Destination is created in Flourish if it doesn't match an existing record. |
A new order is created in WooCommerce. | ![]() | The order is created in Flourish. |
Order Workflow
Both platforms update each other through the lifecycle of an order.
Flourish does not update WooCommerce with newly added or updated order line information. Unless otherwise noted, Flourish only updates the Status of orders in WooCommerce. If you want to add or change an order line to your order, make the changes in WooCommerce, and when you save the order within WooCommerce, the changes will sync to Flourish.
WooCommerce updates Flourish
WooCommerce Order Status | Trigger | Flourish Order Status |
Submitted / Accepted / Backorder You can set the order Status in WooCommerce that you want to sync to Flourish. | ![]() | Created |
Rejected: A user within WooCommerce rejects the order. | ![]() | Canceled |
Canceled: When a WooCommerce client cancels their order. | ![]() | Canceled |
Flourish updates WooCommerce
Flourish Order Status | Direction | WooCommerce Order Status |
Canceled | ![]() | Rejected |
Partially Allocated | ![]() | Accepted |
Allocated | ![]() | Fulfilled |
Shipped | ![]() | Shipped |
Order Payment terms
For payment terms that are supported in WooCommerce, see below. When you set the payment term for an outbound order (linked to a WooCommerce order) in Flourish and save, Flourish updates the WooCommerce order with the payment term.
|
|
|
Some more payment terms are internal to WooCommerce and are not supported.
WooCommerce Product Listing State
The listing states for products in WooCommerce are:
- "Available"
- "Archived"
- "Sample"
- "Backorder"
- "Internal"
- "Unavailable"
Items created in Flourish and synced to WooCommerce are created in WooCommerce with the "Available" listing state.
Deploying the Plugin
We've open-sourced our WooCommerce Plugin. Find it on GitHub here: https://github.com/flourishsoftware/woocommerce
- Set up your WordPress site and install WooCommerce
- Navigate to the Release Page and download the .zip file
- Go to: WordPress Admin > Plugins > Add New to upload.
- Click Upload Plugin at the top.
- Click Choose File and select the .zip file you downloaded in step 2.
- Select Choose.
- Click Install Now.
- Activate the plugin.
Updating the Plugin
When we release an update, you can download the latest .zip from the Release Page. Follow the same procedure as above to upload the new .zip file. Instead of installing, WooCommerce will prompt you to upgrade.