WordPress.org

Plugin Directory

Automated Shipping for EasyPost WooCommerce – Bulk Labels, Easy Returns, Zero Manual Work

Automated Shipping for EasyPost WooCommerce – Bulk Labels, Easy Returns, Zero Manual Work

Description

Stop printing labels one by one. Start shipping on autopilot.

Most WooCommerce shipping plugins stop at checkout rates. Your fulfillment team is still doing everything manually — opening orders, choosing carriers, printing labels one at a time, and chasing tracking numbers. That’s 2–4 hours of daily grunt work that doesn’t need to exist.

This plugin automates every step after the order is placed. Carriers are selected by rule. Labels are generated in batch. Returns are created in one click. Tracking is sent automatically. Analytics show exactly what you’re spending and where.

Built for WooCommerce stores shipping 20–1,000+ orders daily. Powered by EasyPost.

Why Stores Switch to This Plugin

Before: Open order pick carrier buy label download print repeat × 50 orders = 2 hours lost.

After: Click “Generate Labels” 50 labels print orders update automatically = 3 minutes.

That’s the difference between a shipping plugin and a fulfillment automation platform.

Core Modules

AutoShip — Rules-Based Fulfillment Automation
Set rules once. Ship forever without touching an order. AutoShip selects the right carrier, service, and box size automatically based on product, category, weight, or volume. Trigger label generation on any order status change. Orders auto-complete on delivery via EasyPost webhooks. Zero human intervention required for your standard fulfillment flow.

Batch Print — Bulk Label Generation
Generate labels for 50, 100, or 500 orders in one click. Load orders by date range or paste a list of IDs. A real-time progress tracker shows each order’s result — generated, skipped, or flagged. Already-labelled orders are skipped automatically. What used to take 2 hours takes under 3 minutes.

Easy Returns — One-Click Return Labels
Generate a prepaid return label from any shipped order without re-entering addresses. Fetch live return rates from all available carriers and pick the right service before generating. Addresses are swapped automatically — customer becomes the sender, your store becomes the recipient. Email the return label to the customer in the same action.

Smart Packing Engine
Automatically selects the best box for every order using 3D bin packing, volume-based, or weight-based methods. Large orders split across multiple packages automatically — each gets its own label and tracking number. Eliminates dimensional weight penalties and overpacking fees without any manual box selection.

Live Rates at Checkout
Real carrier rates from USPS, UPS, FedEx, DHL, OnTrac, and 100+ carriers — fetched live at checkout via EasyPost. Add markup or discounts per service. Mix with flat rates or use live rates on their own. Show delivery estimates. Limit rate count per zone.

Address Validation
Real-time address verification at checkout via EasyPost. Detects and corrects ZIP/state mismatches before orders ship. Optional strict mode blocks checkout on confirmed undeliverable addresses. Runs asynchronously — zero impact on checkout speed. Reduces delivery failures, wasted carrier fees, and support tickets by up to 85%.

Ship Insights — Shipping Analytics
Full shipment history with carrier, service, cost, and tracking per label. Filter by date range or carrier. Trend charts show label volume and spend over time. Carrier mix breakdown. Cost-per-order averages. Compare current period vs. previous. CSV export for accounting or reporting. Paginated for stores with thousands of shipments.

Shipment Insurance
Add carrier insurance at label purchase time. Insured value is set automatically as the full order total or a configured percentage. Optionally let customers opt in at checkout.

Carrier Pickup Scheduling
Schedule pickups for USPS, DHL, OnTrac, and other supported carriers directly from WordPress. Batch-schedule for multiple orders. Cancel or reschedule without leaving the admin.

Tracking & Notifications
Tracking numbers are injected into order completion emails automatically. Live status refresh from the order page. EasyPost webhooks auto-complete orders on delivery. Customers get real tracking links — not generic carrier search pages.

Label Management
Every label ever generated is stored and searchable in one place. Download or reprint any label instantly. View return labels alongside outbound labels. Filter by date, carrier, or order. All label URLs stored in the database — no slow meta queries.

