Drusoft Shipping for Speedy icon

Drusoft Shipping for Speedy

Drusoft Shipping for Speedy is a WordPress plugin with the following stats:

  • #3,527 Global Rank
  • 10+ active installs

PF Score (About PF Scores)

PF Score is not a quality guarantee. It is a ranking based on available public signals.

Bronze51.8
Platinum
Gold
Silver
Bronze
Low

Score Breakdown

16.7
Popularity 40% 10+ active installs
60
Reputation 35% No ratings yet
96.7
Freshness 25% Updated 1 months ago

No vulnerability history

Download Trends

Loading download data…

Vulnerabilities

No known vulnerabilities

This plugin has no records in the Wordfence Intelligence vulnerability database.

About Drusoft Shipping for Speedy

A clean, conflict-free Speedy integration for WooCommerce stores in Bulgaria.

Drusoft Shipping for Speedy is a high-performance, conflict-free WooCommerce integration for Speedy delivery services in Bulgaria. Designed for speed, reliability, and ease of use, it provides a seamless shipping experience for both merchants and customers.

Important Compatibility Note

This plugin is currently not compatible with the WooCommerce Block Cart and Block Checkout pages. Please ensure your store uses the classic shortcode-based Cart ([woocommerce_cart]) and Checkout ([woocommerce_checkout]) pages.

For Your Customers

  • Dynamic Checkout Experience — Real-time city and office selection directly on the checkout page.
  • Multiple Delivery Types — Choose between delivery to Address, Speedy Office, or Speedy Automat (APS).
  • Smart Street Search — Built-in autocomplete for Bulgarian street names with intelligent prefix handling (e.g., stripping “ул.”, “бул.”).
  • Live Service Selection — Customers can choose between available services (Economy, Express, etc.) with real-time price updates.
  • Region Mapping — Automated city filtering based on the selected Bulgarian province.

For Merchants

  • HPOS Compatible — Fully supports WooCommerce High-Performance Order Storage.
  • Automated Data Sync — Uses Action Scheduler to keep Bulgarian cities and Speedy offices up-to-date in the background.
  • Credential Validation — Validates API credentials in real-time before saving.
  • Custom Pricing — Support for custom pricing CSV files for specialized shipping rates.
  • Advanced Order Management — Dedicated metabox in the order edit screen, integrated waybill generation, and bulk actions for managing multiple Speedy orders.
  • Clean Codebase — Built with modern PHP standards and conflict-free architecture.

Also Ship via Econt?

This plugin has a sibling for the Econt courier: Drusoft Shipping for Econt. Both plugins share the same checkout UI, settings layout, and admin order-management screens — once you’ve learned one, the other feels familiar. Install both if your store supports delivery via either courier.

External Services

This plugin relies on the Speedy REST API, a third-party service provided by Speedy AD (Speedy Bulgaria), to deliver its shipping functionality. The plugin cannot operate without a valid Speedy API account.

What the service is

Speedy AD is a courier and logistics company operating in Bulgaria. Their REST API allows merchants to calculate shipping rates, create shipments (waybills), manage deliveries, and retrieve location data (cities, offices, automats, streets).

What data is sent and when

  • API credentials (username and password) — sent with every API request for authentication.
  • Recipient address data (city, street, office ID) — sent when calculating shipping rates at cart/checkout and when creating a waybill after order placement.
  • Shipment details (weight, dimensions, COD amount, service type, sender/recipient info) — sent when generating a waybill.
  • Waybill ID — sent when cancelling a shipment, requesting a courier pickup, or printing a waybill label.
  • Location queries (city name, street name) — sent when the customer or admin searches for cities, offices, or streets.

Data is transmitted only when the corresponding action is triggered (e.g., a customer proceeds to checkout, a merchant generates a waybill, or the background sync runs).

Service links

Speedy API Endpoints

