Skip to main content
InPost Shipping Integration for Odoo — A build-to-order Odoo delivery carrier that connects your Polish operations to InPost  — 1/1Illustrative preview

A build-to-order Odoo delivery carrier that connects your Polish operations to InPost parcel-locker and courier

shipping — automated rate selection, label generation, and tracking directly from Sales and Inventory.

ECOSIRE scopes, builds, installs, and supports it for you.

What is InPost Shipping Integration for Odoo?

A build-to-order Odoo delivery carrier that connects your Polish operations to InPost parcel-locker and courier shipping — automated rate selection, label generation, and tracking directly from Sales and Inventory. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated delivery provider extending `delivery.carrier` with a new `provider` selection value, fully integrated into Odoo's native shipping framework
Live `rate_shipment` implementation returning real carrier prices at the Sales Order and delivery step, not static rule-based rates
Automated `send_shipping` on picking validation — requests the shipment, retrieves the tracking number, and writes `carrier_tracking_ref` back to `stock.picking`
Shipping label PDF retrieved from the carrier API and stored as an `ir.attachment` on the picking, printable directly from Odoo
`get_tracking_link` returning a clickable customer-facing tracking URL on the delivery order and portal
`cancel_shipment` support to void a label/shipment when a picking is cancelled, keeping carrier and Odoo state in sync
Parcel weight and dimension rollups via compute fields (`@api.depends`) from `stock.move.line` / product packaging data
Per-warehouse and per-company carrier credentials and default parcel profiles held in secure `ir.config_parameter` / settings, with sandbox vs production endpoints
Optional parcel-locker / point-of-collection selector as an OWL widget for backend and website checkout flows
Automated actions to notify customers on dispatch and update delivery status without manual intervention
QWeb report templates for a branded packing slip and internal label-batch print
Security via `ir.model.access.csv` plus multi-company record rules so each company sees only its own carrier accounts and shipments
Server-side API calls exposed safely through XML-RPC/JSON-RPC for programmatic shipment creation from middleware or marketplace connectors
Robust error handling and logging for API timeouts, rejected parcels, and credential failures, surfaced as clear user messages on the picking
Built and tested against your exact Odoo version (17.0 / 18.0 / 19.0) with Community vs Enterprise handling confirmed at scoping

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Polish e-commerce and distribution teams live and die on parcel-locker delivery, but Odoo core ships with no native connector for the dominant Polish carrier network. Out of the box you get the generic delivery.carrier model with fixed-price or rule-based rates — no live rate lookup, no locker/point-of-collection selection, no automated label PDF, and no back-and-forth of tracking numbers into the shipment. Warehouse staff end up copy-pasting parcel details into a separate carrier portal, printing labels there, and hand-typing tracking references back into Odoo. That double entry is slow, error-prone, and breaks the moment order volume climbs.

ECOSIRE builds a made-to-order delivery integration that extends Odoo's shipping framework so the carrier lives natively inside your workflow. We add a dedicated provider on delivery.carrier (extending provider selection), wiring rate_shipment, send_shipping, get_tracking_link, and cancel_shipment to the carrier's REST API through Odoo's standard requests/JSON handling. Credentials, sandbox-vs-production endpoints, and default parcel dimensions are held in encrypted config parameters and per-warehouse settings. When a picking is validated, the connector requests the shipment, receives the tracking number and a label, stores the label as an ir.attachment on the stock.picking, and writes carrier_tracking_ref back automatically — no portal, no retyping.

Technically, the build spans new fields and compute methods (models.Model, fields, @api.depends) for parcel weight/size rollups, an OWL/JS widget or website checkout selector for parcel-locker point-of-collection where relevant, QWeb templates for the branded label and a picking-list report, and automated actions to push status transitions and notify customers on dispatch. Security is enforced with ir.model.access.csv for new models plus record rules so multi-company setups only see their own carrier accounts. All API calls run server-side and are safe to trigger from the standard XML-RPC/JSON-RPC API, so your own middleware or marketplace connectors can create shipments programmatically. We target your exact Odoo line — 17.0, 18.0, or 19.0 — and handle Community vs Enterprise differences (Enterprise's studio/field-service hooks vs Community's plain stock flow) during scoping.

Because this is build-to-order, nothing is downloaded and dropped in blind. After a short scoping call we confirm your carrier account type, parcel profiles, checkout flow, and Odoo edition, then build against a staging copy of your database, run UAT together, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company rollouts, extra carrier services (COD, returns, cross-border), website-checkout locker selection, and data migration of historical shipments increase the quoted scope. You receive a fixed quote after the scoping call — the from-price is indicative only.

