OdooWiki OCA HUB

Delivery Carrier Roulier

delivery_roulier folder_open OCA/delivery-carrier open_in_new
Delivery License: AGPL-3

Integration of multiple carriers with Roulier library

Base module for integration with Roulier.

Roulier is a python library which implements carriers API. This modules contains the core functions for this implementation.

You should install one of the specific modules :

  • delivery_roulier_laposte
  • delivery_roulier_dpd
  • delivery_roulier_geodis
  • delivery_carrier_label_gls
  • more to come

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Base module that connects Odoo deliveries to the Roulier carrier library, so shipping labels, tracking numbers and tracking links can be generated for carriers such as La Poste, DPD, Geodis or GLS (installed separately).

This is a foundation module: it does not add a carrier by itself, but provides the shared machinery that carrier-specific modules use to talk to the Roulier library.

What users see: - On packages (stock.quant.package), new fields show the carrier, the parcel tracking number and a tracking link, plus a Tracking button that opens the carrier's tracking page. - On a delivery order (stock.picking), a Tracking button opens the tracking page; if several packages exist, a list of packages is shown instead.

Automatic behaviour: - When a shipping label is requested, the module checks that every done move line has a destination package; otherwise it raises an error asking the user to add one. - It builds the sender, receiver, account, service and shipping date (default: tomorrow) sent to the carrier, then stores the returned tracking numbers on the packages and attaches the label files to the delivery. - Cancelling a shipment clears the carrier tracking reference and deletes the related label attachments. - Tracking links are collected from packages; one link is returned directly, several are returned as a list. - For customs, unit prices are taken from the related sale order line when available, otherwise from the product's list price with taxes and discount applied.

It touches delivery.carrier, stock.picking, stock.move.line and stock.quant.package.

Models and fields (4)
  • stock.picking · extends an existing model
  • stock.move.line · extends an existing model
  • delivery.carrier · extends an existing model
  • stock.quant.package · extends an existing modelcarrier_id (Carrier), parcel_tracking, parcel_tracking_uri

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/delivery-carrier.

terminal Installation and usage

OCA documentation · Odoo 18.0

This module needs package in order to work. To generate the carrier labels on the picking, each products need to be assigned to a destination package. In case you don't want to bother with the use of package because the whole content of the picking usually fit in a unique package, you may consider installing the module delivery_automatic_package from the same repository (delivery-carrier). The package will be assigned automatically when asking the carrier labels.

Here is some methods you can use for your carrier implementation allowing to have a consistent code accross different carrier modules:

def _mycarrier_get_sender(...):


def _mycarrier_get_receiver(...):


def _mycarrier_get_shipping_date(...):


def _mycarrier_get_account(...):


def _mycarrier_get_auth(...):


def _mycarrier_get_service(...):


def _mycarrier_convert_address(...):

Instead of calling super() you can use:

def _mycarrier_get_service(...):

    result = _roulier_get_service(...)

    result["specific_key"] = "blabla"

    return result

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.