Key Outcomes

Cut fulfillment time by 60–80% — Batch Print turns a 2-hour manual task into 3 minutes

Scale without hiring — AutoShip handles carrier selection, packing, and label generation for every order automatically

Reduce shipping costs by $2–5/order — Smart Packing eliminates dimensional weight overages

Slash delivery failures by ~85% — Address Validation catches bad addresses before checkout completes

Eliminate return friction — Easy Returns generates prepaid labels in one click, no address re-entry

Know your numbers — Ship Insights shows carrier spend, cost trends, and volume at a glance

Getting Started

  1. Create a free account at easypost.com
  2. Copy your API key from the EasyPost dashboard
  3. Install and activate this plugin
  4. Go to WooCommerce Settings Shipping EasyPost Shipping and enter your API key
  5. Set your origin address and add your box sizes under Packing
  6. Live rates appear at checkout automatically — set up AutoShip rules when ready

Full documentation

External Services

This plugin connects to EasyPost to provide its core functionality.

EasyPost Shipping API

EasyPost is a shipping logistics API that provides real-time carrier rates, address validation, label generation, tracking, insurance, and pickup scheduling across 100+ carriers.

Data sent to EasyPost:

  • Rates — package weight, dimensions, origin address, and destination address (sent on checkout load or manual rate fetch)
  • Address validation — customer shipping address (sent in real time at checkout)
  • Label generation — package details, destination address, and carrier/service selection (sent when a label is purchased)
  • Tracking — shipment tracking numbers (sent to retrieve current delivery status)
  • Pickups — pickup location and timing details (sent when scheduling a carrier pickup)

Your EasyPost API key is stored in your WordPress options table and transmitted only over HTTPS to api.easypost.com.

  • EasyPost Website: https://www.easypost.com/
  • EasyPost Terms of Service: https://www.easypost.com/terms
  • EasyPost Privacy Policy: https://www.easypost.com/privacy

ThePluginForge Deactivation Survey

When you choose to deactivate this plugin, an optional survey modal is shown. If you click Submit & Deactivate, the following data is sent from your browser to The Plugin Forge (thepluginforge.com) solely to improve the plugin:

  • Selected deactivation reason
  • Optional free-text details you enter
  • Plugin version number
  • Your site’s hostname (e.g. example.com)

Clicking Skip & Deactivate sends nothing. No data is collected automatically.

  • The Plugin Forge Privacy Policy: https://thepluginforge.com/privacy-policy/

Screenshots

  • Dashboard — At-a-glance KPIs, carrier breakdown, recent labels, and quick access to every feature
  • Label Management — Every label searchable, downloadable, and reprintable from one screen with Box 1/2/3 per order
  • Ship Insights — Carrier spend trends, label volume chart, carrier mix donut, and full shipment history
  • AutoShip — Rules-based automation: select trigger status, carrier, service, and auto-complete on delivery
  • Smart Packing Settings — Choose Weight-Based, Volume-Based, or 3D Bin Packing with live box preview
  • Shipping Boxes — Visual box manager showing dimensions, volume, and max weight per configured box

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install via the WordPress plugin search
  2. Activate the plugin from the Plugins screen
  3. Go to WooCommerce Settings Shipping EasyPost Shipping
  4. Enter your EasyPost API key
  5. Set your origin address and add your shipping boxes under Packing
  6. Enable desired carrier services — live rates will appear at checkout immediately

FAQ

Where do I get an EasyPost API key?

Sign up free at easypost.com. Test and production API keys are available immediately in your dashboard. Test mode lets you preview rates and generate test labels at no charge.

Which carriers are supported?

EasyPost connects 100+ carriers including USPS, UPS, FedEx, DHL Express, DHL eCommerce, OnTrac, LaserShip, GSO, and many more. Available carriers depend on your EasyPost account and any carrier accounts you’ve connected.

Can I use my own negotiated carrier rates?

Yes. Connect your UPS, FedEx, or other carrier accounts to EasyPost and those negotiated rates are returned automatically at checkout and at label generation.