What you get

  • Installable Odoo module source code built for your exact version (17.0, 18.0, or 19.0) and edition
  • Installation and configuration on your environment, including carrier credentials, endpoints, and per-warehouse parcel profiles
  • Technical documentation covering models, fields, API mapping, config parameters, and security rules
  • End-user guide plus a live training session for warehouse and sales staff
  • UAT on a staging copy of your database with a documented rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release
  • Deployment runbook covering credential rotation, sandbox-to-production switch, and upgrade notes

Who this is for

Polish e-commerce operations lead

Runs a high-volume online store on Odoo and needs parcel-locker delivery to be selectable at checkout and dispatched from Inventory without staff logging into a separate carrier portal to print labels.

Warehouse / logistics manager

Wants picking validation to automatically request the shipment, pull the label, and record the tracking number so pickers stop hand-typing references and cross-checking two systems.

Odoo administrator or in-house developer

Needs a clean, upgrade-safe carrier extension with proper access rules and server-side API calls they can trigger from existing XML-RPC/JSON-RPC middleware, rather than a fragile portal scraper.

Cross-border retailer serving Poland

Ships into the Polish market and needs a reliable carrier connector with COD, returns, and locker options wired into a multi-company Odoo, quoted and delivered to their specific requirements.

How InPost Shipping Integration for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Polish parcel carrier supportNative carrier provider built for your account and servicesPossible but you build and maintain the API mappingGeneric module, may not match your account type or servicesNo connector — generic fixed/rule-based rates only
Label generationAuto-retrieved on picking validation, stored as attachmentDepends on in-house effort and prioritiesOften present but rigid on format and edge casesNone — printed manually in the carrier portal
Tracking write-back`carrier_tracking_ref` and tracking link set automaticallyMust be coded and tested yourselfUsually included, quality variesManual copy-paste from the portal
Fit to your Odoo version/editionBuilt and tested for your exact 17/18/19 and editionYou own version compatibilityOnly the versions the vendor chose to supportVersion-agnostic but no feature
Multi-company isolationPer-company credentials plus record rulesYou design the security modelFrequently single-company by defaultNot applicable — no carrier
Programmatic API accessServer-side calls exposed via XML-RPC/JSON-RPCWhatever you choose to exposeRarely documented for external triggeringNone
Support and ownershipSupport window plus full git repo handoverYour team is the support lineVendor tickets, shared roadmap, no code ownershipCommunity forums only
Delivery modelBuild-to-order, UAT on staging, rollback planInternal project timeline and riskInstant install but generic, integrate it yourselfImmediate but no capability

Frequently Asked Questions about InPost Shipping Integration

How long does delivery take?

This is a build-to-order product, so it is built for you rather than downloaded. Typical delivery is one working week from confirmed scope, depending on your Odoo edition, checkout flow, and how many carrier services (COD, returns, cross-border) you need. We agree the timeline in writing after the scoping call.

Is this an existing app I can install today?

No. It is a productized service — ECOSIRE builds, installs, and supports the integration against your specific Odoo version and carrier account. There is no instant download; you receive tested, installable source code built for your environment as part of the engagement.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. After a short scoping call we confirm requirements — edition, multi-company, services, checkout selector, data migration — and send a fixed quote. The from-price is indicative; the quoted figure after scoping is what you pay.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full git repository, you own the code. We also quote version upgrades (for example moving from 17.0 to 18.0 or 19.0) or carrier API changes as scoped follow-on work.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. Edition differences — such as Enterprise field-service or studio hooks versus Community's plain stock flow — are confirmed during scoping so the delivery carrier behaves correctly on your platform.

Will it work with our custom checkout and multi-company setup?

Yes. Carrier credentials and parcel profiles are held per company and per warehouse, and multi-company record rules keep accounts isolated. Website checkout locker selection and custom flows are supported and scoped as part of the quote.

Can we create shipments programmatically from our own systems?

Yes. All carrier calls run server-side and are exposed through Odoo's standard XML-RPC/JSON-RPC API, so your middleware, marketplace connectors, or scripts can trigger rate lookups, label generation, and tracking retrieval without touching the UI.

Request a quote

InPost Shipping Integration

A build-to-order Odoo delivery carrier that connects your Polish operations to InPost parcel-locker and courier shipping — automated rate selection, label generation, and tracking directly from Sales and Inventory. ECOSIRE scopes, builds, installs, and supports it for you.

  • Dedicated delivery provider extending `delivery.carrier` with a new `provider` selection value, fully integrated into Odoo's native shipping framework
  • Live `rate_shipment` implementation returning real carrier prices at the Sales Order and delivery step, not static rule-based rates
  • Automated `send_shipping` on picking validation — requests the shipment, retrieves the tracking number, and writes `carrier_tracking_ref` back to `stock.picking`
  • Shipping label PDF retrieved from the carrier API and stored as an `ir.attachment` on the picking, printable directly from Odoo

Request a Quotation

Tell us about your InPost Shipping Integration requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.