You want the customer to choose delivery to an office, a parcel locker or an address, and to be able to pay on delivery. For that, WooCommerce needs a module from the courier. This guide shows how to set up Econt and Speedy shipping in WooCommerce, from the contract to the first test order.
We describe the official modules of the two couriers and only settings that are written down in their documentation. Labels in the modules change with new versions, so when something differs, trust the courier's documentation.
The official Econt and Speedy modules
Econt and Speedy hand out their modules from their own pages. A search for Econt and Speedy in the wordpress.org directory shows only plugins by other developers, for example "Drusoft Shipping for Econt" and "Drusoft Shipping for Speedy". Both work through the couriers' APIs, but they are published by another author and, according to their own pages, do not support the WooCommerce block cart and checkout. Here we describe the official ones.
| Topic | Econt | Speedy |
|---|---|---|
| Module | "Достави с Еконт" ("Deliver with Econt"), listed in plugins as "Econt Delivery OneCheckout" | "Speedy Shipping Extension", listed in plugins as "WooCommerce Speedy Shipping Method" |
| Where to download | from Econt's page, which points to GitHub | from Speedy's page on integration with online shops |
| Minimum versions | WordPress 6.0, WooCommerce 9.0, PHP 8.0 | WordPress 5.3, WooCommerce 8.2, PHP 8.2 |
| Access data | identifier and connection code | username and password for integration |
| Test environment | yes, Demo mode | not described in the manual |
What to prepare before you set up Econt and Speedy shipping
Before you upload a module, prepare four things:
- An account with the courier. For Econt you register your shop in delivery.econt.com with your e-Econt account, and for real shipments you also need a valid contract. For Speedy you ask your contract contact for a username and password for online shop integration. They are different from the ones for MySpeedy. If you have no contract, Speedy's manual tells you to write to the email address given in it, with your shop's details.
- Versions. You see WordPress, PHP and the plugins, WooCommerce included, in
Tools > Site Health > Info. - Weight. Every product and every variation has a weight in kilograms, otherwise the price cannot be calculated. Virtual products are not shipped by courier. For many products, tick them in
Products > All Productsand chooseEditfromBulk actions, where there is aWeightfield. Bulk editing works only for simple products, and variations are filled in separately. - HTTPS. Econt's module requires it. How to turn it on without errors is described in the HTTPS guide.
Setting up the Econt module
You start on Econt's side. In delivery.econt.com sign in with your e-Econt account and add your shop. If you have no account, register from Econt Login. According to Econt's manual, adding the shop goes through six steps.
In the shop settings you set:
- where parcels leave from (your own address, where the courier collects them, or an office or Econtomat) and who the contact person is
- where you deliver (to an address, to an office, to an Econtomat or a combination)
- how Econt pays you the cash on delivery it collected
In the last step you copy the shop identifier and the connection code. According to Econt's documentation they are entered in the module as Store ID and Private Key.
Then download the module from Econt's WooCommerce page, upload it from Plugins > Add New Plugin > Upload Plugin and activate it. If you have Terminal in cPanel, the command from Econt's documentation does the same. It downloads the latest version from GitHub and activates it. To undo it, deactivate the plugin and delete it from the plugin list.
# cPanel > Terminal, in the site folder
wp plugin install \
https://github.com/econt/econt-woo-opc-plugin/releases/latest/download/econt-woo-opc-plugin-main.zip \
--activate
Open Settings > Econt Delivery and fill in Store ID, Private Key and Environment. Start with Demo. Leave Customer Details Container as it is, unless your theme uses a different selector for the checkout form. In older versions the fields are called ID Number and Private Key, and demo mode is the checkbox Use Econt Demo Service.
Finally, add the method to a zone. In WooCommerce > Settings > General check that Shipping location(s) includes Bulgaria. Then in WooCommerce > Settings > Shipping open the zone for Bulgaria or create one, click Add shipping method and choose "Econt".
Econt's documentation also asks you to untick Enable the shipping calculator on the cart page in the shipping settings on the same screen.
Setting up the Speedy module
Download "Speedy Shipping Extension" from Speedy's page on integration with online shops, upload it the same way from Plugins > Add New Plugin > Upload Plugin and activate it. Then open WooCommerce > Settings > Shipping and the "Доставка със Speedy" ("Speedy delivery") section. Speedy's manual does not mention shipping zones, and the method is turned on from its own settings. They are in four tabs.
- General settings ("Общи настройки"). Turn on the module and enter the username and password. Then click the button that fetches data from Speedy. On the first setup this is mandatory, because it loads the merchant data, the offices and the settlements. The manual recommends doing it several times a week.
- Sending ("Изпращане"). You choose the site from your contract where parcels leave from, the contact person and phone, the end of working hours, and whether you will hand parcels over at a Speedy office or locker. The price is calculated from the chosen site to the customer's address.
- Services ("Услуги"). Choose at least one active service, for example Speedy's universal standard service.
- Payment ("Плащане"). You choose how the shipping price is formed. The options are Speedy's calculator with the prices from your contract, a fixed price, free shipping above a certain amount, your own prices from a CSV file (a different price for address, office and locker) and the calculator with a surcharge. The cash on delivery settings are here too.
Save with Save Changes. In the "Sending" tab there is also an option to fill in the recipient's address in one field. The manual warns that if the address is not split into parts, Speedy processes it additionally, which can lead to an error and a delay.
Cash on delivery and what the customer sees
Cash on delivery is WooCommerce's built-in method, not part of the modules. Both modules ask you to turn it on and limit it to their shipping methods. Open WooCommerce > Settings > Payments, click Manage next to "Cash on delivery" and in Enable for shipping methods choose "Econt" and Any "Доставка със Speedy" method. This way cash on delivery is offered only with these deliveries. Its other settings are in the guide WooCommerce cash on delivery and card payments in Bulgaria.
On the courier's side you choose how the collected money is paid out to you. For Econt this is a drop-down in the shop settings in delivery.econt.com. For Speedy it is chosen in the "Payment" tab, and only if you have no contract or annex that settles it. Speedy also offers services where it issues a cash receipt on your behalf. They need a separate agreement with Speedy, and whether you need them is a question for your accountant.
What the customer sees depends on the module. With Econt, when the customer chooses "Econt", Econt's form appears on the checkout page, embedded in it (an iframe). What the customer can choose (address, office or Econtomat) is set in the delivery location settings in delivery.econt.com. The module can hide selected WooCommerce fields, for example name, address and phone, while Econt is selected.
With Speedy the customer starts typing the settlement and the address and picks from the drop-down suggestions. After the settlement is entered they see the price for each available service. That is why all products must have a real weight, other than zero.
Waybills, labels and tracking
With Econt the waybill is created automatically for every confirmed order, and every shipment gets a tracking number. The WooCommerce order list has Econt columns and actions. If an order has no waybill, select it and choose "Sync Econt Waybills" from Bulk actions. The label size is chosen in the shop settings in delivery.econt.com.
With Speedy you create the waybill yourself. Open the order in WooCommerce > Orders, check the settings in the module's block and click "Генериране на товарителница" ("Generate waybill"). One waybill can have at most 10 packages.
Finished waybills are in WooCommerce > Speedy orders as PDF files. In the same list, if the parcel leaves from your address, select the waybill and click "Заявяване на куриер" ("Request courier"), and for several waybills use the bulk actions. When the parcel leaves from a Speedy office this step is skipped. If you print on a label printer, turn on its option in the general settings, because the labels are 104 by 147 mm. Automatic waybills, created right when the order is placed, are recommended by the manual only for a small assortment. Speedy's manual does not describe tracking of the parcel by the customer in the shop.
A test order before you go live
With Econt the test goes through the demo environment. According to Econt's documentation, no real amounts are charged in Demo mode.
- Leave
EnvironmentonDemo. - Put a product with a weight in the cart, enter a valid Bulgarian address, choose Econt and cash on delivery, and confirm the order.
- Check that the price is calculated by itself, that the order is created and that Econt data is visible in it.
- Change
EnvironmenttoProduction, enter the data for real operation and place a small order. Check that a waybill is created, and watch the first orders.
Speedy's manual does not describe a test mode. Their integration page points to a demo shop with the module, where you can see how it looks. In your own shop place an order as a customer and check the price for each service. Do not request a courier for a test parcel, and ask your contract contact at Speedy how to make one.
When something does not work
- The price is not calculated. Check the products' weight, the access data and whether
Environmentis the right environment. - Econt's form does not show. Econt's documentation covers this mostly for the block checkout page. Update the module, check the
Customer Details Containerfield (by default#customer_details) and clear the cache. It also recommends keeping the checkout page out of the cache, excluding the module's scripts from minification and letting security plugins allow Econt's API addresses. - There is no waybill. Check
Store ID,Private Keyand the environment, then use "Sync Econt Waybills". - Speedy does not show offices or settlements. Click the button that fetches data from Speedy in the general settings.
- The module does not activate. Compare the PHP and WooCommerce versions with the table above.
To see what Econt's module reports, turn on the error log for a short time. First see the path to your home folder. The command only shows it.
# cPanel > Terminal
cd ~ && pwd
Add the lines above the line "That's all, stop editing!". Replace /home/YOUR_USER with the path from the command. This keeps the log outside public_html, so it cannot be opened from the internet.
// wp-config.php, above the line "That's all, stop editing!"
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', '/home/YOUR_USER/wp-debug.log' );
define( 'WP_DEBUG_DISPLAY', false );
// For Econt only, more detail in the log.
define( 'ECONT_DEBUG', true );
Place an order and look in the log for lines that start with [Econt]. Then set WP_DEBUG back to false, remove ECONT_DEBUG and delete the file. WordPress documentation does not recommend these settings on live sites, and the log may contain sensitive data.
Checklist
- There is a backup of the site from before the installation.
- You have access data from the courier, an identifier and a connection code for Econt, a username and password for Speedy.
- The site works over HTTPS, and WordPress, WooCommerce and PHP meet the module's requirements.
- Every product and every variation has a real weight.
- The module is uploaded and activated, and the data is entered.
- For Econt the "Econt" method is added to the zone for Bulgaria, and for Speedy the module is turned on.
- Cash on delivery is turned on and limited to the courier's methods.
- The test order went through and the waybill was created.
- Before real operation
Environmentis onProduction, and the error log is off.
If you ship only a few parcels
If you ship a few parcels a week, you may not need a module. Create the waybills by hand in the courier's own system until the orders grow. Payments on delivery and by card are in a separate guide, WooCommerce cash on delivery and card payments in Bulgaria.
When the parcels add up, with AI automation for online stores the Econt and Speedy waybills, tracking, customer replies and invoices run without manual work, from the order to the delivery. If you want to see how that would look for your store, write to us through the inquiry form.
Frequently asked questions
Where do I download the official Econt or Speedy module for WooCommerce?
From the couriers' own pages, not from the wordpress.org directory. The Econt module "Достави с Еконт" ("Deliver with Econt") comes from Econt's WooCommerce page, which points to GitHub, and "Speedy Shipping Extension" comes from Speedy's page on integration with online shops. The plugins in the wordpress.org directory are by other developers.
What do I need before setting up Econt and Speedy shipping?
You need an account with the courier, which for Econt means registering your shop in delivery.econt.com with your e-Econt account, and for Speedy asking your contract contact for an integration username and password, separate from your MySpeedy login. Every product and variation needs a weight in kilograms, or the shipping price is not calculated. Econt's module also requires HTTPS.
Which WordPress, WooCommerce and PHP versions do the modules require?
Econt's module requires WordPress 6.0, WooCommerce 9.0 and PHP 8.0, and Speedy's module WordPress 5.3, WooCommerce 8.2 and PHP 8.2. Your site's versions are shown in Tools > Site Health > Info. If a module will not activate, compare them with these requirements.
Why is the Econt or Speedy shipping price not calculated?
Most often a product has no weight or a weight of zero. Check the access data in the module too, and whether Environment in Econt's module is the right environment. Weight for many products at once is set from Products > All Products with Edit under Bulk actions, but only for simple products, and variations are filled in separately.
How do I limit cash on delivery to Econt and Speedy?
Cash on delivery is WooCommerce's built-in method, not part of the courier modules. Open WooCommerce > Settings > Payments, click Manage next to "Cash on delivery" and in Enable for shipping methods choose "Econt" and Any "Доставка със Speedy" method. Cash on delivery is then offered only with those deliveries.
Are waybills created automatically?
With Econt the waybill is created automatically for every confirmed order and every shipment gets a tracking number, and if an order has no waybill you choose "Sync Econt Waybills" from Bulk actions. With Speedy you create the waybill yourself from the order with the "Генериране на товарителница" ("Generate waybill") button, and one waybill can have at most 10 packages. Speedy's manual recommends automatic waybills only for a small assortment.
How do I place a test order with Econt and Speedy?
With Econt, leave Environment on Demo, where according to Econt's documentation no real amounts are charged, place an order with a weighted product and cash on delivery, and check the price and the Econt data in the order. Speedy's manual describes no test mode, so place an order as a customer and check the price for each service. Do not request a courier for a test parcel, and ask your Speedy contract contact how to make one.
Why does the Econt form not show on the checkout page?
Update the module, check the Customer Details Container field, which defaults to #customer_details, and clear the cache. Econt's documentation recommends keeping the checkout page out of the cache, excluding the module's scripts from minification and letting security plugins allow Econt's API addresses.
Sources
- Econt, the Deliver with Econt module for WooCommerce
- Econt, Econt WooCommerce plugin on GitHub
- Econt, initial setup of the plugin
- Econt, troubleshooting the plugin
- Econt, delivery location settings
- Econt, parcel sending settings
- Econt, cash on delivery settings
- Speedy, integration with online shops
- Speedy, manual for the WooCommerce module
- WordPress.org, Drusoft Shipping for Econt
- WordPress.org, Drusoft Shipping for Speedy
- WooCommerce, Setting up Shipping Zones
- WooCommerce, Bulk Editing Products
- WordPress, Debugging in WordPress
- WordPress, Site Health Screen
- WP-CLI, wp plugin install