WCFM Plugin : Print orders to each vendor printer
WCFM β Multi-Vendor Marketplace Plugin
Automatically route each vendor's orders to their own printer β no PC, no tablet, no manual action required. As soon as an order is placed, the receipt prints directly at the vendor's location with all the information needed to prepare it: customer name, reference, phone number, delivery address, order type, and more. The plugin connects your WCFM marketplace to your printers via the Expedy API v2.
Try it first (live sandbox)
Want to see the plugin in action before installing it on your own marketplace? A ready-to-use sandbox runs a full WordPress + WooCommerce + Expedy environment right in your browser:
π woo.expedy.io
It comes pre-loaded with a demo order, so you can explore the settings dashboard and preview a printed ticket immediately β no account and no installation required. The sandbox is temporary and isolated, so real print jobs aren't sent; use it for interface and receipt-preview testing.
Download
Download the latest version from the official Releases page.
Each release ships the ready-to-install expedyprint.zip and its changelog β that single file is all
you need.
Installation
- Download the plugin (
expedyprint.zip). - In your WordPress admin, go to Plugins β Add New β Upload Plugin.
- Click Choose File and select the
.zipfile downloaded in step 1. - Click Install Now.
- Click Activate once the installation is complete.
- Make sure WooCommerce and WCFM are installed and active.
- A new ExpedyPRINT entry appears in your wp-admin menu β open it to configure the plugin.
No drivers, no command line, no extra software required.
Get your API credentials
The plugin connects to your account using two credentials: an API SID (your account identifier) and an API token (your secret key).
- Don't have an account yet? Create your free account at expedy.io/signup.
- Log in to your Expedy account and open the API section. Contact support if you don't have access.
- Copy your API SID and API token.
- Make sure your vendor printers are registered on your account.
Keep your API token private β treat it like a password.
Configuration
In your WordPress admin, open the ExpedyPRINT menu and fill in each section.
1. API connection
| Setting | Description |
|---|---|
| API SID | Your account identifier, from the API section of your Expedy account. |
| API token | Your secret key, from the API section of your Expedy account. Leave blank to keep the value already saved. |
Click Test connection. On success, the list of printers on your account is loaded automatically.
2. Printer
| Setting | Description |
|---|---|
| Printer | The default printer, used for any order that isn't routed to a specific vendor. Pick it from the dropdown β it shows the name, paper width and UID. Use Send test print to print a sample ticket. |
| Backup printer ID | (optional) UID of a second printer that receives a copy of every ticket. |
| Paper width | Paper roll size: 58 mm or 80 mm. |
3. Printing trigger
| Setting | Description |
|---|---|
| Print the ticket | Order status that triggers automatic printing: When the order is paid Β· When the order is processing Β· When the order is completed. |
| Copies | Number of copies to print automatically for each order (1 to 3). |
| Time zone | Adjusts the printed delivery/pickup times if your server is in a different time zone. |
4. Receipt header & footer
| Setting | Description |
|---|---|
| Logo URL | HTTPS URL of your logo. Recommended max width ~570px. Keep the file small to reduce data usage and improve print speed β if printing is blocked, test without the logo first. |
| Title | Title shown at the top of the ticket. |
| Company name / Company ID / Address / Postcode / City / Phone / Email | Store details printed in the receipt footer. |
| Product options detail | Choose Full details or Minimal details for the product options printed on each line. |
5. Receipt wording
Customize every label printed on the ticket (Order, Product, Price, Subtotal, Tax, Total, Shipping, Total due, Customer noteβ¦). Defaults are in English; type your own wording in any language.
6. Advanced β Multi-vendor mapping
This is where WCFM routing is configured. See the next section for the full walkthrough.
Multi-vendor routing (WCFM)
This is what the plugin is built for: send each vendor's orders to their own Expedy printer.
- In WCFM, find each vendor's ID (Vendors list, or the vendor's store/profile).
- For each vendor, note the printer UID their orders should print on (visible in the Printer dropdown, or in your Expedy account).
- Go to ExpedyPRINT β Advanced β Multi-vendor mapping and enter the pairs
vendor_id:printer_uid, separated by\|\|.
Example: 4:DESNBXP887K\|\|7:DESHKTI4EOW
When an order contains a vendor's products, its receipt is sent automatically to that vendor's printer. Any order without a mapped vendor falls back to the default Printer set in section 2.
Video tutorial
Watch the step-by-step setup: https://www.youtube.com/watch?v=IYipTBSybsw
Where to find printing logs
Every print attempt (success or failure) is recorded as an order note and under
WooCommerce β Status β Logs (source expedyprint), so you always know what happened.
Compatible plugins
The Expedy plugin is compatible with the following WooCommerce extensions:
- YITH (sub-items / product attributes)
- WooCommerce TM Extra Product Options
- ODT Extended / WooODT Lite (Byconsole)
- Advanced Product Fields Pro (StudioWombat)
- WooCommerce Local Pickup Time Select
- WCFM β Multi Vendor Marketplace Plugin
We regularly add new compatible plugins. If yours isn't listed, contact our support team.
Build your own integration
Prefer to print from your own application or connect another platform instead of using this WooCommerce plugin? Use the official Node.js SDK and API examples:
π github.com/ExpedyDev/expedy-sdk-node
It shows how to authenticate, list your printers and send print jobs through the Expedy API v2.