Econt Delivery Integration
Full shipment lifecycle management for Odoo 18 - labels, costs, tracking, and office pickup
Features
- Shipping label creation - Generate and submit labels to Econt API directly from stock pickings
- Real-time cost calculation - Get live shipping prices at checkout and before dispatch
- Delivery to address or Econt office - Support for both home delivery and office pickup
- Shipment tracking - Customer portal page with full tracking event history
- Office synchronization - Import and keep Econt office list up to date automatically
- Cash on Delivery (CoD) - Full CoD support with configurable payment templates
- Multiple shipment types - Document, Pack, Pallet, Cargo, DocumentPallet
- Return & rejection instructions - Configure what happens when shipments are returned or rejected
- Declared value - Insure your shipments with a declared value
- Additional services - Delivery receipt, digital receipt, two-way shipment, floor delivery, and more
Configuration
1. Create a Delivery Carrier
Navigate to Inventory â Configuration â Delivery Methods and create a new method. Set the Provider to Econt.
2. API Credentials
In the Econt tab, enter your API credentials. Leave username and password as demo to use the Econt demo environment for testing.
3. Shipment Type Defaults
Set the Default Shipment Type used for most shipments (e.g. Pack) and an Escalated Shipment Type for when weight exceeds the default type's limit.
4. Payment Defaults
Configure sender and receiver payment methods (Cash or Credit), select which payment methods trigger Cash on Delivery, and enter your CoD template code.
5. Additional Services
Enable optional services that will be pre-selected on new labels:
- Delivery Receipt (DC) - Signed confirmation of delivery returned to sender
- Digital Delivery Receipt (EDC) - Electronic version of the above
- Receipt on Goods Reception (DC-CP) - Receipt when goods are accepted
- Two-Way Shipment (DP) - Outbound and return in one
- Delivery to Floor - Courier delivers to a specific floor
- Declared Value - Enable shipment value insurance
- Pay After Acceptance / Pay After Test - Buyer pays only after inspecting goods
6. Import Econt Offices
Click Import / Update Offices on the carrier form to fetch the full list of Econt offices from the API. This also runs automatically every night at 2:00 AM via a scheduled cron job.
7. Warehouse Pickup Strategy
Control whether shipments are picked up from a warehouse address or a carrier office:
| Option | Behavior |
|---|---|
| Never | Always use a carrier office for pickup |
| Always use warehouse address | Always schedule pickup from the warehouse |
| Based on package type | Use warehouse pickup only for selected package types |
| Based on weight | Use warehouse pickup only above a weight threshold (kg) |
Creating a Shipping Label
- Confirm a sale order and open the resulting stock picking (delivery order).
- Click the Econt Label button in the top bar.
Label Wizard
The label wizard opens as a dialog with the following tabs:
Sender & Receiver
Configure the sender and receiver clients, agents, addresses, and offices. The receiver defaults to the customer on the sale order.
Shipment
Set the shipment type, total weight, dimensions, and number of packs. You can expand the packs list to specify individual dimensions and weights per package.
Delivery Details
Choose the send date, delivery day preferences, and holiday delivery options.
Services
Enable paid services for this specific label: delivery receipt, declared value, Cash on Delivery, SMS notification, and more.
Instructions
Configure return, take, give, and services instructions. Return instructions include destination (sender, office, or custom address), return parcel type, days until return, and rejection handling.
Payment
Specify payment methods, CoD amounts, and other billing configuration for this label.
Cargo Options
For large cargo shipments, configure truck accessibility, lifting equipment, and tail-lift requirements at both origin and destination.
Calculating Costs
Click Calculate Cost to request real-time pricing from Econt. The service cost breakdown is displayed below the button - courier fee, CoD, declared value, SMS, and total.
Submitting the Label
Once satisfied with the configuration, save the wizard. The label is submitted to Econt when the picking is validated. The resulting PDF label is stored as an attachment on the picking.
Package Types
The module includes five pre-configured Econt package types:
| Name | Code | Max Weight |
|---|---|---|
| Document | document | 0.5 kg |
| Pack | pack | 50 kg |
| Pallet | pallet | 1 000 kg |
| Cargo | cargo | 500 kg |
| DocumentPallet | documentpallet | 1 000 kg |
If a shipment exceeds the default type's weight limit, it is automatically escalated to the configured Escalated Shipment Type.
Delivery Cost at Checkout
When using the eCommerce checkout, the Econt delivery method calculates the shipping cost in real time. The customer sees the price before completing the order.
For office pickup delivery, customers can select their preferred Econt office during checkout.
Shipment Tracking
Once a label is created, a tracking link is generated automatically and is accessible from the stock picking, the sales order chatter, and the customer portal.
Customers can track their shipment at /my/econt_track_label/<tracking_number>. The page shows shipment number, pack count, and a full event history with date, time, and destination - in both Bulgarian and English.
Econt
Full integration between Odoo 18 and Econt - Bulgaria's largest courier network. The module covers the complete shipment lifecycle: cost calculation at checkout, label creation, and customer-facing shipment tracking.
Requirements
- Odoo 18 (Community or Enterprise)
- An active Econt business account with API access enabled
- Your Econt client number (e.g. ПД1234)
- Econt API credentials (username and password)
Configuration
Go to Inventory → Configuration → Delivery Methods and create a new delivery method. Set the Provider field to Econt carrier.
A dedicated Econt tab will appear with all the settings described below.
Before setting up the tab, configure the Delivery type field (located above the tabs) to select how Econt will deliver shipments:
| Option | Description |
|---|---|
| Deliver to office | Shipment is delivered to a customer-selected Econt office |
| Deliver to address | Shipment is delivered to the customer's address |
Importing Econt Offices
Before using the carrier you must load the list of available Econt offices. Click Import Office list in the header of the carrier form. Once offices are loaded the button changes to Update Office list. The list is also refreshed automatically every night via a scheduled action.
The Econt Offices stat button shows how many offices are currently loaded and opens the full office list.
Base Settings
Found in the Base Settings group inside the Econt tab.
| Field | Description |
|---|---|
| API Username | Econt API username |
| API Password | Econt API password |
| Client Nr. | Your Econt client account number (e.g. AB1234) |
| Default shipment type | Package type used for most shipments |
| Escalated shipment type | Alternative type applied automatically when the default type exceeds its maximum weight |
Note
Use the credentials demo / demo for testing (test environment). Labels created in demo mode are not real shipments and will not generate charges.
Default Settings
Found in the Default Settings group. These are the default payment and acceptance settings applied to every new label for this carrier. Each can be overridden individually on each shipment label.
| Field | Description |
|---|---|
| Sender Payment method | How your company pays Econt - Cash or Credit. When Credit is selected, a "Cash on delivery" template Nr. field appears inline (placeholder Contract Nr., format: AD123456) |
| Receiver Payment method | How the receiver pays Econt - Cash or Credit |
| Cash on delivery payment methods | Each company defines its own payment methods in Odoo. Select here which of those methods represent Cash on Delivery. The module checks against this selection to automatically enable CoD on the shipment label when a matching payment method is used on the sale order. |
| Pay after accept | Allows the recipient to inspect the package before paying |
| Pay after test | Allows the recipient to test the contents before paying |
Additional services - additional costs
Found in the Additional services - additional costs group. These are the default service selections applied to every new label for this carrier. Each service can also be toggled individually on each shipment label.
| Service | Description |
|---|---|
| Delivery receipt | A signed paper receipt is returned to the sender. Mutually exclusive with Digital delivery receipt, Receipt on reception of goods, and Two way shipment |
| Digital delivery receipt | A digital receipt is returned to the sender. Mutually exclusive with Delivery receipt, Receipt on reception of goods, and Two way shipment |
| Receipt on reception of goods | Sender is notified when goods are received. Mutually exclusive with Delivery receipt, Digital delivery receipt, and Two way shipment |
| Two way shipment | A return shipment is prepared with the outbound one. Mutually exclusive with Delivery receipt, Digital delivery receipt, and Receipt on reception of goods |
| Deliver to floor | Econt delivers to the recipient's floor, not just the building entrance |
| Declare shipment value | Insures the shipment up to the declared amount |
Pick from warehouse Default Settings
Found in the Pick from warehouse Default Settings group. These are the default pickup rules applied to every new label for this carrier. They control when Econt collects the shipment from your warehouse instead of selected carrier office.
The Use warehouse address field offers four options:
| Option | Description |
|---|---|
| Always send from carrier office | Econt always picks up from the office selected in Carrier office to use |
| Based on type of package | Warehouse pickup applies only for the package types selected in Packages type |
| Based on weight of the package | Warehouse pickup applies when the shipment weight reaches the value set in Weight of the package in kilograms |
| Always send from company warehouse | Econt always picks up from your company warehouse address |
Carrier office to use - the Econt office used as the sender location whenever warehouse pickup is not applicable.
Creating Shipping Labels
Labels are created from a delivery order (stock picking).
Note
The Econt Label button is visible only when the Econt carrier is assigned to the delivery order. A new label can be created at any point before the delivery order is validated. Once validated (Done), the button opens the existing label in read-only mode. If no label was created before validation, an error will be shown.
- Open the delivery order linked to your sale order (Inventory → Operations → Transfers or from the sale order's Delivery button).
- Click Econt Label to open the shipment form.
- Review and complete the shipment details across the available tabs.
Sender & Receiver tab
Sender group - verify the pre-filled company details:
| Field | Description |
|---|---|
| Name | Company name (read-only) |
| Contact person | The sender's contact person |
| Address | Sender warehouse address (if warehouse pickup) |
| Office Code | Sender Econt office (if office pickup) |
| E-mail for delivery notification | E-mail address(es) for delivery notifications |
| SMS on delivery | Phone number for SMS delivery notification |
Receiver group - pre-filled from the sale order:
| Field | Description |
|---|---|
| Name | Recipient's name (read-only) |
| Contact person | The receiver's contact person |
| Address | Delivery address (when Deliver to address) |
| Office code of the receiver | Selected Econt office (when Deliver to office) |
| Provider ID of the receiver | Optional provider identifier |
| IBAN | Optional IBAN for banking operations |
| BIC | Optional BIC for banking operations |
Pick up group - courier collection details:
| Field | Description |
|---|---|
| Send date | The date the shipment is handed over to Econt |
| Courier Time From | Earliest time for courier collection (HH:MM) - only shown for warehouse/address pickups |
| Courier Time To | Latest time for courier collection (HH:MM) - only shown for warehouse/address pickups |
| Truck access | Truck access available at sender's address. Visible only when shipment type is Pallet or Pallet + documents and sender uses an address, not an office |
| Available Lifting equipment | Lifting equipment available at sender's address. Same visibility conditions as Truck access |
| Request tail lift truck | Request a tail lift truck for collection. Same visibility conditions as Truck access |
Deliver group - delivery window details:
| Field | Description |
|---|---|
| Delivery date | Preferred delivery date (select from available dates) |
| Work Time | Working hours for the selected delivery date |
| Deliver not before * | Earliest delivery time (HH:MM) - paid service, available only after selecting a delivery date and when delivering to an address |
| Deliver not after * | Latest delivery time (HH:MM) - paid service |
| Truck access | Truck access available at receiver's address. Visible only when shipment type is Pallet or Pallet + documents and receiver uses an address, not an office |
| Available Lifting equipment | Lifting equipment available at receiver's address. Same visibility conditions as Truck access |
| Request tail lift truck | Request a tail lift truck for delivery. Same visibility conditions as Truck access |
Take instructions group and Give instructions group - optional free-text instructions for the Econt courier when collecting from your location and when delivering to the recipient.
Shipment tab
Details group:
| Field | Description |
|---|---|
| Shipment type | Package type - auto-selected, escalates if weight exceeds the default type's maximum |
| Pack count | Number of packages in the shipment |
| Pack weight | Total shipment weight in kg |
| Keep upright | Instructs Econt to keep the package upright |
| Pay after accept | Allows the recipient to inspect before paying |
| Pay after test | Allows the recipient to test contents before paying |
| Allow partial delivery | Allows Econt to deliver part of the shipment |
Dimensions group - content varies by shipment type:
- Parcel: enter the Shipment description (contents description).
- Pallet / Pallet + documents: editable packs table with Width (cm), Height (cm), Length (cm), and Weight (kg) per pack.
- Cargo express: enter the overall dimensions in cm and Shipment description.
Paid Services tab
Enable any additional paid services for this specific shipment. These override the carrier defaults for this label only.
| Service | Description |
|---|---|
| Delivery receipt | A signed paper receipt is returned to the sender. |
| Digital delivery receipt | A digital receipt is returned to the sender. |
| Goods receipt | Confirmation of received goods returned to sender. |
| Two way shipment | A return shipment is prepared with the outbound one |
| SMS notifications for the receiver | SMS updates sent to the receiver |
| Deliver to floor | Econt delivers to the recipient's floor |
| Declared Value | Insured value of the shipment |
| Declared Value Currency | Currency of the declared value |
Click Update amount next to the declared value field to automatically set it to the sale order total.
Payment tab
Cash on delivery group:
| Field | Description |
|---|---|
| "Cash on delivery" type | Get money - collect from recipient Give money - pay to recipient |
| "Cash on delivery" currency | Currency of the CoD amount |
| "Cash on delivery" amount | Amount to collect or pay at delivery |
| Invoice # | Format: 0123456789/01.02.2001 |
Click Amount from order to automatically set the CoD amount from the sale order.
Delivery services payment group - controls how delivery costs are split:
- If the delivery cost is locked in the sale order (estimated at checkout), all costs are paid by the sender. To let the receiver pay, remove the delivery cost line from the sale order.
- If the delivery cost is not locked, you can set the Amount of the payment for the receiver (as a fixed amount or percentage), the Payment method of the receiver (Cash or Credit), and the Payment method of the sender.
Click Update cost in sale order to sync the calculated shipment cost back to the sale order delivery line.
Return instructions group - defines what Econt should do if the shipment cannot be delivered. Click the + button in the kanban area to open the return instruction form. The form has two pages:
Return Parcel page:
| Field | Description |
|---|---|
| Destination of the return parcel | What to do with the parcel if undeliverable: no return parcel, return to sender, return to office, return to address |
| Print return label NOW | Generate the return label together with the outbound label |
| Return parcel is document | Marks the return parcel as a document |
| Return empty pallets | Return empty pallets with the shipment (pallet and cargo shipment types only) |
| Days until return | Maximum days before the return shipment must be sent |
When Return parcel is document is enabled, a Signatures group appears:
| Field | Description |
|---|---|
| Returning documents signature | Require the client to sign the returning documents |
| Pen color | Required pen color: blue or black, blue, black |
| Count of signatures needed | Total number of signatures required |
| Page numbers to sign | Page numbers where the client must sign, comma-separated |
| Free text instructions | Additional signing instructions |
When destination is not no return parcel, a Payment group appears.
Note
Sender and Receiver in this context always refer to the roles of the original (outbound) shipment - Sender is your company, Receiver is the end customer.
| Field | Description |
|---|---|
| Payer of the return shipment | Who pays for the return shipment - Sender (your company) or Receiver (the customer) |
| Receiver for the return shipment | Client receiving the return parcel |
| Receiver's authorized person for the return shipment | Authorized contact for the return |
| Office Code for Return Shipment | Destination office (when return to office) |
| Receiver's address for the return shipment | Destination address (when return to address) |
Reject Parcel page:
| Field | Description |
|---|---|
| If shipment is rejected | Action when recipient refuses the shipment: contact sender, text with instructions, return to sender, return to address, return to office |
| Phone or Email on reject | Contact details used when contact sender is selected |
| Instruction on reject | Free-text instruction used when text with instructions is selected |
| Return person for original shipment | Client to whom the original shipment is returned (when returning to address or office) |
| Return authorized person for original shipment | Authorized contact for the return |
| Office Code for Original Shipment | Office where the original shipment is returned (when return to office) |
| Return address for original shipment | Address where the original shipment is returned (when return to address) |
The Payment group on the Reject Parcel page:
| Field | Description |
|---|---|
| Payer of the original (first) shipment | Who pays for the original shipment if rejected after review - Sender or Receiver |
| Payer of the return shipment | Who pays for the return - Sender or Receiver |
| Reject without review instructions | Instructions when shipment is refused without inspection |
| Return if not claimed (days) | Trigger return if shipment is unclaimed after this many days |
Calculating Costs
Click Calculate shipment costs at the top of the form to request a price quote from Econt. The breakdown (courier service, SMS, declared value, etc.) is displayed and the total is updated.
Submitting the Label
Validate the delivery order using the standard Odoo Validate button. The module will:
- Submit the shipment to Econt and receive a tracking number.
- Download the shipping label PDF and attach it to the delivery order. The PDF is accessible from the Attachments button (paperclip icon) in the top-right area of the delivery order form, or directly from the Chatter at the bottom of the form.
- Record the price on the delivery order.
To cancel a label, reset the delivery order to draft. A cancellation request is sent to Econt, however successful cancellation depends on Econt's own conditions and time constraints. Verify the cancellation directly in your Econt account.
eCommerce Office Pickup
When Delivery type is set to Deliver to office, customers can select their preferred Econt office during checkout.
Checkout Experience
- The customer adds products to the cart and proceeds to checkout.
- The Econt carrier appears in the shipping method list.
- The customer selects a nearby Econt office filtered by their delivery postcode.
Note
Confirm the sale order to see the selected office - it becomes the Delivery Address on the confirmed order and the linked delivery order.
When the shipment label is created, the receiver's office code is automatically populated from the delivery address.
Shipping Cost Calculation
Shipping costs are calculated in real time from the Econt API based on:
- The customer's delivery postcode or nearest office.
- The total weight of the products in the cart.
- The Default shipment type configured on the carrier (escalated automatically if the order weight exceeds the default type's maximum).
Note
CoD additional charges are not considered at time of calculation in Ecommerce.
Free shipping thresholds configured on the carrier (Free if order amount is above) are applied automatically.
Shipment Tracking
Customers can track their shipments through the Odoo customer portal.
Tracking Link
The customer can find the tracking link in the Odoo customer portal under their sale order.
Tracking Page
The tracking page shows:
- Number of packages in the shipment.
- Tracking events table with date, time, and a description of each status update.
Status descriptions are shown in the customer's language (Bulgarian or English).
Package Types
The following package types are pre-configured and available in the Default shipment type and Escalated shipment type selectors:
| Name | Maximum Weight |
|---|---|
| Documents (up to 0.5kg) | 0.5 kg |
| Parcel (up to 50kg) | 50 kg |
| Pallet (80x120x180cm and up to 1000kg) | 1 000 kg |
| Cargo express (palletized shipment over 80x120x180cm up to 200x200x180 and up to 500kg) | 500 kg |
| Pallet + documents | 1 000 kg |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module