A build-to-order Odoo delivery carrier that connects your bpost business account for negotiated-rate quoting, label generation, parcel-locker and pickup-point selection, and automatic tracking status sync. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo delivery carrier that connects your bpost business account for negotiated-rate quoting, label generation, parcel-locker and pickup-point selection, and automatic tracking status sync. ECOSIRE scopes, builds, installs, and supports it for you.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Belgian and Benelux merchants running Odoo hit a wall the moment they try to ship with bpost. Out of the box, Odoo's delivery carriers cover the big global integrators (and, on Enterprise, a handful of regional ones), but there is no native bpost connector. That leaves warehouse teams copying weights and addresses into the bpost Shipping Manager portal by hand, guessing at rates on the sales quote, printing labels in a second system, and pasting tracking links back into Odoo one order at a time. Every one of those steps is a place to fat-finger a postcode, ship on a non-negotiated rate, or leave a customer without a tracking number.
New `bpost` `delivery_type` on `delivery.carrier`, implementing the full provider contract: `bpost_rate_shipment`, `bpost_send_shipping`, `bpost_get_tracking_link`, `bpost_cancel_shipment`
Negotiated-rate quoting against your bpost Shipping Manager contract, so sale-order and delivery-order shipping cost reflects your real account pricing per weight/zone
Label generation on `stock.picking` validation — bpost returns PDF/PNG, stored as an `ir.attachment` and printable via the standard delivery workflow
Barcode written back to `carrier_tracking_ref`, surfaced on the QWeb delivery slip, portal and customer shipping-confirmation email
Parcel-locker and pickup-point (bpost collection point) selection captured on the order and passed as the ship-to point on the label call
Optional pickup-point picker on the Odoo Website checkout so eCommerce buyers choose a locker before payment
ECOSIRE builds a proper bpost delivery.carrier provider for your Odoo. We extend delivery.carrier with a new delivery_type selection (bpost), store your bpost account ID, passphrase and contract reference on the carrier record, and implement the provider methods Odoo expects — bpost_rate_shipment, bpost_send_shipping, bpost_get_tracking_link and bpost_cancel_shipment. Rating calls your negotiated bpost contract so the price shown on the sale order and the delivery order is the real bpost price for that weight, destination and product (bpack 24h, bpack World, etc.), not a flat guess.
Technically, the connector sits on Odoo's stock and delivery layer. When a warehouse user validates the stock.picking, the module calls the bpost Shipping Manager API, receives the label (PDF or PNG), stores it as an ir.attachment, and writes the returned barcode into the picking's carrier_tracking_ref so the QWeb delivery slip and the customer email both carry it. A scheduled action (ir.cron) polls bpost for tracking events and updates a status field via a computed method decorated with @api.depends, so "Shipped → In transit → Delivered" flows into the chatter without anyone refreshing a portal. Parcel-locker and pickup-point shipments are handled by capturing the chosen point (with its bpost point ID) on the order and passing it through as the delivery address on the label call — including the eCommerce checkout path when you run Odoo Website. International shipments carry the required customs data (contents, value, HS code fields) so bpack World labels are accepted. All credentials and endpoints are stored in res.config.settings, and access is locked down with ir.model.access.csv plus record rules so only Inventory users touch carrier configuration.
Because this is a build-to-order module, you are not downloading a fixed app and hoping it fits. We start from your actual bpost contract, your Odoo version (17.0, 18.0 or 19.0), your Community or Enterprise edition, and your real shipping flows (drop-ship, multi-warehouse, returns), then build, test on a staging copy, and hand over installable source. Typical delivery is 2–4 weeks from confirmed scope. You keep the git repository and full source — nothing is obfuscated or license-locked.
Runs an online store shipping domestically and cross-border with bpost. Needs pickup-point selection at checkout, negotiated rates shown to buyers, and automatic tracking emails so support isn't chasing parcels.
Owns the daily pick-pack-ship flow. Wants labels generated straight from the delivery order, barcodes on the slip, and status updates that appear in Odoo instead of a separate bpost portal.
Responsible for a clean, upgrade-safe deployment. Wants a proper `delivery.carrier` extension, `ir.model.access.csv` security, cron-based sync, and source they control rather than a black-box app.
Cares that quoted shipping equals invoiced shipping and that costs match the bpost contract. Values negotiated-rate accuracy and auditable API logging over flat-rate approximations.
Achetez la licence sur ecosire.com et téléchargez le module ZIP bpost Shipping Connector for Odoo depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez bpost Shipping Connector for Odoo et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| bpost integration | Purpose-built `delivery.carrier` provider for bpost | Possible but you design the provider contract from scratch | Generic carrier app, bpost often absent or partial | |
| Rate accuracy | Live negotiated-contract quoting per weight/zone | Depends on how the developer wires the rate call | Often flat or list rates, not your contract | |
| Label + tracking | Labels on picking validation, barcode + cron status sync | Built to spec but must be designed and tested | Basic labels; tracking sync varies | |
| Parcel lockers / pickup points | Point capture + optional website checkout picker | Buildable, added scope and testing | Rarely covers point selection cleanly | |
| Odoo version fit | Built for your exact 17/18/19 + Community/Enterprise | Whatever the developer targets | Fixed builds; may lag your version | |
| Source ownership | Full git repo + unobfuscated source handed over | You own it, but you built and staffed it | Often license-locked or obfuscated | |
| Support & upgrades | Post-go-live window + upgrade path on request | Your team maintains it | Vendor SLA varies; upgrades tied to their roadmap | |
| Time to value | 2–4 weeks, scoped, tested on staging | Longer — hiring, spec, build, QA | Instant install but poor bpost fit |
No — this is a build-to-order module, not an apps.odoo.com download. After a short scoping call we confirm scope, then build, test on staging and hand over. Typical delivery is 2–4 weeks from confirmed scope, depending on your Odoo version, edition and how many shipping flows (returns, drop-ship, multi-warehouse) are involved.
We build for Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. The connector is a self-contained `delivery.carrier` provider, so it works whether or not you have Enterprise's stock/delivery extras. We tell you up front if your version reaches end of support during the engagement.
Yes. The connector authenticates against your bpost Shipping Manager account (account ID and passphrase) and quotes against your negotiated contract. We do not resell bpost or set up your account — you keep your own commercial relationship and rates; the module simply drives them from Odoo.
A scheduled action (`ir.cron`) polls bpost for tracking events and updates a computed status field on the delivery order, posting transit milestones to the chatter. The barcode is written to `carrier_tracking_ref` at label time, so the customer's shipping-confirmation email and the delivery slip both carry a working tracking reference.
Yes. Pickup-point / parcel-locker delivery is a core capability. The selected bpost point is captured on the order and passed through on the label request, and we can add a pickup-point picker to the Odoo Website checkout so eCommerce buyers select a locker before paying.
Every build includes a post-go-live support window for defect fixes and config adjustments. Because you receive the full git repository and unobfuscated source, your own team or ECOSIRE can maintain it. When you upgrade Odoo (e.g. 18.0 → 19.0) or bpost changes its API, we can quote a migration; the code is structured to make that straightforward.
That's the point of quoting against your contract instead of a flat rate. `bpost_rate_shipment` calls bpost with the real weight, destination and product so the sale-order and delivery-order cost reflect your negotiated pricing. We validate this during UAT against sample shipments so quoted and invoiced amounts line up.
A build-to-order Odoo delivery carrier that connects your bpost business account for negotiated-rate quoting, label generation, parcel-locker and pickup-point selection, and automatic tracking status sync. ECOSIRE scopes, builds, installs, and supports it for you.