How does AutoShip work?

You create rules based on conditions (product, category, weight, volume, order total) and assign a carrier, service, and box size to each. When an order reaches the status you configure, the matching rule fires and a label is generated — no human needed. Multiple rules are evaluated in priority order.

Does it support multiple packages per order?

Yes. When an order doesn’t fit in one box, the Smart Packing engine splits it automatically. Each package gets its own label, tracking number, and download link — all visible from the order page and Label Management.

How does Batch Print work?

Go to Bulk Labels, enter order IDs or pick a date range, and click Generate Labels. Labels are created via EasyPost for each order in one request. Already-labelled orders are skipped. Results show generated, skipped, or failed per order with direct print links.

How do Easy Returns work?

From any shipped order, click Fetch Return Rates in the order panel. Live rates from all available carriers are displayed — pick the one you want and click Generate Return Label. The label is created with addresses automatically swapped (customer store). You can email it to the customer in the same step.

What is Address Validation and does it affect checkout speed?

It verifies the customer’s shipping address against EasyPost’s database in real time. It runs asynchronously so it never blocks or slows checkout. Customers see a correction suggestion if an issue is detected before they place the order.

How does shipment insurance work?

Insurance is added through EasyPost at label purchase time. The insured value is the WooCommerce order subtotal or a configured percentage — no separate insurance account or third-party service needed.

What does Ship Insights show?

Full shipment history with carrier, service, cost, and tracking per label. Date-range filtering and carrier filtering. Trend charts for label volume and spend. Carrier mix donut chart. Period-over-period comparison badges. CSV export for accounting or reporting.

Is it compatible with WooCommerce HPOS?

Yes. Fully compatible with WooCommerce High-Performance Order Storage (custom order tables).

Can I test without real charges?

Yes. Enable Test Mode in settings and use your EasyPost test API key. No carrier charges are incurred in test mode. Use Force live rates in Test Mode if you want accurate rate previews without generating real labels.

Where are customer tracking links sent?

The plugin uses the EasyPost public tracker URL (track.easypost.com) for tracking links when available — giving customers a real-time tracking page without exposing your EasyPost merchant dashboard. No data is sent to carrier websites by the plugin — the customer’s browser handles that when they click the link.

Where can I get support?

Visit thepluginforge.com for documentation and support. Email: support@thepluginforge.com

Reviews

April 26, 2026 1 reply
My client handles 100+ orders daily, so shipping speed really matters. After trying a few other plugins, this one stood out. EasyPost shipping integration is smooth, setup took just minutes, and bulk label printing works perfectly.
Read all 1 review

Contributors & Developers

“Automated Shipping for EasyPost WooCommerce – Bulk Labels, Easy Returns, Zero Manual Work” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

5.5.0

  • Shield Insurance — Customer insurance opt-in is now checked by default at checkout; insurance field and fee only appear when an EasyPost shipping method is selected (flat rate, free shipping, etc. are excluded)
  • Insurance rate corrected — Fee formula updated to 1.0% of declared value (minimum $1.00) per EasyPost documentation; insurance amount passed to EasyPost API as a string as required
  • Non-EasyPost label skip — Auto label generation and bulk label generation now silently skip orders that used a non-EasyPost shipping method; no error note is added to the order
  • UI rebrand — All admin pages rebranded from WooCommerce purple to a professional blue palette; hero gradients, KPI accents, buttons, and interactive states updated across Dashboard, Labels, Settings, Analytics, Bulk Labels, Pickups, Rules, Automation, and Setup Wizard
  • Settings highlights — Shield Insurance and Checkout Address Validation cards now display with distinct colored headers for quick visual identification
  • Handling Fee removed — Handling Fee option removed from Settings
  • Manage link fixed — “Manage ” button in Label Management now links to the EasyPost dashboard; previous per-shipment deep link returned 404

