Title: Drusoft Shipping for Econt
Author: drusoftltd
Published: <strong>26. Mai 2026</strong>
Last modified: 1. Oktober 2026

---

Plugins suchen

![](https://ps.w.org/drusoft-shipping-for-econt/assets/banner-772x250.png?rev=3548787)

![](https://ps.w.org/drusoft-shipping-for-econt/assets/icon-256x256.png?rev=3548787)

# Drusoft Shipping for Econt

 Von [drusoftltd](https://profiles.wordpress.org/ventzie/)

[Herunterladen](https://downloads.wordpress.org/plugin/drusoft-shipping-for-econt.1.0.12.zip)

[Live-Vorschau](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/?preview=1)

 * [Details](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/#description)
 * [Rezensionen](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/#reviews)
 *  [Installation](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/#installation)
 * [Entwicklung](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/#developers)

 [Support](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/)

## Beschreibung

**Drusoft Shipping for Econt** is a high-performance, conflict-free WooCommerce 
integration for Econt delivery services in Bulgaria. Real-time shipping rates, two-
step waybill generation, courier pickup requests, and full order management — all
through the official Econt API.

#### 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, office, and automat (APS) selection
   directly on the checkout page.
 * **Multiple Delivery Types** — Choose between delivery to Address, Econt Office,
   or Econt Automat (APS).
 * **Smart Street Search** — Built-in autocomplete for Bulgarian street names with
   intelligent prefix handling (e.g. „ул.“, „бул.“).
 * **Region-Based City Filtering** — Cities are filtered by the Bulgarian province
   selected at checkout.

#### For Merchants

 * **HPOS Compatible** — Fully supports WooCommerce High-Performance Order Storage.
 * **Automated Data Sync** — Uses Action Scheduler to keep Bulgarian cities and 
   Econt offices/automats up to date in the background.
 * **Waybill Management** — Generate, print (PDF), and cancel waybills from the 
   order edit screen.
 * **Courier Pickup Requests** — Request a courier pickup directly from WP admin,
   with automatic skip of weekends and Bulgarian bank holidays.
 * **Dedicated Econt Orders Page** — Filtered admin list of every Econt order with
   bulk Generate / Print / Cancel actions.
 * **Bulgarian (bg_BG) Translation Included.**

#### Also Ship via Speedy or Sameday?

This plugin has siblings for the other Bulgarian couriers: [Drusoft Shipping for Speedy](https://wordpress.org/plugins/drusoft-shipping-for-speedy/)
and **Drusoft Shipping for Sameday** (offices, address delivery and easybox lockers;
submitted to the plugin directory and available on [GitHub](https://github.com/ventzie555/drusoft-shipping-for-sameday)
in the meantime). 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 **Econt API**, a third-party service provided by **Econt
AD** (Econt Bulgaria), to deliver its shipping functionality. The plugin cannot 
operate without a valid Econt API account.

#### What the service is

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

#### What data is sent and when

Authentication: every request is sent over HTTPS with an `Authorization: <private_key
>` header. The Store ID is only stored locally to identify the merchant in the WooCommerce
settings and is not transmitted on every request.

 * **Recipient address data** (city, street, num, office/automat code, postcode,
   phone, email) — sent when calculating shipping rates on the cart/checkout page
   and when creating a waybill after order placement.
 * **Sender address data** (name, phone, email, city, street, num) — sent when creating
   a waybill and when requesting a courier pickup.
 * **Shipment details** (weight, COD flag, currency, package count, item descriptions)—
   sent when creating a waybill.
 * **Waybill identifiers** (internal id, shipment number) — sent when cancelling
   a shipment, requesting a courier pickup, or generating an Air Waybill (AWB).
 * **Location queries** (city ID, street name) — sent when the customer searches
   for cities, offices, automats, or streets, and during the daily background sync
   of the full Bulgarian nomenclature.

Data is transmitted only when the corresponding action is triggered (a customer 
changes their selection on checkout, a merchant generates a waybill, the background
sync runs, etc.).

#### Service links

 * Econt API documentation (Shipments / Nomenclatures): [https://ee.econt.com/services/](https://ee.econt.com/services/)
 * Econt Terms and Conditions: [https://www.econt.com/en/general-conditions](https://www.econt.com/en/general-conditions)
 * Econt Privacy Policy: [https://www.econt.com/en/privacy-policy](https://www.econt.com/en/privacy-policy)

### Econt API Endpoints

This plugin communicates with two Econt API hosts:

 * **`delivery.econt.com`** — Orders, payments, grouping (demo: `delivery-demo.econt.
   com`)
 * **`ee.econt.com`** — Nomenclatures and Shipments (demo: `demo.econt.com/ee/`)

All requests are authenticated with an `Authorization: <private_key>` header.

#### Location Data (Nomenclatures)

 * **`POST /services/Nomenclatures/getCities.json`** — Full list of Bulgarian cities.
   Used by the background syncer to populate the local `wp_drushfe_cities` table.
 * **`POST /services/Nomenclatures/getOffices.json`** — All Econt offices and automats(
   APS). Used by the background syncer to populate the local `wp_drushfe_offices`
   table.
 * **`POST /services/Nomenclatures/getStreets.json`** — Streets within a specific
   city. Used by the checkout-page street autocomplete and cached per city in a 
   24h transient.

#### Pricing

 * **`POST /services/OrdersService.getPrice.json`** — Calculates the shipping price
   for a recipient address, delivery type, and weight. Used live at cart/checkout
   each time the customer changes their selection.

#### Shipment Management

 * **`POST /services/OrdersService.updateOrder.json`** — Creates a waybill draft.
   Used by the waybill generator on order status change or via the manual „Generate
   Waybill“ action.
 * **`POST /services/OrdersService.createAWB.json`** — Promotes a draft to a committed
   Air Waybill, returning the shipment number and PDF URL.
 * **`POST /services/OrdersService.deleteLabel.json`** — Cancels a single waybill
   draft by internal id. Used by the per-order „Cancel Shipment“ action.
 * **`POST /services/Shipments/LabelService.deleteLabels.json`** — Bulk-cancels 
   committed AWBs by shipment number. Used by the Econt Orders bulk „Cancel“ action.
 * **`POST /services/Shipments/ShipmentService.requestCourier.json`** — Requests
   a courier pickup for one or more shipments. Used from the per-order „Request 
   Courier“ action; auto-retries on national holiday rejections.

#### Rate Limiting & Caching

The plugin minimizes API calls through several strategies:

 * **Local database tables** — Cities and offices are synced once per day via Action
   Scheduler and queried locally.
 * **Transient caching** — Per-city street lists are cached for 24 hours.
 * **Session storage** — Cart selections and the most recent shipping quote are 
   stored in the WooCommerce session, so unchanged selections do not re-quote.

## Installation

 1. Upload the `drusoft-shipping-for-econt` folder to the `/wp-content/plugins/` directory.
 2. Ensure **WooCommerce** is installed and active.
 3. Activate the plugin through the **Plugins** menu in WordPress.
 4. Navigate to **WooCommerce > Settings > Shipping > Shipping Zones**.
 5. Add or edit a shipping zone (e.g. „Bulgaria“).
 6. Click **Add shipping method** and select **Drusoft Shipping for Econt**.
 7. Enter your **Econt Store ID** and **Private Key** (issued by Econt under **My Econt
    > Integration > API**), then click **Save Changes**.
 8. Background sync for cities and offices starts automatically via the WooCommerce
    Action Scheduler.

## FAQ

### What Econt API credentials do I need?

You need a **Store ID** and a **Private Key**, both issued by Econt under **My Econt
> Integration > API**. Contact Econt Bulgaria if you do not yet have 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
Econt’s Nomenclatures API in the background. You can monitor the scheduled action(`
drushfe_sync_locations_event`) under **WooCommerce > Status > Scheduled Actions**.

### How is shipping cost calculated?

Shipping cost is fetched live from Econt’s `OrdersService.getPrice` endpoint each
time the customer changes the city, delivery type, office, or street on the cart/
checkout page. The result is stored in the WooCommerce session and surfaced as the
shipping rate.

### Can I automatically generate waybills?

Yes. Enable the **Generate Waybill Automatically** option in the shipping method
settings. A waybill (draft + AWB) will be created automatically when an order transitions
to „Processing“ or „On Hold“.

### What happens if a courier request lands on a Bulgarian bank holiday?

The plugin automatically retries with the next working day, skipping weekends and
any holiday Econt reports. The skipped dates are recorded as an order note for traceability.

## Rezensionen

![](https://secure.gravatar.com/avatar/efcd2116bc52456b680be219ee02b4f0562f7631d807c66ad8374fd495a7a8f4?
s=60&d=retro&r=g)

### 󠀁[много съм доволен](https://wordpress.org/support/topic/%d0%bc%d0%bd%d0%be%d0%b3%d0%be-%d1%81%d1%8a%d0%bc-%d0%b4%d0%be%d0%b2%d0%be%d0%bb%d0%b5%d0%bd-2/)󠁿

 [xalistudio](https://profiles.wordpress.org/xalistudio/) 13. September 2026

Страхотен съпорт! плъгина е много добре измислен и се интегрира лесно с woocommerce
checkout препоръчвам го, защото е много по флексибъл и USER FRIENDLY! и се подържа
нон стоп!

 [ 1 Rezension lesen ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/)

## Mitwirkende und Entwickler

„Drusoft Shipping for Econt“ ist Open-Source-Software. Folgende Menschen haben an
diesem Plugin mitgewirkt:

Mitwirkende

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

[Übersetze „Drusoft Shipping for Econt“ in deine Sprache.](https://translate.wordpress.org/projects/wp-plugins/drusoft-shipping-for-econt)

### Interessiert an der Entwicklung?

[Durchstöbere den Code](https://plugins.trac.wordpress.org/browser/drusoft-shipping-for-econt/),
sieh dir das [SVN-Repository](https://plugins.svn.wordpress.org/drusoft-shipping-for-econt/)
an oder abonniere das [Entwicklungsprotokoll](https://plugins.trac.wordpress.org/log/drusoft-shipping-for-econt/)
per [RSS](https://plugins.trac.wordpress.org/log/drusoft-shipping-for-econt/?limit=100&mode=stop_on_copy&format=rss).

## Änderungsprotokoll

#### 1.0.12

 * Important fix: an order could be placed with no delivery charge at all. The live
   price request to Econt sent the postcode exactly as typed, so a customer who 
   chose гр. София and typed the postcode of the village she lives in was refused
   a quote („mismatch between city and postcode“), the refusal was silently dropped,
   and the order went through with 0.00 shipping. Econt is now always asked with
   the chosen city’s own postcode, so a typed postcode can no longer break the quote.
 * The postcode field is locked while Econt is the chosen courier: it fills itself
   from the selected city, the same way the cart page already did it.
 * If Econt refuses to quote a delivery (wrong input, a cash-on-delivery amount 
   above the legal limit, an outage), the reason is now shown under the Econt fields
   instead of leaving the price blank with no explanation.
 * Last line of defence: when the order is placed with no price in hand, or with
   a different basket than the one that was quoted, the plugin asks Econt once more
   before the order is created. Only if that also fails does the order go through
   unpriced — and the order note now records Econt’s actual reply.
 * Every refused price request is written to WooCommerce  Status  Logs (source „
   drusoft-shipping-for-econt“), with the selection it was made for.
 * A product with no weight and an empty default weight was quoted as 0 kg, which
   Econt refuses; 0.5 kg is used instead.
 * The postcode the customer typed is kept on the order (hidden meta) even though
   the stored address is normalised to the city’s postcode.

#### 1.0.11

 * Important fix for shops whose Econt store bills the courier fee to the recipient:
   on cash-on-delivery orders the shipping charged at checkout was also folded into
   the COD amount, so the customer paid the delivery twice — once inside the COD
   and once as Econt’s own courier fee at the door (29.99 goods + 5.11 shipping 
   became a 35.10 COD, and Econt added 5.28 on top). Who pays the courier is set
   in your Достави с Еконт store profile, not in the plugin, so the plugin now asks
   Econt at waybill time: when the recipient pays, the COD carries the goods only;
   when the shop pays, the COD still includes the shipping, exactly as before. Introduced
   in 1.0.9 — if your store bills the recipient and you ship COD, please update.
 * New: every COD waybill now leaves an order note saying what the COD amount contains
   and who pays the courier, so the decision is visible before the parcel leaves.

#### 1.0.10

 * New (off by default): „Sizes on the Waybill“ — adds each product’s dimensions(
   L×W×H cm, from its Shipping tab) to the shipment description, so the size is 
   visible on the waybill and in the Econt office. Достави с Еконт has no dimension
   fields of its own, and Econt prices standard parcels by weight alone, so this
   is informational and changes no price.
 * New (off by default): „Oversize Pricing“ — parcels with a side of 100 cm or more
   may be priced by Econt on its cargo tariff, which the standard quote cannot see(
   measured: a 0.7 kg parcel costs the same in a 20×15×5 and a 90×90×90 cm box, 
   while from a length of 100 cm the price grows with the size — up to several times
   more). When enabled, the checkout price for such parcels is corrected by the 
   size effect Econt’s label API reports for the product dimensions; who pays the
   delivery is preserved. Parcels under 100 cm are never touched, and if Econt does
   not answer the price stays as before. Requires the sender address or office in
   the settings.
 * New: the order screen marks parcels with a side of 100 cm or more, which Econt
   may charge on its cargo tariff, so the delivery cost can be checked before handing
   the parcel over. It stays quiet when „Oversize Pricing“ already priced exactly
   those items at checkout, and shows whenever that did not happen — option off,
   the shop pays delivery, Econt did not answer, or the order was entered or changed
   in the admin. When the option is off it also points to it.
 * Fixed: after cancelling a shipment (or a failed action) the Econt box on the 
   order screen redrew its buttons in English on non-English admins.
 * Improved: the Bulgarian translation now covers every admin string (pickup points,
   refresh status, inspection before payment, dimensions).

#### 1.0.9

 * New: when an order is placed but the delivery price could not be calculated (
   Econt 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
   Econt and when the next refresh is due, and warns if it is more than three days
   old.

#### 1.0.8

 * 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 to ask which office they had chosen. This affected every shop using 
   WooCommerce’s High-Performance Order Storage, which is the default for new installations.
   Please update if you deliver to offices or automats.
 * Fixed: the chosen office and delivery type could be stored as several repeated
   rows on one order instead of a single value that gets replaced.

#### 1.0.7

 * New: optional inspection before payment. The merchant can let the customer open
   and check the parcel at the office before paying, or test it, and the option 
   is skipped automatically at Econtomats where there is nobody to open with. Off
   by default — enable it in the shipping method settings.
 * Fixed: the office map opened showing the whole country instead of the city the
   customer had just chosen, so they had to find their own town before picking an
   office.
 * Fixed: on phones the map dialog showed its own scrollbars and did not use the
   full screen, which made picking an office awkward.

#### 1.0.6

 * Fix: customer-facing tracking links now use the public shipment number (shipmentNumber)
   instead of the internal Econt order id, which the track-shipment page cannot 
   resolve.

#### 1.0.5

 * Important fix: the cash-on-delivery (COD) amount now includes the shipping charge
   and rounding — a „Доставка“ line is added so the collected amount equals the 
   full order total. Previously COD parcels collected only the product lines‘ total.
   If you ship COD, please update.

#### 1.0.4

 * 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 Econt city IDs the other courier
   could misread. The cleanup that previously ran only on mouse clicks now also 
   runs for those switches.

#### 1.0.3

 * Improved: customers now see the Econt parcel-tracking link (waybill number + 
   a link to econt.com) 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 an Econt automat (APS) are now labelled „Econt 
   automat“ instead of „Econt office“ on the order admin screen.

#### 1.0.2

 * Improved: the selected Econt 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.1

 * Fixed: when both Drusoft Shipping for Econt and Drusoft Shipping for Speedy are
   active, switching couriers during checkout could leave the newly selected courier’s
   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: corrected the Bulgarian translation of the courier name („Иконт“  „Еконт“)
   throughout the plugin.
 * i18n: the „Delivery Method“ field label is now translatable.

#### 1.0.0

 * Initial release.
 * WooCommerce shipping method for Econt (`drushfe_econt`) with per-zone instance
   settings.
 * Live shipping cost via `OrdersService.getPrice` with `Authorization: <private_key
   >` header.
 * Three delivery modes: to Address, to Econt Office, or to Econt Automat (APS).
 * Native checkout UI with country  state  city Select2  delivery-type radio  office
   Select2 or street autocomplete.
 * Daily background sync of Bulgarian cities and Econt offices/automats via Action
   Scheduler.
 * Two-step waybill flow: `OrdersService.updateOrder` (draft)  `OrdersService.createAWB`(
   commit), returning shipment number and signed PDF URL.
 * Admin order actions: Print Waybill (signed PDF), Cancel Shipment, Request Courier.
 * Courier requests auto-retry across weekends and Bulgarian bank holidays — no 
   manual rescheduling needed.
 * Dedicated Econt Orders admin page with bulk Generate / Print / Cancel.
 * HPOS (High-Performance Order Storage) compatible.
 * Bulgarian (bg_BG) translation included.

## Meta

 *  Version **1.0.12**
 *  Zuletzt aktualisiert **vor 1 Woche**
 *  Aktive Installationen **10+**
 *  WordPress-Version ** 6.0 oder höher **
 *  Getestet bis **7.1.3**
 *  PHP-Version ** 8.0 oder höher **
 *  Sprache
 * [English (US)](https://wordpress.org/plugins/drusoft-shipping-for-econt/)
 * Schlagwörter
 * [bulgaria](https://de.wordpress.org/plugins/tags/bulgaria/)[delivery](https://de.wordpress.org/plugins/tags/delivery/)
   [econt](https://de.wordpress.org/plugins/tags/econt/)[shipping](https://de.wordpress.org/plugins/tags/shipping/)
   [woocommerce](https://de.wordpress.org/plugins/tags/woocommerce/)
 *  [Erweiterte Ansicht](https://de.wordpress.org/plugins/drusoft-shipping-for-econt/advanced/)

## Bewertungen

 5 von 5 Sternen.

 *  [  1 5-Sterne-Rezension     ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/?filter=5)
 *  [  0 4-Sterne-Rezensionen     ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/?filter=4)
 *  [  0 3-Sterne-Rezensionen     ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/?filter=3)
 *  [  0 2-Sterne-Rezensionen     ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/?filter=2)
 *  [  0 1-Sterne-Rezensionen     ](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/?filter=1)

[Deine Rezension](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/#new-post)

[Alle Rezensionen anzeigen](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/reviews/)

## Mitwirkende

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

## Support

Behobene Probleme in den letzten zwei Monaten:

     1 von 1

 [Support-Forum anzeigen](https://wordpress.org/support/plugin/drusoft-shipping-for-econt/)