This plugin communicates with the Speedy REST API v1 (https://api.speedy.bg/v1/). All requests are authenticated using the userName and password fields configured in the shipping method settings. Below is a summary of every endpoint used, along with its purpose and where it is called in the plugin.

Authentication & Account

  • POST /v1/client/contract — Validates API credentials and retrieves the list of client contracts (sender accounts). Used during credential validation when the merchant saves settings, and to populate the “Sender (Object)” dropdown in the shipping method configuration.
  • POST /v1/client/contract/info — Retrieves detailed contract information, including special delivery requirements (e.g., mandatory open-on-test, two-way receipt). Used to populate the “Special Requirements” multi-select in the shipping method settings.

Location Data

  • POST /v1/location/site — Searches for cities/sites by name within Bulgaria (countryId: 100). Used by the admin Select2 city search when configuring the sender city, and for the public-facing city autocomplete on checkout.
  • POST /v1/location/site/csv/100 — Downloads the complete list of Bulgarian cities in CSV format. Used by the background syncer (Drushfo_Syncer) to populate and update the wp_drushfo_cities database table via Action Scheduler.
  • POST /v1/location/office — Retrieves all Speedy offices and automats for Bulgaria. Used in two contexts: (1) the background syncer updates the wp_drushfo_offices table, and (2) the admin Select2 office search for configuring the sender office.
  • POST /v1/location/street — Searches for streets within a specific city (siteId). Used on the checkout page to provide street autocomplete when the customer selects “Delivery to Address.”

Services & Pricing

  • POST /v1/services — Retrieves the list of available shipping services (e.g., Standard 505, Express 501) for the authenticated account. Used to populate the “Active Services” multi-select in the shipping method settings.
  • POST /v1/calculate — Calculates the shipping price for a specific service, weight, destination, and delivery type. Used at cart/checkout time when the pricing method is set to “Speedy Calculator” or “Calculator + Surcharge.”

Shipment Management

  • POST /v1/shipment/ — Creates a new shipment (waybill) with the Speedy system. Includes sender/recipient details, service, weight, COD amount, and delivery type. Used by the waybill generator, either automatically on order status change or manually from the order metabox.
  • POST /v1/shipment/cancel — Cancels an existing shipment by its waybill ID. Used from the “Cancel Shipment” button in the Speedy order metabox or the Speedy Orders bulk action.
  • POST /v1/pickup — Requests a courier pickup for one or more shipments. Accepts a visit end time and auto-adjusts the pickup date. Used from the “Request Courier” button in the order metabox.
  • POST /v1/print — Generates a printable waybill label (PDF) for a shipment. Supports A4, A6, and label formats with optional additional barcode copy. Used from the “Print Waybill” button in the order metabox and the Speedy Orders page.

Rate Limiting & Caching

The plugin minimizes API calls through several strategies:

  • Local database tables — Cities and offices are synced periodically via Action Scheduler and queried locally, avoiding per-request API calls for location data.
  • Transient caching — Service lists, contract data, and client information are cached using WordPress transients to reduce redundant API calls.
  • Session storage — Cart selections (city, delivery type, office) are stored in the WooCommerce session, so shipping calculations reuse the customer’s choices without extra lookups.

Frequently Asked Questions

What Speedy API credentials do I need?

You need the username and password provided by Speedy for their REST API (v1). Contact Speedy Bulgaria to obtain API access.

Does this plugin support the WooCommerce Block Checkout?

Not yet. The plugin currently requires the classic shortcode-based Checkout page ([woocommerce_checkout]). Block Checkout support is planned for a future release.

How are cities and offices kept up to date?

The plugin uses the WooCommerce Action Scheduler to sync cities and offices from the Speedy API in the background. You can monitor the scheduled action (drushfo_sync_locations_event) under WooCommerce > Status > Scheduled Actions.

What pricing methods are available?
  • Speedy Calculator — Real-time API calculation based on weight, destination, and service.
  • Fixed Price — Configurable per delivery type (Address, Office, Automat).
  • Free Shipping — Always free, or triggered by a minimum order amount per delivery type.
  • Custom Prices (CSV) — Upload a CSV file for complex pricing rules based on weight and order total.
  • Calculator + Surcharge — API price plus a fixed additional fee.
How does the CSV custom pricing work?

Upload a CSV with columns: service_id, delivery_type, max_weight, max_order_total, price. Delivery type mapping: 0 = Address, 1 = Office, 2 = Automat. The plugin matches rows where the order’s weight and subtotal are within the specified limits.

Can I automatically generate waybills?

Yes. Enable the Automatic Waybill option in the shipping method settings. A waybill will be created automatically when an order reaches the “Processing” or “On Hold” status.

Ratings & Reviews

Recent Reviews

Loading reviews…

View all reviews on WordPress.org (opens in a new tab)

Changelog

1.0.9

  • Fixed: switching the shipping method to another courier via keyboard (arrow keys on the radio group), assistive technology or a script left this plugin’s city dropdown active under the other courier, with Speedy city IDs the other courier could misread. The cleanup that previously ran only on mouse clicks now also runs for those switches.
  • Fixed: the script/style version constant had not been bumped since 1.0.7, so browsers could keep serving a cached older checkout script after updating the plugin.

1.0.8

  • Fixed: the delivery city was stored as Speedy’s internal site ID (e.g. “56784”) in the order’s billing/shipping city field, so the WooCommerce order screen, invoices and CSV exports showed a number instead of the city name. The city name and its postcode are now saved on the order, while the site ID is kept in order meta for waybill generation (delivery is unaffected).

1.0.7

  • Improved: customers now see the Speedy parcel-tracking link (waybill number + a link to speedy.bg) on the order-received page, in My Account, on the order-tracking page, and in their order emails — shown once the waybill is generated.
  • Improved: orders delivered to a Speedy automat (APT) are now labelled “Speedy automat” instead of “Speedy office” on the order admin screen.

1.0.6

  • Improved: the selected Speedy office (name and address) is now shown directly on the WooCommerce order screen, in the shipping-address column. Previously only the internal office ID was stored, so merchants had to generate a waybill to see which office the customer chose. Resolved at display time, so it also applies to orders placed before this version.

1.0.5

  • Fixed: when both Drusoft Shipping for Speedy and Drusoft Shipping for Econt are active, switching couriers during checkout could leave the newly selected courier’s office/map picker uninitialised. Both plugins tagged their city dropdown with the same generic Select2 class; each now marks its own.
  • Fixed: each courier keeps its own delivery selection (province, city, office, delivery type, postcode). A value entered under one courier no longer carries over to the other through the shared address fields.
  • Fixed: changing the province after the city/office were already chosen now clears them and reloads the cities for the new province (the province-change handler is bound directly on the field so it survives Select2 re-initialisation).
  • Improved: switching back to Speedy no longer briefly shows an intermediate price — the order review is greyed while it re-quotes.
  • i18n: the “Delivery Method” field label is now translatable.

1.0.4

  • Compatibility: bumped minimum PHP from 7.4 to 8.0 (7.4 has been end-of-life since November 2022). Tested up to WordPress 7.0.
  • Fixed: stale Speedy price persisted in the cart total after the customer switched to a different shipping method during checkout. New drushfo_clear_speedy_when_unselected hook + calculate_shipping short-circuit clear the Speedy session keys and invalidate the package-rate cache when Speedy is no longer selected.
  • Fixed: shipping price now re-quotes when the customer toggles between Cash on Delivery and a non-COD payment method on checkout (COD adds a handling fee). The package hash already varied by payment_method server-side; the missing piece was a JS trigger to fire update_checkout on payment_method change.
  • Improved: late drushfo_get_services AJAX responses no longer re-inject the Speedy service-tier radios into the order review after the customer switched to a non-Speedy method.

1.0.3

  • Fixed: On cart page, when Speedy is preselected as the default shipping method, the shipping calculator is now opened automatically.
  • Improved: Prevented race with WooCommerce core cart script hiding the calculator on initial load.

1.0.2

  • Fixed: Shipping method not initializing when it is the only method in a shipping zone (WooCommerce renders a hidden input instead of radio buttons for single methods).
  • Fixed: Shipping method enabled/disabled toggle and custom title now correctly read from instance settings instead of empty global settings.

1.0.1

  • Added a WordPress Playground blueprint for plugin page Live Preview with WooCommerce preinstalled.
  • Declared WooCommerce as a required plugin and updated installation instructions accordingly.
  • Improved WordPress.org compatibility, including plugin metadata, text domain alignment, and compliance fixes.
  • Fixed shipping recalculation when switching payment methods during checkout.

1.0.0

  • Initial release.
  • Full Speedy API integration for shipping calculation and waybill generation.
  • Support for delivery to Address, Office, and Automat (APS).
  • Dynamic city, office, and street selection on checkout.
  • Multiple pricing methods: Speedy Calculator, Fixed Price, Free Shipping, Custom CSV, Calculator + Surcharge.
  • Free shipping thresholds configurable per delivery type.
  • Background sync of Bulgarian cities and Speedy offices via Action Scheduler.
  • HPOS (High-Performance Order Storage) compatibility.
  • Admin order management: waybill generation, printing, courier requests, and cancellation.
  • Nonce-protected AJAX handlers with separate public and admin scopes.
  • Bulgarian (bg_BG) translation included.

Alternatives to Drusoft Shipping for Speedy

Other WordPress plugins serving a similar purpose, ranked by relevance and PF Score.

Platinum93.3
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce icon

CartFlows

WooCommerce funnel builder enabling one-click upsells, order bumps, and checkout optimization.

★ 4.8/5·200K+ installs·Updated 11 Aug 2026
Platinum93.0
Variation Swatches for WooCommerce icon

Variation Swatches for WooCommerce

Replaces WooCommerce variation dropdowns with visual color, image, and button swatches for product attributes.

★ 4.8/5·300K+ installs·Updated 8 Jun 2026
Platinum92.6
User Switching icon

User Switching

Switch between user accounts instantly in WordPress and WooCommerce without logging out.

★ 4.9/5·200K+ installs·Updated 9 Jul 2026
Platinum91.5
WP Crontrol icon

WP Crontrol

Provides direct control and visibility over WordPress scheduled cron events and their execution history.

★ 4.5/5·300K+ installs·Updated 31 Jul 2026
Platinum90.8
Customer Reviews for WooCommerce icon

Customer Reviews for WooCommerce

Automate review collection through post-purchase reminders to boost customer feedback and sales.

★ 4.8/5·80K+ installs·Updated 3 Aug 2026
Platinum90.4
Admin Columns icon

Admin Columns

Add, remove, and reorder columns in WordPress admin tables without writing code.

★ 4.9/5·100K+ installs·Updated 29 May 2026
Platinum90.3
Germanized for WooCommerce icon

Germanized for WooCommerce

Localizes WooCommerce for German legal and market requirements, including compliance features.

★ 4.8/5·70K+ installs·Updated 10 Aug 2026
Platinum90.3
Discount Rules for WooCommerce icon

Discount Rules for WooCommerce

Configure bulk discounts, quantity pricing, and dynamic pricing rules for WooCommerce stores.

★ 4.9/5·100K+ installs·Updated 28 May 2026