5.4.0

  • Plugin renamed — Now “Automated Shipping for EasyPost WooCommerce – Bulk Labels, Easy Returns, Zero Manual Work”
  • Easy Returns upgrade — Fetch live return rates from all carriers before generating; pick the right service instead of defaulting to cheapest
  • Batch Print fix — Results table now shows label print links immediately after generation; duplicate results row eliminated
  • Label Management alignment — Action buttons (Download, Print, Return, Manage) stay on one row per label; Box 1 now labelled consistently with Box 2, 3 for multi-package orders
  • Performance — Analytics and Label Management pages batch-load orders in a single query; eliminates N+1 slowness on large datasets
  • Tracking URLs — EasyPost public tracker URL (track.easypost.com) stored per label and used everywhere: emails, order panel, analytics, label management
  • Analytics — Tracking URL and label URL now read from analytics DB table directly; zero per-row order meta queries
  • Insurance — Block Checkout (WC 8.9+ Blocks) now supported for customer insurance opt-in alongside classic shortcode checkout
  • Units — Packing summary in order panel now uses WooCommerce store dimension/weight units instead of hardcoded in/oz
  • New screenshots added across all major feature pages

5.3.0

  • Easy Returns upgrade — Fetch live return rates from all carriers before generating; pick the right service instead of defaulting to cheapest
  • Batch Print fix — Results table now shows label print links immediately after generation; duplicate results row eliminated
  • All Labels alignment — Action buttons (Download, Print, Return, Manage) no longer wrap unpredictably; consistent single-row layout per label
  • Box labelling — Box 1 now labelled consistently alongside Box 2, Box 3 for multi-package orders in Label Management
  • Performance — Analytics and Label Management pages now batch-load orders in one query instead of one per row (eliminates N+1 slowness on large datasets)
  • Tracking URLs — EasyPost public tracker URL (track.easypost.com) now stored per label and used everywhere tracking links appear — emails, order panel, analytics, label management
  • Analytics — Tracking URL and label URL now read directly from the analytics DB table, eliminating all per-row order meta queries
  • Insurance — Block Checkout (WC 8.9+ Blocks) now supported for customer insurance opt-in field alongside classic shortcode checkout
  • Units fix — Packing summary in order panel now uses WooCommerce store dimension and weight units instead of hardcoded in/oz
  • Ship-From address now auto-fills from WooCommerce store address on first setup
  • Added “Load from WooCommerce” button in Ship-From panel to instantly sync store address
  • Fixed critical error when clicking “Validate Address” on Ship-From panel
  • Shipping zone instance settings — 10 config options per zone: markup, free shipping threshold, max rates shown, tax status, cart restrictions, delivery estimate toggle
  • Rate caching disabled by default on new installs
  • Logging defaults to Off
  • Fixed WordPress admin notices appearing inside hero banners

5.2.0

  • Redesigned Dashboard — purple gradient hero, KPI cards with trend indicators, carrier breakdown, recent labels
  • Redesigned Ship Insights (Analytics) — Chart.js line and donut charts, date presets, CSV export, period-over-period comparison
  • Redesigned Batch Print (Bulk Label Printing) — tab input, progress steps, color-coded results, label download grid
  • Deactivation feedback survey
  • Dashboard widget — labels today/this week with spend stats
  • Settings page 3-step quick-start guide auto-hides once configured
  • Fixed CSS scoping across all admin pages

5.1.0

  • Address validation mismatch detection — state/ZIP auto-correction warnings at checkout
  • Dedicated Pickups page for batch carrier pickup scheduling
  • Redesigned order meta box with multi-box label layout
  • Debug log level control from Logs & Diagnostics page
  • Return label fix — correct EasyPost API address swap flow

5.0.0

  • Complete plugin rewrite — PHP 8.1+, HPOS compatible
  • 3D bin packing algorithm (First-Fit Decreasing with rotation)
  • Advanced rule engine — category, product, weight, and volume conditions
  • Ship Insights shipping analytics — spend tracking and carrier breakdown
  • Batch Print — bulk label generation with date-range order loading
  • AutoShip — auto-label on status change, auto-complete on delivery
  • Carrier pickup scheduling
  • Easy Returns — return label generation
  • Flat rate shipping support
  • Shipment insurance