Salt la conținut

Courier Integration in WooCommerce: Complete Guide for FAN Courier, Sameday, DPD and Cargus

WooCommerce courier integration means a fully automated flow: the customer places an order, the AWB is generated automatically, the tracking link arrives by email, and you don't touch anything manually. In this guide we cover the step-by-step configuration for FAN Courier, Sameday, DPD, and Cargus - from official plugin to custom API integration, with a focus on real automation.

At 10 minutes per AWB and 50 daily orders, we're talking about over 8 hours lost every day - a full-time person doing nothing but copying addresses and clicking "Generate". The solution: complete WooCommerce courier integration, with automatic AWB on order status change, real-time shipping cost calculation, and tracking notifications to the customer.

Why you need courier integration in WooCommerce (not just a plugin)

A shipping plugin without proper configuration only solves half the problem. The real difference lies in these components:

  • Shipping cost calculation at checkout - the customer sees the exact price before payment, based on weight, dimensions, and delivery zone
  • Automatic AWB generation - when the order moves to "Processing" status, the AWB is created automatically through the courier's API
  • Integrated tracking - the customer receives an email with the AWB number and a direct link to the tracking page
  • Status synchronization - when the parcel is delivered, the order status updates automatically in WooCommerce
  • Easybox/locker - the customer selects the delivery point directly from checkout, on a map
  • Without these components, you only have a shipping method with a fixed price - which means either you lose money (the price is too low) or you lose customers (the price is too high).

    FAN Courier WooCommerce - official plugin vs. custom API

    FAN Courier integrates into WooCommerce through the official plugin (free) or through direct REST API - the choice depends on your order volume and desired level of automation.

    Official FAN Courier plugin

    The official plugin (available on WordPress.org as Fan Courier for WooCommerce) offers:

  • AWB generation from the WooCommerce dashboard (button on the order page)
  • Shipping cost calculation through the FAN API (/estimate_cost endpoint)
  • Support for standard, collection, and return services
  • Print AWB in PDF format directly from admin
  • Step-by-step configuration:

  • Install the plugin from WooCommerce > Plugins > Add New
  • Go to WooCommerce > Settings > Shipping > FAN Courier
  • Enter the API credentials: client_id, username, password (obtained from your FAN Courier account > API Integrations)
  • Configure delivery services (Standard, Express, cash on delivery collection)
  • Set the default weight per product and default package dimensions
  • Enable automatic cost calculation in Shipping Zones
  • When to go with custom API

    The official plugin covers 80% of cases. You need custom API integration when:

  • You want automatic AWB on status change (the official plugin requires manual click)
  • You need conditional logic (e.g., FAN for Bucharest, a different courier for the rest of the country)
  • You're integrating with an ERP/WMS that needs data from the API response
  • You want to send the tracking email from a custom template
  • FAN Courier exposes a documented REST API, with endpoints for /create_awb, /tracking, /delete_awb, and /print. Authentication is done via header with Authorization: Bearer {token}.

    Pro: The most mature integration ecosystem in Romania, good documentation, dedicated technical support for high-volume partners.

    Con: The admin interface of the plugin could be more intuitive; some advanced options require custom code.

    Sameday WooCommerce - easybox and address delivery

    Sameday integrates into WooCommerce through the official plugin that covers both address delivery and easybox selection with an interactive map directly in checkout.

    Official Sameday plugin

    The Sameday Courier Shipping plugin offers:

  • Interactive map in checkout for easybox locker selection
  • Automatic or manual AWB generation from the order page
  • Shipping cost calculation through the API (/api/client/pricing endpoint)
  • Support for address delivery, easybox, and returns
  • Configuration:

  • Install the plugin and activate it
  • Go to WooCommerce > Sameday > Settings
  • Enter API Username and API Password (from your Sameday account > Integrations)
  • Select the environment: Testing for development, Production for live
  • Configure services: Sameday 24h, Sameday 6h, Locker Next Day
  • In Shipping Zones, add "Sameday" as a method and select the desired services
  • Enable the "Show Locker Map" option to display the map in checkout
  • Easybox - proper configuration

    The easybox component requires special attention. The plugin injects a JavaScript map into the checkout page where the customer selects the locker. Critical points:

  • Theme compatibility: Verify that the map displays correctly on mobile (some themes override the styles)
  • Cache: If you use aggressive caching (LiteSpeed, WP Rocket), exclude the checkout page from cache
  • Checkout blocks: If you use the new block-based WooCommerce checkout, verify compatibility - some older plugin versions only support the classic checkout
  • Pro: Easybox is a real differentiator - 20-30% delivery cost reduction compared to address delivery. Customers prefer it.

    Con: The locker map can slow down checkout on weak connections; requires careful mobile testing.

    DPD WooCommerce - configuration and specifics

    DPD Romania integrates through the official plugin that covers standard delivery, express delivery, and pickup points - a clear advantage for stores with EU customers thanks to the international network.

    DPD integration

    The DPD Romania plugin is configured as follows:

  • Obtain API credentials from the DPD Romania portal (username, password, clientId)
  • Install the plugin and go to WooCommerce > Settings > Shipping > DPD
  • Enter the credentials and select the source depot
  • Configure services: DPD Classic, DPD Express, DPD Pickup
  • Set pricing rules: flat rate, weight-based, or free above a certain value
  • DPD specifics

  • DPD Pickup - a network of pickup points, similar to Sameday's easybox; displayed as a dropdown or map in checkout
  • Parcel insurance - DPD allows setting the declared value directly from the AWB; the plugin automatically pulls the order value
  • Multi-parcel shipments - supports orders that require multiple parcels, with linked AWBs
  • Print label - generates labels in ZPL format (for thermal printers) or PDF
  • Pro: Strong international network if you also have EU customers. Growing pickup points network.

    Con: Plugin less frequently updated than FAN or Sameday; smaller community in Romania.

    Cargus WooCommerce - plugin, API, and costs

    Cargus (formerly Urgent Cargus) offers WooCommerce integration through an official plugin and REST API, with competitive pricing for high volumes.

    Cargus plugin

    The Cargus WooCommerce plugin offers:

  • AWB generation from the order page
  • Shipping cost calculation at checkout
  • Print AWB in PDF or thermal format
  • Cash on delivery support
  • Configuration:

  • Obtain the API key from the Cargus portal > Settings > API Key
  • Enter API Key, username, and password in the plugin settings
  • Configure the service type: Standard, Express, pickup point
  • Set the default weight and standard package dimensions
  • Integration costs

    Cargus does not charge additional fees for API usage. The real costs are:

  • Premium plugin: Some versions have advanced features (automatic AWB, status sync) only in the pro version (~50-100 EUR/year)
  • Configuration time: 2-4 hours for basic setup, 1-2 days for custom integration with automatic AWB
  • Maintenance: Plugin updates with each major WooCommerce update (usually 2-3 per year)
  • Pro: Competitive pricing for high volumes; stable and well-documented API.

    Con: Smaller pickup point network than Sameday or DPD.

    Automatic shipping cost calculation - weight, volume, and zone

    Correct shipping cost calculation at checkout directly impacts conversion rate: a price that's too low eats into your margin, a price that's too high drives the customer away.

    How the calculation works

    Each courier exposes a price estimation endpoint that receives:

  • Actual weight - the sum of product weights in the cart (_weight field in WooCommerce)
  • Volumetric weight - calculated from dimensions: (L x W x H) / 6000 (in cm/kg)
  • Delivery zone - determined from the recipient's postal code
  • Service type - standard, express, locker
  • COD value - if payment is on delivery
  • The courier returns the calculated price, which the plugin displays at checkout.

    Proper configuration

  • Fill in weight and dimensions for each product - without this data, calculation is impossible. Do an audit and complete the Weight (kg), Length (cm), Width (cm), Height (cm) fields
  • Set the package weight - add 100-300g for packaging in the plugin settings
  • Configure Shipping Zones - in WooCommerce > Settings > Shipping > Shipping Zones, create zones for Bucharest, counties, and optionally international
  • Test with real addresses - place test orders to different zones and compare the checkout price with the one from the courier's portal
  • Fixed price vs. calculated price

    For stores with similarly sized products (e.g., clothing, cosmetics), a fixed price per zone can be simpler and equally effective:

  • Bucharest: 15 RON
  • Rest of the country: 20 RON
  • Free over 200 RON
  • For stores with varied products (e.g., furniture + accessories), real-time calculated pricing is mandatory.

    Automatic AWB in WooCommerce - generation on status change

    Automatic AWB generation eliminates the biggest bottleneck in order processing: instead of opening each order and clicking "Generate AWB", the system handles everything on its own.

    How to implement automatic AWB

    The standard method: a WordPress hook that triggers on order status change:

    add_action('woocommerce_order_status_processing', 'generate_awb_automatically');
    
    

    function generate_awb_automatically($order_id) {

    $order = wc_get_order($order_id);

    // Courier API call for AWB generation

    $awb_number = ''; // courier API response

    // Save AWB number in order meta (HPOS-compatible)

    $order->update_meta_data('_awb_number', $awb_number);

    $order->save();

    }

    Most premium plugins offer this option natively - you enable it from settings without custom code.

    The fully automated flow

  • The customer places the order and pays online
  • The status automatically moves to Processing
  • The hook triggers and calls the courier's API
  • The AWB is generated and the number is saved in the order
  • The "Order shipped" email is sent with a tracking link
  • When the parcel is delivered, a cron job checks the status and marks the order as Completed
  • Configuring automatic AWB with courier APIs can be complex - especially when managing multiple couriers simultaneously. At Creative Side, we integrate couriers into WooCommerce with automatic AWB generation and tracking for dozens of stores. If you prefer to focus on sales rather than technical configurations, request an estimate.

    Common errors with automatic AWB

  • Incomplete address - the courier API returns an error if the county or postal code is missing. Solution: make the fields required in checkout
  • Missing weight - products without a filled-in weight block generation. Solution: set a default weight in the plugin (e.g., 0.5 kg)
  • API limit - some couriers have rate limiting. Don't generate more than 1 AWB/second. Solution: add a 2-second delay between batch calls
  • Integrated tracking - email notifications with tracking link

    Integrated tracking in WooCommerce automatically sends the AWB number and tracking link in the status update email, without the customer having to ask.

    Implementing tracking in emails

    The best courier plugins automatically add the AWB number and tracking link in the WooCommerce status update email. If your plugin doesn't do this, you add it manually:

    add_action('woocommerce_email_order_details', 'add_tracking_to_email', 20, 4);
    
    

    function add_tracking_to_email($order, $sent_to_admin, $plain_text, $email) {

    if ($email->id !== 'customer_completed_order') return;

    $awb = $order->get_meta('_awb_number');

    if ($awb) {

    $tracking_url = 'https://www.fancourier.ro/awb-tracking/?awb=' . $awb;

    echo '<h2>Parcel tracking</h2>';

    echo '<p>AWB number: <strong>' . esc_html($awb) . '</strong></p>';

    echo '<p><a href="' . esc_url($tracking_url) . '">Track your parcel</a></p>';

    }

    }

    Tracking links per courier

    Each courier has a public tracking page:

  • FAN Courier: https://www.fancourier.ro/awb-tracking/?awb={AWB}
  • Sameday: https://sameday.ro/#/awb/{AWB}
  • DPD: https://tracking.dpd.ro/?shipmentNumber={AWB}
  • Cargus: https://app.urgentcargus.ro/Private/Tracking.aspx?id={AWB}
  • In a multi-courier implementation, you also store the courier name in order meta, then dynamically build the correct link.

    My Account page with tracking

    In addition to email, add a tracking section on the "My Account" > "Orders" page. The customer sees the latest order status and can access the tracking link anytime, without searching through email.

    Multi-courier - how to manage multiple couriers on the same store

    Most online stores in Romania use 2-3 couriers simultaneously - FAN Courier for high volume, Sameday for easybox, DPD for international deliveries. Here are the three main management strategies.

    Multi-courier strategies

    1. Courier selected by customer at checkout:

    The customer chooses between FAN, Sameday, and DPD. Each appears as a separate shipping method, with real-time calculated pricing. This is the most common approach.

    2. Courier selected automatically based on rules:

  • Order under 5 kg and urban location → Sameday easybox (minimum cost)
  • Order over 5 kg → FAN Courier standard
  • International destination → DPD
  • Implement with a shipping rules plugin or with custom code on the woocommerce_package_rates hook
  • 3. Courier selected manually by operator:

    For stores with low volume (under 20 orders/day), the operator chooses the courier from admin. Not ideal, but simple.

    Technical management

    When you have multiple courier plugins active simultaneously:

  • JavaScript conflicts - especially on the checkout page, the easybox map and DPD Pickup selector can conflict. Test each combination
  • Shipping Zones - configure zones correctly so that all couriers don't appear in all zones
  • Order meta - standardize keys: _shipping_courier (fan/sameday/dpd/cargus), _awb_number, _tracking_url
  • Performance - each plugin makes API calls at checkout for price calculation. With 3 couriers, you have 3 external calls. Implement caching on results (1-hour transient per postal code + weight)
  • This multi-courier integration connects directly to invoice automation with SmartBill - once the AWB is generated automatically, the invoice is issued in the same flow, without manual intervention. If you're in the WooCommerce online store creation phase, plan the courier integration from the start - it's much simpler than adding it later.

    Which plugin unifies multiple couriers

    There are also "umbrella" plugins that integrate multiple couriers into a single interface:

  • Flavor (formerly BookuriOnline Shipping) - supports FAN, Sameday, Cargus, DPD from a single plugin
  • WP Desk Flexible Shipping - advanced pricing rules, compatible with individual courier plugins
  • The advantage: a single AWB management interface. The disadvantage: dependency on a third-party plugin that must keep up with all couriers' APIs.

    How to choose the right courier for your store

    The choice depends on your store's profile - there is no "best courier", only the right combination:

    Criterion FAN Courier Sameday DPD Cargus
    National coverage Excellent Very good Good Very good
    Easybox/lockers No Yes (3,000+) Yes (pickup) Limited
    International delivery Limited No Excellent Limited
    WooCommerce plugin Mature Mature Medium Medium
    Automatic AWB (plugin) Manual/custom Yes Manual/custom Manual/custom
    Average parcel price (standard) 15-22 RON 14-20 RON 16-24 RON 14-21 RON

    For a store that sells predominantly in Romania, the combination FAN Courier + Sameday easybox best covers the needs: FAN for address delivery (volume, reliability) and Sameday for lockers (lower cost, customer preference). If you also have EU customers, add DPD as a third option.

    If you want to understand how these integrations affect the performance and conversions of your WooCommerce store, shipping cost and tracking experience are two factors with direct impact. And for an overview of WordPress and WooCommerce development, courier integration is one of the critical pieces in the puzzle of a functional store.

    FAQ - WooCommerce Courier Integration

    How long does a WooCommerce courier integration take?

    For a single courier with an official plugin, basic configuration takes 2-4 hours. A complete integration with automatic AWB, tracking in emails, and real-time cost calculation requires 1-3 days. Multi-courier integration with automatic selection rules adds another 2-3 days of development and testing.

    Can I use multiple couriers simultaneously in WooCommerce?

    Yes. You install each courier's plugin and configure separate Shipping Zones or parallel shipping methods. The customer chooses the courier at checkout. Alternatively, you use an umbrella plugin (Flavor, WP Desk) or automatic rules that select the courier based on weight, zone, or order value.

    What do I do if the courier plugin doesn't support automatic AWB?

    You have two options: (1) use a premium plugin that includes this functionality, or (2) develop a custom hook on woocommerce_order_status_processing that calls the courier's API and generates the AWB automatically. The second option requires PHP knowledge and access to the courier's API documentation.

    How do I display the easybox option in WooCommerce checkout?

    The official Sameday plugin includes an interactive map that is automatically injected into checkout when the customer selects the locker delivery service. Make sure that: (1) you don't have cache on the checkout page, (2) the theme doesn't override the map styles, (3) you're using the classic WooCommerce checkout or verify compatibility with checkout blocks.

    How much does courier integration cost for a WooCommerce store?

    The cost depends on complexity. Free official plugin + self-configuration: 0 RON (just time). Premium plugin with automatic AWB: 200-500 RON/year. Professional custom integration with automatic AWB, tracking, multi-courier, and automatic rules: 2,000-5,000 RON, one-time. Annual maintenance: 500-1,000 RON for updates and compatibility with new WooCommerce versions.


    Need professional courier integration? We configure FAN Courier, Sameday, DPD, or Cargus with automatic AWB and integrated tracking - from plugin setup to custom API integration. Request an estimate and we'll tell you exactly what it involves for your store.

    Postări conexe

    Blog

    Ultimele Articole

    Programeaza o Discutie

    Audit Gratuit

    Cere Oferta