Repository
OCA/delivery-carrier · module folder · Try on Runboat
Module version
1.4.0
Category
Delivery
Folder size
0.17 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/delivery-carrier
Last tracking update
2026-08-11 17:15:18
Authors
Odoo Community Association (OCA), Tecnativa, ForgeFlow, Hunki Enterprises BV
Maintainers
Odoo Community Association (OCA), Tecnativa, ForgeFlow, Hunki Enterprises BV
Committers
Carlos Lopez, sergio-teruel, Jan Suhr, Weblate, OCA-git-bot, Sudhir Arya, oca-ci, juancarlosonate-tecnativa
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module adds [UPS](https://ups.com) to the available carriers.

It allows you to register shippings, generate labels, get rates from
order, read shipping states and cancel shipments using UPS webservice,
so no need of exchanging any kind of file.

When a sales order is created in Odoo and the UPS carrier is assigned,
the shipping price that will be obtained will be the price that the UPS
webservice estimates according to the order information (address and
products).

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_delivery_carrier_form delivery.carrier form Inherits delivery.view_delivery_carrier_form
view_picking_withcarrier_out_form stock.picking form Inherits stock_delivery.view_picking_withcarrier_out_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (15)
  • delivery_type Selection
    ondelete={'ups': <expr>} selection_add=[('ups', 'UPS')]
  • ups_cash_on_delivery Boolean
    string='UPS Cash On Delivery'
  • ups_client_id Char
  • ups_client_secret Char
  • ups_cod_funds_code Selection
    selection=[('1', 'Cash'), ('9', 'Check/Cashier Check/Money Order')] string='UPS Cod Funds Code'
  • ups_default_packaging_id Many2one → stock.package.type
    comodel_name='stock.package.type' domain=[('package_carrier_type', '=', 'ups')] string='Default Carrier Packaging Type'
  • ups_file_format Selection
    default='GIF' selection=[('PDF', 'PDF'), ('GIF', 'GIF'), ('ZPL', 'ZPL'), ('EPL', 'EPL'), ('SPL', 'SPL')] string='File format'
  • ups_package_dimension_code Selection
    default='IN' help='Is necessary to set dimension code from packages in shipping creation process' selection=[('IN', 'IN'), ('CM', 'CM')] string='Package Dimension code'
  • ups_package_weight_code Selection
    default='LBS' help='Is necessary to set weight code from packages in shipping creation process' selection=[('LBS', 'LBS'), ('KGS', 'KGS'), ('OZS', 'OZS')] string='Package Weight code'
  • ups_service_code Selection
    default='11' selection=[('01', 'Next Day Air'), ('02', '2nd Day Air'), ('03', 'Ground'), ('07', 'Express'), ('08', 'Expedited'), ('11', 'UPS Standard'), ('12', '3 Day Select'), ('13', 'Next Day Air Saver'), ('14', 'UPS Next Day Air® Early'), ('17', 'UPS Worldwide Economy DDU'), ('54', 'Express Plus'), ('59', '2nd Day Air A.M.'), ('65', 'UPS Saver'), ('M2', 'First Class Mail'), ('M3', 'Priority Mail'), ('M4', 'Expedited Mail Innovations'), ('M5', 'Priority Mail Innovations'), ('M6', 'Economy Mail Innovations'), ('M7', 'Mail Innovations (MI) Returns'), ('70', 'UPS Access PointTM Economy'), ('71', 'UPS Worldwide Express Freight Midday'), ('72', 'UPS Worldwide Economy'), ('74', 'UPS Express®12:00'), ('82', 'UPS Today Standard'), ('83', 'UPS Today Dedicated Courier'), ('84', 'UPS Today Intercity'), ('85', 'UPS Today Express'), ('86', 'UPS Today Express Saver'), ('96', 'UPS Worldwide Express Freight')] string='Service code'
  • ups_shipper_number Char
    string='Shipper number'
  • ups_token Char
  • ups_token_expiration_date Datetime
    readonly=True
  • ups_tracking_state_update_sync Boolean
    help='If checked, odoo try to state update from picking according to UPS webservice (you will necessary to activate tracking API)' string='Tracking state update sync'
  • ups_use_packages_from_picking Boolean
    string='Use packages from picking'
Public methods (8)
  • ups_cancel_shipment(self, pickings)
  • ups_create_shipping(self, picking)
    Send packages of the picking to UPS return a list of dicts {'exact_price': 'tracking_number':} suitable for delivery.carrier#send_shipping
  • ups_get_label(self, carrier_tracking_ref)
    Generate label for picking :param picking - stock.picking record :returns attachment file
  • ups_get_tracking_link(self, picking)
  • ups_rate_shipment(self, order)
  • ups_send_shipping(self, pickings)
  • ups_tracking_state_update(self, picking)
  • ups_update_token(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • package_carrier_type Selection
    selection_add=[('ups', 'UPS')]
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • ups_get_label(self)

Loading…

Loading…

Loading…