Title: WooliiPorter Fulfillment for WooCommerce
Author: WooliiPorter
Published: <strong>July 31, 2026</strong>
Last modified: August 10, 2026

---

Search plugins

![](https://ps.w.org/wooliiporter-fulfillment/assets/banner-772x250.png?rev=3629886)

![](https://ps.w.org/wooliiporter-fulfillment/assets/icon-256x256.png?rev=3629886)

# WooliiPorter Fulfillment for WooCommerce

 By [WooliiPorter](https://profiles.wordpress.org/wooliiporter/)

[Download](https://downloads.wordpress.org/plugin/wooliiporter-fulfillment.0.7.0.zip)

 * [Details](https://vec.wordpress.org/plugins/wooliiporter-fulfillment/#description)
 * [Reviews](https://vec.wordpress.org/plugins/wooliiporter-fulfillment/#reviews)
 *  [Installation](https://vec.wordpress.org/plugins/wooliiporter-fulfillment/#installation)
 * [Development](https://vec.wordpress.org/plugins/wooliiporter-fulfillment/#developers)

 [Support](https://wordpress.org/support/plugin/wooliiporter-fulfillment/)

## Description

**You sell. We handle fulfillment from China to your customers.**

Connecting the store activates your merchant account immediately — the verified 
install is the review. No platform fee, no volume minimum, and nothing is dispatched
or billed before you approve the packed quote.

WooliiPorter is an end-to-end China fulfillment service. One operating layer connects
receiving, warehouse handling, stocked fulfillment, supplier parcel forwarding, 
packing, dispatch, tracking, and exception handling. Merchants keep control of their
products and supplier relationships while WooliiPorter provides one customer-facing
delivery identity from handoff to delivery.

Smart routing checks each order line against the merchant’s routing preference and
available Woolii warehouse inventory. Stocked lines use warehouse fulfillment; supplier-
direct or unstocked lines wait for the supplier’s real domestic tracking number 
and use parcel forwarding. If one order needs both routes, the plugin pauses it 
for a recorded merchant decision instead of silently splitting or guessing.

Each eligible order becomes one idempotent fulfillment intent. WooliiPorter checks
available inventory and product routing preferences, then returns one of three outcomes:

 * **Stocked fulfillment:** reserve available inventory and create a warehouse fulfillment
   order.
 * **Supplier forwarding:** wait for the merchant to enter the supplier’s real domestic
   China tracking number, then create the forwarding order after all quantities 
   are allocated.
 * **Mixed-order review:** hold the order for a merchant decision when some lines
   can use stock and other lines require supplier forwarding.

Routing decisions, required actions, child order references, tracking state, and
diagnostic request IDs remain attached to the WooCommerce order. The plugin uses
WooCommerce CRUD APIs and declares High-Performance Order Storage (HPOS) compatibility.

Cancellation is coordinated before WooCommerce changes the order status. The plugin
first stops queued submissions and asks WooliiPorter whether fulfillment can still
be stopped. Orders already picked or in a protected warehouse stage stay open for
warehouse or authorized-operator review instead of being shown as safely cancelled.

#### What the plugin does

 * Adds a guided setup and connection page under **WooCommerce > WooliiPorter**.
 * Opens the linked Woolii merchant console through a short-lived, single-use sign-
   in handoff.
 * Links to merchant access, sign-in, and API credential pages.
 * Validates the API key, account, environment, scopes, and smartRouting before 
   registering the Store.
 * Maps WooCommerce products and variations to WooliiPorter warehouse SKUs.
 * Supports an explicit **Always forward** preference for products that are not 
   pre-stocked.
 * Submits eligible orders through Action Scheduler and shows per-line inventory
   decisions.
 * Collects supplier parcel tracking numbers, carrier details, supplier names, notes,
   and line quantity allocation.
 * Verifies complete forwarding quantities before a formal forwarding order can 
   be created.
 * Requires HMAC-signed, Store-bound, idempotent webhook updates.
 * Holds mixed orders for **Forward all**, **Wait for stock**, or **Re-evaluate 
   inventory** decisions.
 * Coordinates cancellation before WooCommerce writes the cancelled status and shows
   any warehouse review that is still required.

#### Safety defaults

Activation does not submit historical orders. Sandbox is the default environment,
and smart routing and automatic submission are off by default. Automatic submission
remains off until connection, Store registration, Webhook Signing Secret, Action
Scheduler, and smartRouting checks pass. Mixed orders are not automatically split,
and forwarding confirmation requires real tracking numbers with complete quantity
allocation.

#### Service account required

This free plugin connects a WooCommerce store to WooliiPorter’s technology-driven
physical fulfillment service. An approved merchant account and API key are required;
applications are reviewed manually and the plugin cannot connect until the account
is approved. Merchants pay Woolii separately for receiving, warehouse handling, 
packing, storage, transport, and other selected logistics services. The plugin contains
no paid code or feature licensing. Service availability, routes, handling options,
shipping charges, storage charges, duties, taxes, and merchant terms are determined
by the merchant’s WooliiPorter account and the applicable order terms. The plugin
itself does not guarantee route availability, customs clearance, delivery times,
or fixed shipping rates.

Apply at https://porter.woolii.com/developers/apply. Sign in at https://porter.woolii.
com/auth/signin and manage credentials at https://porter.woolii.com/merchant/integrations/
credentials.

### External service and privacy

This plugin connects to the WooliiPorter Merchant API at `https://api.woolii.com/
v1/merchant`. It makes no request until an administrator configures an API key and
clicks **Test and connect**. That action validates the connection and registers 
the Store. Order data is sent only after the administrator separately enables or
manually requests submission.

To register the store and coordinate fulfillment, the plugin may send:

 * The store URL, generated external store ID, platform, plugin version, and WordPress
   webhook endpoint URL.
 * WooCommerce order ID, the merchant-facing order number returned by WooCommerce(
   including sequential-order-number extensions), a content-version hash, order 
   currency, and order total.
 * Product and variation IDs, product names, quantities, WooliiPorter warehouse 
   SKU mappings, routing preferences, and requested service type.
 * Recipient name, phone number, destination country, region, city, postal code,
   and street address.
 * Supplier domestic tracking numbers, carrier, supplier name, notes, and the product
   quantities assigned to each supplier parcel.
 * Technical request IDs, idempotency keys, routing actions, and routing-version
   data needed to prevent duplicate fulfillment.

WooliiPorter uses this information to register the store, route inventory, reserve
stock, receive supplier parcels, arrange delivery, return tracking and settlement
status, prevent duplicate orders, provide support, and prepare required customs 
declarations. Delivery-network recipients receive only the contact, address, parcel
and declaration data needed to perform the purchased service, under WooliiPorter’s
service and privacy terms. Customs authorities may receive declaration information
required by law.

The API key and webhook secret are stored in WordPress options. Store identity, 
diagnostics, SKU mappings, fulfillment status, request IDs, supplier parcel references,
and tracking state are stored in options, transients, or WooCommerce order metadata.
Deactivation stops new scheduled submissions. Uninstall removes credentials and 
plugin settings but retains WooCommerce order metadata and notes as merchant audit
records. Rotate credentials before transferring or decommissioning a store.

The plugin does not add advertising trackers and does not send executable code from
the service. API responses are operational data, not remotely executed PHP or JavaScript.

Review the service terms and privacy policy before connecting a production store:

 * Terms: https://porter.woolii.com/terms
 * Privacy: https://porter.woolii.com/privacy

## Screenshots

[⌊Guided setup dashboard with connection status and safe rollout steps.⌉⌊Guided 
setup dashboard with connection status and safe rollout steps.⌉[

Guided setup dashboard with connection status and safe rollout steps.

[⌊Product and variation mapping for intelligent inventory routing.⌉⌊Product and 
variation mapping for intelligent inventory routing.⌉[

Product and variation mapping for intelligent inventory routing.

[⌊A stocked order routed to inventory reservation and warehouse fulfillment.⌉⌊A 
stocked order routed to inventory reservation and warehouse fulfillment.⌉[

A stocked order routed to inventory reservation and warehouse fulfillment.

[⌊Supplier parcel entry showing the domestic tracking fields, line allocation, and
completion guard.⌉⌊Supplier parcel entry showing the domestic tracking fields, line
allocation, and completion guard.⌉[

Supplier parcel entry showing the domestic tracking fields, line allocation, and
completion guard.

[⌊A mixed order held for a safe merchant decision instead of automatic splitting.⌉⌊
A mixed order held for a safe merchant decision instead of automatic splitting.⌉[

A mixed order held for a safe merchant decision instead of automatic splitting.

[⌊Safe cancellation coordination with a clear warehouse-review state.⌉⌊Safe cancellation
coordination with a clear warehouse-review state.⌉[

Safe cancellation coordination with a clear warehouse-review state.

## Installation

 1. Install and activate WooCommerce.
 2. Upload the `wooliiporter-fulfillment` folder or plugin ZIP through **Plugins > 
    Add New > Upload Plugin**.
 3. Activate **WooliiPorter Fulfillment for WooCommerce**.
 4. Open **WooCommerce > WooliiPorter**.
 5. Create a sandbox API key, enter it, and click **Test and connect**.
 6. Configure the same Webhook Signing Secret in the plugin and merchant console.
 7. Map stocked products to WooliiPorter warehouse SKUs; mark non-stocked products 
    as **Always forward**.
 8. Enable smart routing and test stocked, forwarding, and mixed orders in sandbox 
    before enabling automatic submission.

## FAQ

### How fast can I start after installing?

Immediately. Connecting a verified store activates the merchant account on the spot—
there is no manual review queue for store installs, no platform fee and no volume
minimum. Small and first-time sellers start the same day. The guided setup walks
you from connection to a first test order.

### How do I verify the plugin I installed is the reviewed release?

Every release publishes its SHA-256 checksum of the WordPress.org directory ZIP 
on the WooliiPorter site, so you can verify the installed artifact byte-for-byte
against the reviewed build.

### Do I have to store every product at the WooliiPorter warehouse?

No. A product can use real-time stocked fulfillment when inventory exists, or be
marked for supplier forwarding when the supplier will ship it to the China warehouse
after the customer order is placed.

### What happens when only part of an order is in stock?

This release holds the order for merchant review. The merchant can forward the whole
order, wait for stock, or re-evaluate inventory. The plugin does not automatically
split a mixed order.

### Can the plugin create a forwarding order before I have the supplier tracking number?

No. You can save supplier parcel details as a draft, but a formal forwarding order
is created only after real tracking numbers are entered and the complete forwarding
quantity is allocated.

### Does activating the plugin send my existing orders?

No. Smart routing and automatic submission are disabled by default, and activation
does not submit historical orders.

### Does this plugin calculate duties, taxes, or guarantee customs clearance?

No. Customs requirements, route eligibility, duties, taxes, and final carrier charges
depend on the goods, destination, carrier, and current service terms. Contact WooliiPorter
support for regulated or uncertain goods before shipping.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WooliiPorter Fulfillment for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ WooliiPorter ](https://profiles.wordpress.org/wooliiporter/)

[Translate “WooliiPorter Fulfillment for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/wooliiporter-fulfillment)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wooliiporter-fulfillment/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wooliiporter-fulfillment/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wooliiporter-fulfillment/)
by [RSS](https://plugins.trac.wordpress.org/log/wooliiporter-fulfillment/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.7.0

 * Shipping is now sold by delivery time instead of a service name. WooliiPorter
   publishes delivery-time bands per destination country — “8-12 days” rather than“
   Express” — and every order records which band was promised. A service name means
   different things to different people; a number of days does not.
 * Delivery rules are edited right inside this plugin’s settings and stored on WooliiPorter,
   so the same rules govern every connected sales channel. The plugin is the editor,
   never a second copy of the truth.
 * The plugin now reports the buyer’s checkout shipping method as a fact; what it
   means in days is decided by your delivery rules. If no band can meet the stated
   days for a destination, the order is rejected with the bands actually available—
   never quietly shipped slower than the buyer paid for.
 * Requires the WooliiPorter platform release of 2026-08-06 or later.

#### 0.6.1

 * Fixed: connecting a store now finishes on its own. WooliiPorter returns the webhook
   signing secret during registration and the plugin saves it automatically, so 
   order handoff is no longer blocked by an unconfigured signing secret.
 * Fixed: orders that carry a shipping phone but no billing phone are no longer 
   rejected. The recipient phone now falls back the same way every other address
   field already did.
 * Improved: when WooliiPorter rejects an order because a field is invalid, the 
   admin notice now names the field and the reason instead of only saying that something
   was invalid.

#### 0.6.0

 * Cancellation outcomes now close the loop automatically: when the WooliiPorter
   warehouse return and final review complete, the WooCommerce order is cancelled
   to match; if the shipment already entered the carrier network the plugin records
   that the cancellation was rejected and points staff to the WooCommerce refund
   flow.
 * Progress notes for every interception stage (warehouse stopped, stock returned,
   manual review) appear on the order timeline as they happen.
 * Inbound receiving reviews (stock arriving at the WooliiPorter warehouse with 
   discrepancies) now surface as an admin notice with the open case list, so store
   staff no longer need to watch the console to learn about a receiving problem.

#### 0.5.3

 * Syncs the merchant-facing WooCommerce order number while retaining the immutable
   order ID for idempotent fulfillment.
 * Intercepts cancellation before WooCommerce writes the cancelled status and stops
   queued fulfillment submissions.
 * Confirms cancellation with WooliiPorter and keeps the WooCommerce order open 
   when fulfillment cannot be safely stopped.
 * Routes picked and protected-stage orders to warehouse or authorized-operator 
   review.
 * Shows the cancellation outcome and friendly fulfillment-route names in the order
   panel.

#### 0.5.2

 * International tracking now uses one stable WooliiPorter carrier identity from
   dispatch to delivery.
 * Tracking updates remain attached to the same idempotent fulfillment intent and
   order audit trail.

#### 0.5.1

 * Updated the settings page with the Woolii brand mark and end-to-end fulfillment
   positioning.

#### 0.5.0

 * Renamed the plugin to WooliiPorter Fulfillment for WooCommerce and moved the 
   text domain to `wooliiporter-fulfillment`.
 * Replaced the static activation guide with the live seven-step onboarding checklist
   shared with the Woolii merchant console, including warehouse stocking and wallet
   funding guidance via the existing console sign-in handoff.
 * Added one-click catalog sync: published products are registered with Woolii and
   linked to warehouse SKUs by exact SKU match; linked products missing a WooCommerce
   SKU receive the warehouse code.
 * Added optional one-way inventory push: linked product stock is overwritten with
   the warehouse available quantity every five minutes. WooCommerce stock is never
   read back.
 * Registered the order-panel stylesheet and script with `wp_enqueue_style`, `wp_enqueue_script`,
   and `wp_localize_script` instead of printing them inline, and loaded them only
   on the order edit screen.
 * Replaced the inline parcel `<script type="text/template">` markup with a standard
   HTML `<template>` element.
 * Limited the blocked-automation administrator notice to the WooliiPorter settings,
   order, and plugins screens.
 * Removed bundled translation files so translations come from translate.wordpress.
   org.

#### 0.4.2

 * Switched the merchant-console handoff to wp_safe_redirect with an explicit allowed-
   hosts list, per WordPress Plugin Check guidance.

#### 0.4.1

 * Added the unified six-step activation guide used across WooCommerce, Shopify,
   and the Woolii merchant console.
 * Added a server-side, single-use sign-in handoff to the linked Woolii merchant
   account.
 * Restricted console handoff URLs to the trusted Woolii host and exact SSO exchange
   path.
 * Kept channel product synchronization separate from warehouse SKU creation and
   made SKU linking explicit.

#### 0.4.0

 * Moved the official Merchant API endpoint to `https://api.woolii.com/v1/merchant`.
 * Added complete English gettext source strings and bundled Simplified Chinese 
   translations.
 * Added safe initialization and an administrator notice when WooCommerce is missing,
   inactive, or too old.
 * Added WordPress 7.0 compatibility metadata (validated on 7.0.2), WooCommerce 
   10.9.4, PHP 7.4, and WooCommerce 8.2 minimum compatibility metadata.
 * Persisted SKU mappings submitted through the custom connection form.
 * Required HMAC verification and exact Store identity for every webhook environment,
   plus intent identity when a local intent exists.
 * Added Action Scheduler to readiness checks and removed synchronous submission
   fallback.
 * Added deactivation cleanup for cron, Action Scheduler jobs, and the SKU cache.
 * Replaced the internal HPOS controller with the public OrderUtil API and removed
   deferred Abilities code.

## Meta

 *  Version **0.7.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/wooliiporter-fulfillment/)
 * Tags
 * [dropshipping](https://vec.wordpress.org/plugins/tags/dropshipping/)[fulfillment](https://vec.wordpress.org/plugins/tags/fulfillment/)
   [inventory](https://vec.wordpress.org/plugins/tags/inventory/)[shipping](https://vec.wordpress.org/plugins/tags/shipping/)
   [woocommerce](https://vec.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://vec.wordpress.org/plugins/wooliiporter-fulfillment/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/wooliiporter-fulfillment/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wooliiporter-fulfillment/reviews/)

## Contributors

 *   [ WooliiPorter ](https://profiles.wordpress.org/wooliiporter/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wooliiporter-fulfillment/)