Title: CourierAPP Connect – Shipping Labels &amp; Tracking for WooCommerce
Author: courierapp
Published: <strong>November 6, 2026</strong>
Last modified: November 6, 2026

---

Search plugins

![](https://ps.w.org/courierapp-connect/assets/banner-772x250.png?rev=3787485)

![](https://ps.w.org/courierapp-connect/assets/icon.svg?rev=3787485)

# CourierAPP Connect – Shipping Labels & Tracking for WooCommerce

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

[Download](https://downloads.wordpress.org/plugin/courierapp-connect.0.4.35.zip)

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

 [Support](https://wordpress.org/support/plugin/courierapp-connect/)

## Description

Connect your WooCommerce store to CourierAPP to show shipping rates at checkout,
create courier shipping labels, print labels in bulk and keep customers informed
with parcel tracking. Manage your shipping workflow from WooCommerce, with supported
domestic and international services for stores shipping from Greece.

A CourierAPP account and a store-specific connection are required. Installing this
plugin does not buy a subscription, change your existing shipping zones, or enable
live shipment purchases automatically.

#### WooCommerce shipping labels, checkout rates and tracking

The plugin supports:

 * Shipping quotes at checkout, using verified package dimensions and weights.
 * Label creation after an eligible paid order, or explicitly enabled cash-on-delivery
   orders with a supported carrier contract.
 * Individual and bulk PDF printing from existing labels, in courier-native size
   or A4.
 * Unified customer tracking at https://track.courierapp.gr with private expiring
   links.
 * Tracking details, shipment status and configurable order-status updates.
 * Store subscription and usage information in the WooCommerce administration area.
 * A structured email editor with store colours, logo, footer and an optional consent-
   based offer.
 * Optional, unchecked email-offer consent in Classic and Blocks checkout, enabled
   explicitly by the merchant.
 * Access to notification settings and optional prepaid SMS through CourierAPP.
 * WooCommerce classic checkout, Cart and Checkout Blocks, and HPOS order storage.

#### Domestic and international courier services

Connect WooCommerce shipping workflows with DHL Express and FedEx, or discuss integration
with ACS Courier, SPEEDEX, Courier Center, BOX NOW, Skroutz Last Mile (Skroutz LM),
ELTA Courier (ΕΛΤΑ Courier) and Geniki Taxydromiki (Γενική Ταχυδρομική). The available
operations depend on the carrier API and the store’s enabled services.

Need another courier? CourierAPP can assess and build custom carrier integrations
in collaboration with your business or web agency, using the courier’s API documentation
and authorised account access. This is an on-request integration service, not a 
claim that every listed carrier is ready to use immediately. API access, commercial
terms and technical validation are confirmed before activation.

The current service is intended for stores shipping from Greece in EUR. Routes depend
on the enabled carrier and service. FedEx destinations are currently limited to 
the EU. Domestic shipping uses the merchant’s own supported courier account and 
agreed tariff. Test and unverified connections cannot create production shipments.
Availability is confirmed during account onboarding.

#### Built for WooCommerce stores and web agencies

Agencies can use the same WooCommerce plugin across client projects, with a separate
authorised connection for each store. Collaborate with CourierAPP on carrier requirements,
checkout shipping rates, label printing and tracking instead of starting a new shipping
integration for every project. See the [WooCommerce setup guide](https://app.courierapp.gr/connect/docs.html#woo)
for the connection workflow.

#### Plugin and service pricing

The plugin is provided without a plugin license fee. CourierAPP is a separate hosted
service. Eligible shipping is paid separately, and own-carrier subscription plans
are optional paid services. SMS, subscriptions, postage and one-off setup charges
are separate. Current service prices and the limited introductory setup offer are
shown at [CourierAPP plans](https://app.courierapp.gr/eshops/plans?lang=en). The
plugin itself is not a time-limited trial. The Free hosted-service plan is for eligible
CourierAPP international shipments. Connecting the merchant’s own domestic carrier
accounts and AI catalogue preparation require an eligible paid plan. Monthly allowances
depend on the selected plan; reprints do not count again, and postage and SMS remain
separate. There is no automatic paid overage.

### Source code and libraries

All plugin PHP, CSS and custom JavaScript is included as editable source in this
ZIP. The checkout editor stylesheet is assets/checkout-editor.css; it is loaded 
directly without minification or compilation. In particular, checkout-editor.js,
assets/print-client.js and assets/print-ui.js are unminified source files. They 
run directly, without a compilation step or a private build service. See SOURCE.
txt for file locations and third-party notices.

PDF merging uses pdf-lib 1.17.1 (MIT): both assets/pdf-lib-1.17.1.source.js (editable
upstream source) and assets/pdf-lib-1.17.1.min.js are included, with assets/pdf-
lib-LICENSE.txt. Upstream source and build instructions: https://github.com/Hopding/
pdf-lib/tree/v1.17.1 . No remote JavaScript or CSS is loaded.

### External services

#### CourierAPP hosted service

This plugin requires a CourierAPP account. The external service is operated by Stylianos
Gerantidis and performs carrier quotes, shipment requests, label storage, tracking,
notifications and optional catalogue assistance. Connecting the store is an explicit
administrator action. Installing or activating an unconnected plugin does not transmit
its orders or catalogue.

API host: https://swdjgtbhifglgnnmwthf.supabase.co/functions/v1/ . The plugin uses
the merchant-api (live), merchant-api-sandbox, merchant-integrations, merchant-sms
and merchant-assistant endpoints. The administrator can also supply their CourierAPP
endpoint through server configuration. Accounts and settings open on courierapp.
gr and app.courierapp.gr; private customer tracking opens on track.courierapp.gr.

Data and triggers:

 * When an administrator saves carrier settings: the selected carrier, API credentials
   and agreed tariff are sent over HTTPS to CourierAPP. Credentials are encrypted
   per store and are never returned to the browser. A connection test sends the 
   required authentication fields to that carrier and does not create a shipment.
 * When an administrator starts store connection: store name, site URL and a one-
   time verification challenge. After approval, authenticated API requests use the
   store-specific token stored on the WordPress server; it is not exposed to checkout
   JavaScript.
 * On checkout recalculation with the configured service enabled: sender/destination
   country, city and postcode, cart value, product quantities and parcel weight/
   dimensions. Automatic packing also sends bounded product names and packing constraints.
   A quote does not purchase a label or book a pickup.
 * On explicitly enabled eligible order fulfilment: order reference, payment/shipping
   choices, sender and recipient names, email, telephone, addresses, parcel contents,
   quantities, dimensions, weight and declared value. CourierAPP forwards required
   shipment data to the selected, configured carrier. Only supported routes and 
   verified contracts are used.
 * When an administrator opens a connected service screen or requests diagnostics:
   the store identifier and token, subscription/usage state, carrier integration
   and shipment references. Fixture diagnostics use local synthetic responses; fixture.
   invalid is not contacted. A separately requested live-rate diagnostic calls CourierAPP
   for a quote only.
 * Scheduled processing uses the existing connection for configured shipment/tracking
   work. Shipment updates and transactional email/SMS use the required order/contact
   data only when the merchant has enabled those workflows. SMS and postage are 
   separately charged services; the plugin never purchases overages automatically.
 * If the merchant explicitly enables the optional email-offer checkbox: customer
   email, order reference and the checked/unchecked consent state are sent to CourierAPP.
   Offers require affirmative consent and include an unsubscribe route. This is 
   separate from necessary shipment updates.
 * When an eligible merchant enables paid catalogue preparation: product IDs, names,
   bounded descriptions, existing weight/dimensions, manufacturer/model/SKU identifiers
   and merchant-supplied source URLs are sent to CourierAPP. Scheduled batches continue
   only while enabled and within the account limits. Customer names, addresses, 
   orders and payment data are not part of catalogue AI requests. The merchant must
   approve each individual or bulk proposal before product measurements are changed.

CourierAPP service terms: https://courierapp.gr/terms/
 CourierAPP privacy policy:
https://courierapp.gr/privacy-policy/ Data processing agreement and subprocessor
information: https://app.courierapp.gr/legal/connect-dpa-2026-10-15.html

#### Supabase hosting and document storage

CourierAPP uses Supabase for its API hosting and document storage. Authenticated
plugin requests described above reach the Supabase-hosted CourierAPP API. When an
authorised user requests an existing label, a short-lived signed storage URL may
be used to fetch its PDF; the storage service receives that request, IP address 
and URL token. The PDF contains the shipment details required for the label. A signed
document URL is not a public catalogue or an executable script. No Supabase account
or key is requested from the merchant.

Supabase terms: https://supabase.com/terms
 Supabase privacy policy: https://supabase.
com/privacy

#### Optional OpenAI catalogue assistance through CourierAPP

Only after the merchant enables eligible paid catalogue assistance, CourierAPP may
send bounded product titles, descriptions, identifiers and existing kg/cm fields
to OpenAI to propose missing measurements. This is a server-to-server operation;
no OpenAI key is installed in this plugin and no customer/order/contact data is 
included. Manufacturer-source lookup may request public product documentation from
the manufacturer/source site; those sites receive the document URL request and the
service’s network address, not customer details. Source evidence and AI estimates
are distinguished in the review screen. AI is not called during checkout. Estimates
are not measured specifications and need merchant approval before saving.

OpenAI business terms: https://openai.com/policies/business-terms/
 OpenAI privacy
policy: https://openai.com/policies/privacy-policy/

No analytics or advertising SDK is included. Carrier artwork is not bundled; merchants
may select lawful images from their own Media Library. The optional CourierAPP credit/
logo in the store’s cart and checkout is off by default and can be enabled or disabled
independently of the service. Hosted CourierAPP tracking and administration retain
the service’s branding.

#### Configure your couriers inside WooCommerce

Open WooCommerce > Courier connections. Each carrier has its own card and connection
status. DHL Express and FedEx use eligible CourierAPP services without requiring
carrier credentials. With an eligible own-carrier plan, configure ACS, SPEEDEX or
Courier Center using your own contract, API credentials and agreed tariff. Verify
the connection, confirm your account and turn the carrier ON. Other integrations
can be requested from their cards.

Turning a carrier OFF stops new quotes and shipment creation without deleting credentials
or historical tracking. Saved checkout quotes are revalidated before a new label
is purchased. Changing credentials requires verification again. Verification does
not purchase a label or schedule a collection. The account environment, supported
services, subscription and live activation policy still apply.

#### In-plugin AI connection guidance

Ask Giannis AI from WooCommerce > Courier connections. The assistant uses your selected
carrier’s current connection status to explain the next setup step. Its buttons 
take you to the relevant settings; it never saves credentials, enables carriers,
purchases labels or schedules collections for you. Quick status guidance and the
explicit support-ticket button remain available without AI. AI conversation uses
the existing allowance of an eligible active paid Connect plan.

Only submit setup questions, not API keys or customer details. When you choose Ask,
CourierAPP sends your question, up to four previous messages and a limited carrier-
status summary to its AI provider (OpenAI). Credential fields are not read by the
chat. Detectable pasted credentials are rejected before inference. Answers are guidance,
not proof of a successful checkout test. Questions, quick answers, AI replies and
human-support replies are stored by CourierAPP per connected store and platform.
Authorized CourierAPP support staff can view this history. A separate ticket opens
only when you request support. Starting a new conversation does not delete previous
history. API request replay and AI usage records are also retained for accounting.

### Optional paid catalogue AI

After explicit merchant activation, the server prepares GPT-5.6 Luna measurement
estimates through the CourierAPP hosted service and the existing store-scoped key.
OpenAI receives bounded product titles, descriptions and kg/cm fields, never customer
data. No OpenAI key is installed in this plugin. Estimates are not measured or manufacturer-
verified specifications. Individual/bulk merchant approval is mandatory before native
WooCommerce fields are saved.

Monthly unique-product allowances: Connect 300: 100; Connect 1000: 300; Business
2000: 600; Scale 5000: 1200; Pro 10000: 2400. Separate daily AI-call caps: 20/50/
100/150/250. Other AI actions share request limits. The persistent queue skips complete
or unchanged processed products and continues at the next unresolved batch after
renewal; it does not restart the catalogue each month. Failures and abstentions 
are shown separately from accepted corrections. WordPress scheduled tasks depend
on site traffic or a configured system cron. No automatic overage purchases.

OpenAI terms: https://openai.com/policies/services-agreement/
 OpenAI privacy: https://
openai.com/policies/privacy-policy/

## Installation

 1. Install and activate WooCommerce, then install CourierAPP Connect.
 2. Open CourierAPP Connect in the WordPress admin menu and request a connection. Approve
    the store in your CourierAPP account, then finish the connection in WordPress.
 3. Add CourierAPP to the appropriate WooCommerce shipping zone and enter the sender
    and packing settings. Eligible paid plans can prepare missing catalogue measurements
    from sources or AI estimates for the merchant to review and approve. Existing product
    measurements are preserved; final packed measurements still matter.
 4. Verify the account’s mode, supported services and terms. Use sandbox diagnostics
    before enabling live checkout.
 5. Enable public checkout explicitly only when the live account and shipping configuration
    are verified.

## FAQ

### Can I display shipping rates in WooCommerce checkout?

Yes. Add CourierAPP to the appropriate shipping zones and configure the sender, 
package dimensions and weights. Checkout rates use your enabled services and verified
account settings. Classic checkout and WooCommerce Cart and Checkout Blocks are 
supported.

### Can I print shipping labels in bulk and share tracking?

Yes. Print existing labels individually or combine them into a PDF in courier-native
size or A4. Orders include shipment tracking details and private, expiring CourierAPP
tracking links for customers.

### Does CourierAPP Connect support WooCommerce HPOS?

Yes. The plugin supports High-Performance Order Storage (HPOS), as well as classic
WooCommerce order storage.

### Is a CourierAPP account required?

Yes. The hosted service performs carrier quotes, shipment creation and tracking.
This plugin cannot provide those functions offline.

### Does installation place an order or book a pickup?

No. A new installation defaults to administrator-only pilot visibility. Live checkout
and shipment automation require explicit configuration and an eligible live account.
Sandbox and fixture tests do not create real carrier pickups.

### Are all carriers available immediately?

No. A carrier must support the requested route and the merchant’s account must be
verified. Domestic services use the merchant’s own agreement. Displaying a carrier
name is not confirmation of production access or endorsement by that carrier.

### Does uninstalling delete customer orders or cancel shipments?

No. Order history is retained and existing carrier bookings are not cancelled. Disconnect
and revoke the store key in CourierAPP if the connection is no longer needed. Removing
the plugin clears its local connection and temporary operational caches; separately
retained service records follow the service agreement and privacy policy.

### Where can I get support?

Use [CourierAPP support](https://courierapp.gr/contact/?source=courierapp-connect)
and include the plugin version and a redacted diagnostic summary. Never send passwords,
API keys, authentication codes or customer details in a public support topic.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CourierAPP Connect – Shipping Labels & Tracking for WooCommerce” is open source
software. The following people have contributed to this plugin.

Contributors

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

[Translate “CourierAPP Connect – Shipping Labels & Tracking for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/courierapp-connect)

### Interested in development?

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

## Changelog

#### 0.4.35

 * Consolidate settings into one CourierAPP Connect menu with internal tabs.
 * Preserve unsaved form fields when switching tabs and keep setup guidance in context.

#### 0.4.34

 * Add a contextual floating chat with quick questions, conversation history and
   human support replies inside the plugin.
 * Store support tickets separately, with retry-safe creation and store-isolated
   history.

#### 0.4.33

 * Add Giannis AI connection guidance directly inside merchant courier settings,
   grounded in the selected store and carrier status.
 * Keep keys server-side, reject pasted secrets, enforce existing AI allowances 
   and provide navigation-only next steps.
 * Add readable credential labels and a deterministic status checklist with a human-
   support route.

#### 0.4.32

 * Add per-carrier ON/OFF controls and store-bound API credential, verification 
   and tariff forms inside WooCommerce.
 * Preserve carrier credentials and shipment history when switching OFF; reject 
   new shipments from stale disabled-carrier quotes.
 * Keep carrier secrets server-side and use permission and nonce checks for every
   settings request.

#### 0.4.31

 * Review fixes: readable editor CSS, protected admin filters, validated catalogue
   input and context-safe output.

#### 0.4.30

 * Use the full CourierAPP namespace for plugin declarations, registrations and 
   new storage, with compatibility for existing connections, orders and catalogue
   queues.
 * Include editable unminified JavaScript and third-party source/license documentation.
 * Expand external-service disclosures and make storefront credit an explicit optional
   setting.

#### 0.4.29

 * One-action regional setup adds or enables CourierAPP across existing shipping
   zones, including postcode zones and fallback, preserving other methods and markup.
 * Reuse actual CourierAPP address/parcel quotes; keep separate Greek contract verification
   and automatic-shipment customs checks.
 * Transactional configuration, administrator nonce/capability checks and unchanged
   pilot/public-checkout visibility.

#### 0.4.28

 * Consolidate compact 3D packing, carrier logos and cart-only suggestions with 
   paid catalogue preparation.
 * Share source-first proposals, monthly product queues and explicit merchant approval
   across WooCommerce, Shopify and the custom API.
 * Preserve known measurements and retain manufacturer-source or AI-estimate evidence;
   AI never runs during checkout.

#### 0.4.22

 * Shared Free plan: 10 verified own-carrier labels per calendar month; no automatic
   overage.
 * Structured branded email editor, consent-based offers and unsubscribe.
 * Optional unchecked email-offer consent for Classic and Blocks checkout.
 * Clear zero-cost delivery labels and versioned checkout assets.

#### 0.4.21

 * Opt-in automatic 3D packing using merchant box stock and product dimensions.
 * Shared server pricing with per-carrier markup and independent GR/EU/non-EU free-
   shipping tiers.
 * Keep merchant postage and customer checkout prices separate; fail closed on missing
   measurements.

#### 0.4.20

 * Print existing labels individually or in a merged PDF from classic and HPOS orders.
 * Show private, expiring unified tracking links at track.courierapp.gr.

#### 0.4.18

 * Synchronize all nine carrier cards, including ELTA Courier, with account-based
   setup and shared download metadata.

#### 0.4.17

 * Prepared the plugin for directory review with service documentation and privacy-
   policy guidance.
 * Added uninstall cleanup for the local connection and temporary caches while retaining
   order records.
 * Corrected version display and packaged the local CourierAPP brand asset.
 * Omitted third-party carrier artwork from the directory package pending redistribution
   rights verification.

## Meta

 *  Version **0.4.35**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [courier](https://wordpress.org/plugins/tags/courier/)[shipping](https://wordpress.org/plugins/tags/shipping/)
   [shipping labels](https://wordpress.org/plugins/tags/shipping-labels/)[tracking](https://wordpress.org/plugins/tags/tracking/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/courierapp-connect/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/courierapp-connect/)