Drusoft Shipping for Speedy
A clean, conflict-free Speedy integration for WooCommerce stores in Bulgaria.
Use with caution
Drusoft Shipping for Speedy works, but test it on a staging site before relying on it in 2026. It runs on 10+ sites and was last updated 7 days ago, and scores 61/100 on our health check.
- Actively developed — last update 7 days ago
- Small user base (10+ active installs)
- Very few reviews so far
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Drusoft Shipping for Speedy stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| bulgaria | #20 |
| delivery | >100 |
| shipping | >100 |
| speedy | #15 |
| woocommerce | >100 |
Version adoption
Share of active sites per release.
About Drusoft Shipping for Speedy
From the official readme · v1.1.4Description
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 or Sameday?
This plugin has siblings for the other Bulgarian couriers: Drusoft Shipping for Econt and Drusoft Shipping for Sameday (offices, address delivery and easybox lockers). All three share the same checkout UI, settings layout, and admin order-management screens — once you’ve learned one, the others feel familiar. Install as many as your store delivers with; each keeps its own checkout selection.
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 base URL: https://api.speedy.bg/v1/
- Speedy Terms and Conditions: https://www.speedy.bg/en/general-conditions
- Speedy Privacy Policy: https://www.speedy.bg/en/privacy-policy
- Speedy API Documentation: https://api.speedy.bg/
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 thewp_drushfo_citiesdatabase 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 thewp_drushfo_officestable, 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.
Installation
- Upload the
drusoft-shipping-for-speedyfolder to the/wp-content/plugins/directory. - Ensure WooCommerce is installed and active.
- Activate the plugin through the Plugins menu in WordPress.
- Navigate to WooCommerce > Settings > Shipping > Shipping Zones.
- Add or edit a shipping zone (e.g., “Bulgaria”).
- Click Add shipping method and select Drusoft Shipping for Speedy.
- Enter your Speedy API Username and Password, then click Save Changes.
- The plugin will validate your credentials and unlock additional configuration options.
- Background sync for cities and offices starts automatically via the WooCommerce Action Scheduler.
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.
Changelog
Recommended update. Orders placed without a calculated delivery price now carry an order note so you notice before shipping; the daily office/city refresh self-heals if it was never scheduled; the settings screen shows the last refresh time.
1.1.4
- Fixed: on shops that tax shipping, WooCommerce added its VAT on top of Speedy’s price, which already contains VAT (Speedy’s reply lists amount, VAT and total separately), so the customer paid the tax twice. The plugin now hands WooCommerce the net part; the customer sees exactly what Speedy bills.
- Fixed: when Speedy refused or did not answer the very first quote of a session, the delivery was priced at 0.00 with nothing logged and no note — the order shipped free. Such a quote is now priced from the last quote of the session or from a new fallback table (to address, to office, to automat, per kg above 3 kg), the order carries a note with Speedy’s answer, and the failure is logged.
- Improved: when Speedy stops answering (timeout, refused connection), quotes pause for two minutes and the table prices the checkout meanwhile.
1.1.3
- New: when an order is placed but the delivery price could not be calculated (Speedy did not answer), the order is still accepted — you should not lose the sale — and an order note now tells you so, with the chosen office, so you see it in the order history before shipping. Previously such an order arrived with a 0.00 shipping line and nothing explaining why.
- New: the daily refresh of offices and cities now makes sure it is scheduled on every normal page load, not only when the plugin is activated or its settings are saved from the admin screen. Shops set up with wp-cli or with settings written programmatically had no refresh at all and were quietly serving weeks-old office lists.
- New: the settings screen shows when offices and cities were last refreshed from Speedy and when the next refresh is due, and warns if it is more than three days old.
1.1.2
- Important fix: a cash-on-delivery order could receive a waybill carrying no cash-on-delivery at all, so the courier would have handed the parcel over without collecting the money. It happened when the customer switched to наложен платеж at the last step, after the quote had been built for card payment, and again when the shop pays the courier fee itself. Both cases are now closed and the amount is taken from the order rather than from the stale quote.
- Important fix: when the delivery-price call failed at checkout, the office the customer had picked was not saved on the order. The order still went through — correctly, you should not lose the sale — but it reached you marked “to office” with no office on it, and the waybill could not be created without phoning the customer. This affected every shop using WooCommerce’s High-Performance Order Storage, which is the default for new installations.
- Fixed: the chosen office, delivery type and stored order data could be written as several repeated rows on one order instead of a single value that gets replaced.
1.1.1
- Important fix: on cash-on-delivery orders the courier fee could be charged to the customer at the counter even though the order had already charged them for shipping — so they paid for delivery twice, with no warning at checkout. The fee is now billed to the merchant whenever the order carries a shipping charge. Stores that offer free shipping are unaffected. If you ship COD and charge for delivery, please update.
- New: office and automat picking now uses a map bundled with the plugin instead of the Speedy-hosted locator. The old locator could not be used on a phone — its selection button fell outside the visible area — so mobile customers had no way to choose an office from the map.
- Fixed: the office list sent to the checkout no longer carries map coordinates for every location. In Sofia that was 226 KB on a field most customers never open; the map now loads its data only when opened.
1.1.0
- Important fix: the cash-on-delivery (COD) amount sent to Speedy now equals the full order total (incl. VAT and shipping). Previously the waybill carried the items subtotal excluding VAT, so the courier collected less than the order total. If you ship COD, please update.
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.
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Drusoft Shipping for Speedy alternatives
All bulgaria plugins →FAQ
Drusoft Shipping for Speedy: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 16, 2026
Is Drusoft Shipping for Speedy free?
Yes. Drusoft Shipping for Speedy is free to download and use from the official WordPress.org plugin directory.
Is Drusoft Shipping for Speedy safe to use in 2026?
Drusoft Shipping for Speedy works, but test it on a staging site before relying on it in 2026. It runs on 10+ sites and was last updated 7 days ago, and scores 61/100 on our health check.
How many websites use Drusoft Shipping for Speedy?
Drusoft Shipping for Speedy is active on 10+ WordPress websites and has been downloaded 1,160 times since it launched in April 2026. It was downloaded 182 times in the last 30 days.
Does Drusoft Shipping for Speedy work with WordPress 7.1?
Drusoft Shipping for Speedy is officially tested up to WordPress 7.0.7, while the latest release is 7.1.3. It may still work, but try it on a staging site first.
What PHP version does Drusoft Shipping for Speedy need?
Drusoft Shipping for Speedy requires PHP 8.0 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Drusoft Shipping for Speedy last updated?
The latest version, 1.1.4, was released on October 9, 2026 (7 days ago).
Who makes Drusoft Shipping for Speedy?
Drusoft Shipping for Speedy is developed and maintained by drusoftltd.
What are the best alternatives to Drusoft Shipping for Speedy?
The most popular alternatives to Drusoft Shipping for Speedy are AboveWP Bulgarian Eurozone (2K+ installs), Nekorekten.com – Official (100+ installs) and Speedy And Econt Shipping (100+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card