ITA - Documento di trasporto

l10n_it_delivery_note
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/18.0/l10n_it_delivery_note
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
COMMITTERS
COMMITTERStafaRU, Weblate, OCA-git-bot, Simone Rubino, micheledic, oca-ci, matteo.tognini, Borruso, Alessandro Fiorino, anusrinps96
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/delivery-carrier:
    - delivery_carrier_partner
odoo/odoo:
    - delivery
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - sale_stock
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - stock_delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**English**

This module manage the Italian DDT (Delivery note).

From a picking is possible to generate a Delivery Note and group more
picking in one delivery note. It's also possible to invoice from the
delivery note form.

This module is alternative to `l10n_it_ddt`, it follows the Odoo way to
process sale orders, pickings and invoices.

You can't have both `l10n_it_ddt` and `l10n_it_delivery_note` installed
together.

There are two available settings:

- Base (default): one picking, one DN.
- Advanced: more picking in one DN.

**Italiano**

Questo modulo consente di gestire i DDT.

Da un prelievo è possibile generare un DDT e raggruppare più prelievi in
un DDT. È anche possibile fatturare dalla scheda del DDT.

Questo modulo è un alternativa al modulo `l10n_it_ddt`, segue la
modalità Odoo di gestire ordini di vendita, prelievi e fatture.

Non è possibile avere installati contemporaneamente `l10n_it_ddt` e
`l10n_it_delivery_note`.

Ci sono due impostazioni possibili.

- Base (predefinita): un prelievo, un DDT.
- Avanzata: più prelievi in un DDT.

Code Analysis

Views touched (34)
XML IDNameModelTypeStatus
account_view_move_form_view account.view.move.form account.move xpath Inherits account.view_move_form
delivery_data delivery_data ir.ui.view qweb New
delivery_note_report_main_template delivery_note_report_main_template ir.ui.view qweb New
delivery_note_report_template delivery_note_report_template ir.ui.view qweb New
parcels_data parcels_data ir.ui.view qweb New
portal_delivery_note_page Delivery Note Portal Template ir.ui.view qweb Inherits portal.portal_sidebar
portal_my_delivery_notes My Delivery Notes ir.ui.view qweb New
portal_my_home_delivery_note Delivery Notes ir.ui.view qweb Inherits portal.portal_my_home
portal_my_home_menu_delivery_note Portal layout : delivery note menu entries ir.ui.view qweb Inherits portal.portal_breadcrumbs
res_config_settings_form_view res.config.settings.form res.config.settings xpath Inherits stock.res_config_settings_view_form
res_partner_form_view res.partner.form res.partner xpath Inherits base.view_partner_form
sale_advance_payment_inv_form_view sale.advance.payment.inv.form sale.advance.payment.inv xpath Inherits sale.view_sale_advance_payment_inv
sale_order_form_view sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit_sale_stock
stock_delivery_note_confirm_form_view stock.delivery.note.confirm.form stock.delivery.note.confirm.wizard form New
stock_delivery_note_create_form_view stock.delivery.note.create.form stock.delivery.note.create.wizard form New
stock_delivery_note_form_view stock.delivery.note.form stock.delivery.note form New
stock_delivery_note_search_view stock.delivery.note.search stock.delivery.note search New
stock_delivery_note_select_form_view stock.delivery.note.select.form stock.delivery.note.select.wizard form New
stock_delivery_note_tree_view stock.delivery.note.tree stock.delivery.note list New
stock_delivery_note_type_form_view stock.delivery.note.type.form stock.delivery.note.type form New
stock_delivery_note_type_tree_view stock.delivery.note.type.tree stock.delivery.note.type list New
stock_delivery_note_wizard_error_message_template stock_delivery_note_wizard_error_message_template ir.ui.view qweb New
stock_picking_form_view stock.picking.form stock.picking data Inherits stock.view_picking_form
stock_picking_goods_appearance_form_view stock.picking.goods.appearance.form stock.picking.goods.appearance form New
stock_picking_goods_appearance_tree_view stock.picking.goods.appearance.tree stock.picking.goods.appearance list New
stock_picking_search_view stock.picking.search stock.picking xpath Inherits stock.view_picking_internal_search
stock_picking_transport_condition_form_view stock.picking.transport.condition.form stock.picking.transport.condition form New
stock_picking_transport_condition_tree_view stock.picking.transport.condition.tree stock.picking.transport.condition list New
stock_picking_transport_method_form_view stock.picking.transport.method.form stock.picking.transport.method form New
stock_picking_transport_method_tree_view stock.picking.transport.method.tree stock.picking.transport.method list New
stock_picking_transport_reason_form_view stock.picking.transport.reason.form stock.picking.transport.reason form New
stock_picking_transport_reason_tree_view stock.picking.transport.reason.tree stock.picking.transport.reason list New
stock_picking_tree_view stock.picking.tree stock.picking field Inherits stock.vpicktree
view_stock_delivery_note_invoice_wizard stock.delivery.note.invoice.form stock.delivery.note.invoice.wizard form New
Models touched (25)

New fields (2)
  • delivery_note_count Integer
    compute='_compute_delivery_note_count'
  • delivery_note_ids Many2many → stock.delivery.note
    copy=False string='Delivery Notes' args: 'stock.delivery.note', 'stock_delivery_note_account_invoice_rel', 'invoice_id', 'delivery_note_id'
Public methods (5)
  • button_cancel(self)
  • goto_delivery_notes(self, **kwargs)
  • goto_invoice(self, **kwargs)
  • unlink(self)
  • update_delivery_note_lines(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    copy=False readonly=True string='Delivery Note' args: 'stock.delivery.note'
  • note_dn Boolean
    string='Note DN'
Public methods (0)

No public methods.

New fields (14)
  • delivery_carrier_id Many2one → res.partner
    comodel_name='res.partner' string='Carrier of Delivery'
  • delivery_goods_appearance_id Many2one → stock.picking.goods.appearance
    comodel_name='stock.picking.goods.appearance' string='Appearance of goods of Delivery'
  • delivery_gross_weight Float
    string='Gross Weight of Delivery'
  • delivery_gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Gross Weight of Delivery UoM' args: 'uom.uom'
  • delivery_net_weight Float
    string='Net Weight of Delivery'
  • delivery_net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Net Weight of Delivery UoM' args: 'uom.uom'
  • delivery_note Html
    string='Internal note of delivery'
  • delivery_packages Integer
    string='Packages of Delivery'
  • delivery_transport_condition_id Many2one → stock.picking.transport.condition
    comodel_name='stock.picking.transport.condition' string='Condition of transport of Delivery'
  • delivery_transport_datetime Datetime
    string='Transport Date of Delivery'
  • delivery_transport_method_id Many2one → stock.picking.transport.method
    comodel_name='stock.picking.transport.method' string='Method of transport of Delivery'
  • delivery_transport_reason_id Many2one → stock.picking.transport.reason
    comodel_name='stock.picking.transport.reason' string='Reason of transport of Delivery'
  • delivery_volume Float
    string='Volume of Delivery'
  • delivery_volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom string='Volume of Delivery UoM' args: 'uom.uom'
Public methods (0)

No public methods.

New fields (5)
  • display_carrier_dn_report Boolean
    default=False args: 'Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    default=False args: 'Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    default=False args: 'Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    default=False args: 'Display Ref. Order in Delivery Note Report'
  • display_total_in_dn_with_prices Boolean
    default=False args: 'Display total in DN with prices'
Public methods (1)
  • create(self, vals)
    @api.model_create_multi
    Create DN types and their sequences after companies creation if they're not already existing

New fields (7)
  • display_carrier_dn_report Boolean
    readonly=False related='company_id.display_carrier_dn_report' string='Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    readonly=False related='company_id.display_delivery_method_dn_report' string='Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    readonly=False related='company_id.display_ref_customer_dn_report' string='Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    readonly=False related='company_id.display_ref_order_dn_report' string='Display Ref. Order in Delivery Note Report'
  • display_total_in_dn_with_prices Boolean
    readonly=False related='company_id.display_total_in_dn_with_prices'
  • group_required_partner_ref Boolean
    implied_group='l10n_it_delivery_note.group_required_partner_ref' string='Make Partner Ref. in DN Mandatory'
  • virtual_locations_root Many2one → stock.location
    config_parameter='stock.location.virtual_root' default=_default_virtual_locations_root string='Virtual locations root' args: 'stock.location'
Public methods (0)

No public methods.

New fields (4)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
Public methods (0)

No public methods.

New fields (1)
  • step Selection
    default=_default_step string='Current step' args: WIZARD_STEPS
Public methods (2)
  • action_step_confirm(self)
  • goto(self, **kwargs)

New fields (6)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
  • delivery_note_count Integer
    compute='_compute_delivery_notes'
  • delivery_note_ids Many2many → stock.delivery.note
    compute='_compute_delivery_notes' args: 'stock.delivery.note'
Public methods (2)
  • goto_delivery_notes(self, **kwargs)
  • onchange_partner_id_shipping_info(self)
    @api.onchange('partner_id')

New fields (2)
  • delivery_note_line_ids One2many → stock.delivery.note.line
    readonly=True args: 'stock.delivery.note.line', 'sale_line_id'
  • delivery_picking_id Many2one → stock.picking
    copy=False readonly=True args: 'stock.picking'
Public methods (7)
  • fix_qty_to_invoice(self, new_qty_to_invoice=0)
  • has_picking(self)
    @property
  • is_invoiceable(self)
    @property
  • is_invoiced(self)
    @property
  • is_pickings_related(self, picking_ids)
  • need_to_be_invoiced(self)
    @property
  • retrieve_pickings_lines(self, picking_ids)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (59)
  • active Boolean
    default=True
  • amount_total Monetary
    compute='_compute_amount_total' currency_field='currency_id' store=True args: 'Total Amount'
  • can_change_number Boolean
    compute='_compute_boolean_flags'
  • carrier_id Many2one → res.partner
    string='Carrier' tracking=True args: 'res.partner'
  • company_id Many2one → res.company
    default=_default_company required=True args: 'res.company'
  • currency_id Many2one → res.currency
    compute='_compute_currency_id' args: 'res.currency'
  • date Date
    copy=False
  • delivery_carrier_id Many2one
    readonly=True related='carrier_id'
  • delivery_goods_appearance_id Many2one
    readonly=True related='goods_appearance_id'
  • delivery_gross_weight Float
    readonly=True related='gross_weight'
  • delivery_gross_weight_uom_id Many2one
    default=None domain=None readonly=True related='gross_weight_uom_id'
  • delivery_method_id Many2one → delivery.carrier
    string='Delivery method' tracking=True args: 'delivery.carrier'
  • delivery_net_weight Float
    readonly=True related='net_weight'
  • delivery_net_weight_uom_id Many2one
    default=None domain=None readonly=True related='net_weight_uom_id'
  • delivery_note Html
    readonly=True related='note'
  • delivery_packages Integer
    readonly=True related='packages'
  • delivery_transport_condition_id Many2one
    readonly=True related='transport_condition_id'
  • delivery_transport_datetime Datetime
    readonly=True related='transport_datetime'
  • delivery_transport_method_id Many2one
    readonly=True related='transport_method_id'
  • delivery_transport_reason_id Many2one
    readonly=True related='transport_reason_id'
  • delivery_volume Float
    readonly=True related='volume'
  • delivery_volume_uom_id Many2one
    default=None domain=None readonly=True related='volume_uom_id'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    compute='_compute_weights' readonly=False store=True string='Gross weight'
  • gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Gross weight UoM' args: 'uom.uom'
  • invoice_ids Many2many → account.move
    copy=False string='Invoices' args: 'account.move', 'stock_delivery_note_account_invoice_rel', 'delivery_note_id', 'invoice_id'
  • invoice_status Selection
    compute='_compute_invoice_status' copy=False default=<expr> readonly=True store=True string='Invoice status' args: INVOICE_STATUSES
  • line_ids One2many → stock.delivery.note.line
    string='Lines' args: 'stock.delivery.note.line', 'delivery_note_id'
  • lines_have_customer_ref Boolean
    compute='_compute_lines_have_customer_ref'
  • lines_have_so_number Boolean
    compute='_compute_lines_have_so_number'
  • name Char
    copy=False index=True readonly=True tracking=True
  • net_weight Float
    compute='_compute_weights' readonly=False store=True string='Net weight'
  • net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Net weight UoM' args: 'uom.uom'
  • note Html
    string='Internal note'
  • packages Integer
  • partner_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" index=True readonly=True required=True string='Recipient' tracking=True args: 'res.partner'
  • partner_ref Char
    copy=False index=True string='Partner reference' tracking=True
  • partner_sender_id Many2one → res.partner
    default=_default_company domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" readonly=True required=True string='Sender' tracking=True args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" required=True string='Shipping address' tracking=True args: 'res.partner'
  • picking_ids One2many → stock.picking
    check_company=True string='Pickings' args: 'stock.picking', 'delivery_note_id'
  • picking_type Selection
    compute='_compute_picking_type' store=True string='Picking type' args: <expr>
  • pickings_picker Many2many → stock.picking
    check_company=True compute='_compute_get_pickings' inverse='_inverse_set_pickings' args: 'stock.picking'
  • print_prices Boolean
    related='type_id.print_prices' store=True string='Show prices on printed DN'
  • sale_count Integer
    compute='_compute_sales'
  • sale_ids Many2many → sale.order
    compute='_compute_sales' args: 'sale.order'
  • sales_transport_check Boolean
    compute='_compute_sales' default=True
  • sequence_id Many2one → ir.sequence
    copy=False readonly=True args: 'ir.sequence'
  • show_discount Boolean
    compute='_compute_show_discount'
  • show_product_information Boolean
    compute='_compute_boolean_flags'
  • state Selection
    copy=False default=<expr> required=True tracking=True args: DELIVERY_NOTE_STATES
  • transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    string='Transport date'
  • transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
  • type_code Selection
    related='type_id.code' store=True string='Type of Operation'
  • type_id Many2one → stock.delivery.note.type
    check_company=True default=_default_type index=True readonly=True required=True string='Type' args: 'stock.delivery.note.type'
  • untaxed_amount_total Monetary
    compute='_compute_amount_total' currency_field='currency_id' store=True args: 'Untaxed Total Amount'
  • volume Float
  • volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom string='Volume UoM' args: 'uom.uom'
Public methods (16)
  • action_cancel(self)
  • action_confirm(self)
  • action_done(self)
  • action_draft(self)
  • action_invoice(self, invoice_method=False)
  • action_print(self)
  • check_compliance(self, pickings)
  • create(self, vals_list)
    @api.model_create_multi
  • ensure_annulability(self)
  • get_location_address(self, location_id)
    @api.model
  • goto(self, **kwargs)
  • goto_sales(self, **kwargs)
  • unlink(self)
  • update_detail_lines(self)
  • update_transport_datetime(self)
  • write(self, vals)

New fields (8)
  • date Date
  • error_message Html
    compute='_compute_fields'
  • partner_id Many2one → res.partner
    compute='_compute_fields' string='Recipient' args: 'res.partner'
  • partner_sender_id Many2one → res.partner
    compute='_compute_fields' string='Sender' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    string='Shipping address' args: 'res.partner'
  • selected_picking_ids Many2many → stock.picking
    default=_default_stock_pickings readonly=True args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    domain=_domain_type_id string='Type' args: 'stock.delivery.note.type'
  • warning_message Char
    compute='_compute_fields' readonly=True args: 'Warning'
Public methods (1)
  • confirm(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    readonly=True args: 'stock.delivery.note'
  • warning_message Text
    readonly=True
Public methods (1)
  • confirm(self)

New fields (4)
  • date Date
    default=_default_date
  • partner_shipping_id Many2one → res.partner
    required=True args: 'res.partner'
  • picking_type Selection
    compute='_compute_picking_type' string='Picking type' args: <expr>
  • type_id Many2one → stock.delivery.note.type
    default=_default_type required=True args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
    @api.model
  • confirm(self)

New fields (2)
  • invoice_date Date
    default=_get_default_invoice_date string='Invoice/Bill Date'
  • invoice_method Selection
    default='dn' required=True args: [('dn', 'Only DN'), ('service', 'With Service')]
Public methods (1)
  • create_invoices(self)

New fields (20)
  • amount Monetary
    compute='_compute_amount' store=True
  • company_id Many2one → res.company
    index=True readonly=True related='delivery_note_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    default=_default_currency required=True string='Currency' args: 'res.currency'
  • delivery_note_id Many2one → stock.delivery.note
    ondelete='cascade' required=True string='Delivery Note' args: 'stock.delivery.note'
  • discount Float
    digits='Discount'
  • display_type Selection
    default=False string='Line type' args: LINE_DISPLAY_TYPES
  • invoice_status Selection
    copy=False default=<expr> required=True string='Invoice status' args: INVOICE_STATUSES
  • move_id Many2one → stock.move
    check_company=True copy=False readonly=True string='Warehouse movement' args: 'stock.move'
  • name Text
    required=True string='Description'
  • price_unit Float
    digits='Product Price' string='Unit price'
  • product_description Text
    related='product_id.description_sale'
  • product_id Many2one → product.product
    string='Product' args: 'product.product'
  • product_qty Float
    default=1.0 digits='Product Unit of Measure' string='Quantity'
  • product_uom_id Many2one → uom.uom
    default=_default_unit_uom string='UoM' args: 'uom.uom'
  • sale_line_id Many2one → sale.order.line
    copy=False related='move_id.sale_line_id' store=True args: 'sale.order.line'
  • sale_order_client_ref Char
    compute='_compute_sale_order_client_ref' store=True args: 'Customer Reference'
  • sale_order_number Char
    compute='_compute_sale_order_number' store=True
  • sequence Integer
    default=10 index=True required=True
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • untaxed_amount Monetary
    compute='_compute_amount' store=True
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • is_invoiceable(self)
    @property
  • sync_invoice_status(self)
  • write(self, vals)

New fields (5)
  • date Date
    related='delivery_note_id.date'
  • delivery_note_id Many2one → stock.delivery.note
    required=True string='Delivery Note' args: 'stock.delivery.note'
  • partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • picking_ids Many2many → stock.picking
    compute='_compute_fields' args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
  • confirm(self)

New fields (13)
  • active Boolean
    default=True
  • code Selection
    default=<expr> required=True string='Type of Operation' args: DELIVERY_NOTE_TYPE_CODES
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
  • name Char
    index=True required=True translate=True
  • next_sequence_number Integer
    related='sequence_id.number_next_actual'
  • note Html
    string='Internal note'
  • print_prices Boolean
    default=False string='Show prices on printed DN'
  • sequence Integer
    default=10 index=True
  • sequence_id Many2one → ir.sequence
    required=True string='Numeration' args: 'ir.sequence'
Public methods (2)
  • create_dn_types(self, company_id)
    This method creates DN types for the company in the input parameters. It first checks if they already exist, if not it will create them and then they'll be linked to their relative sequences (they'll be created too if they not already exist).
  • goto_sequence(self, **kwargs)

New fields (0)

No new fields.

Public methods (2)
  • get_virtual_locations_root(self)
    @api.model
  • is_virtual(self)

New fields (33)
  • can_be_invoiced Boolean
    compute='_compute_boolean_flags'
  • carrier_partner_id Many2one → res.partner
    related='carrier_id.partner_id' args: 'res.partner'
  • delivery_method_id Many2one → delivery.carrier
    related='delivery_note_id.delivery_method_id' args: 'delivery.carrier'
  • delivery_note_carrier_id Many2one → res.partner
    related='delivery_note_id.carrier_id' string='DN Carrier' args: 'res.partner'
  • delivery_note_date Date
    related='delivery_note_id.date' store=True string='DN Date'
  • delivery_note_draft Boolean
    compute='_compute_boolean_flags'
  • delivery_note_exists Boolean
    compute='_compute_boolean_flags'
  • delivery_note_id Many2one → stock.delivery.note
    copy=False string='Delivery Note' args: 'stock.delivery.note'
  • delivery_note_note Html
    related='delivery_note_id.note'
  • delivery_note_partner_ref Char
    related='delivery_note_id.partner_ref'
  • delivery_note_partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • delivery_note_readonly Boolean
    compute='_compute_boolean_flags'
  • delivery_note_sequence_id Many2one → ir.sequence
    related='delivery_note_id.sequence_id' string='Delivery Note Sequence' args: 'ir.sequence'
  • delivery_note_state Selection
    related='delivery_note_id.state' store=True string='DN State'
  • delivery_note_type_code Selection
    related='delivery_note_type_id.code'
  • delivery_note_type_id Many2one → stock.delivery.note.type
    check_company=True related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
  • delivery_note_volume Float
    related='delivery_note_id.volume' string='DN Volume'
  • delivery_note_volume_uom_id Many2one → uom.uom
    related='delivery_note_id.volume_uom_id' args: 'uom.uom'
  • dn_supplier_date Date
    copy=False string='Supplier DN Date'
  • dn_supplier_number Char
    copy=False string='Supplier DN Number'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    related='delivery_note_id.goods_appearance_id' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    related='delivery_note_id.gross_weight'
  • gross_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.gross_weight_uom_id' args: 'uom.uom'
  • net_weight Float
    related='delivery_note_id.net_weight'
  • net_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.net_weight_uom_id' args: 'uom.uom'
  • packages Integer
    related='delivery_note_id.packages' string='DN Packages'
  • picking_type_code Selection
    related='picking_type_id.code' string='DN Operation Type'
  • transport_condition_id Many2one → stock.picking.transport.condition
    related='delivery_note_id.transport_condition_id' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    related='delivery_note_id.transport_datetime'
  • transport_method_id Many2one → stock.picking.transport.method
    related='delivery_note_id.transport_method_id' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    related='delivery_note_id.transport_reason_id' args: 'stock.picking.transport.reason'
  • use_delivery_note Boolean
    compute='_compute_boolean_flags'
  • valid_move_ids One2many → stock.move
    domain=[('state', '!=', CANCEL_MOVE_STATE)] args: 'stock.move', 'picking_id'
Public methods (14)
  • action_delivery_note_cancel(self)
  • action_delivery_note_confirm(self)
  • action_delivery_note_create(self)
  • action_delivery_note_done(self)
  • action_delivery_note_draft(self)
  • action_delivery_note_invoice(self)
  • action_delivery_note_print(self)
  • action_delivery_note_select(self)
  • delivery_note_update_transport_datetime(self)
  • get_partners(self)
  • goto(self, **kwargs)
  • goto_delivery_note(self, **kwargs)
  • update_delivery_note_fields(self, vals)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • check_compliance(self, pickings)
    @api.model

New fields (4)
  • active Boolean
    default=True
  • name Char
    index=True required=True string='Appearance name' translate=True
  • note Html
    string='Internal note'
  • sequence Integer
    default=10 index=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • name Char
    index=True required=True string='Condition name' translate=True
  • note Html
    string='Internal note'
  • price_to_show Selection
    default=<expr> required=True string='Price to show' args: PRICES_TO_SHOW
  • sequence Integer
    default=10 index=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • name Char
    index=True required=True string='Method name' translate=True
  • note Html
    string='Internal note'
  • sequence Integer
    default=10 index=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • name Char
    index=True required=True string='Reason name' translate=True
  • note Html
    string='Internal note'
  • sequence Integer
    default=10 index=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/16.0/l10n_it_delivery_note
VERSION
VERSION 1.5.5
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
COMMITTERS
COMMITTERStafaRU, Weblate, OCA-git-bot, Simone Rubino, oca-ci, gianmarco, Alessandro Uffreduzzi, matteo.tognini, Marco Colombo, odooNextev, Borruso, Alessio Renda, PicchiSeba, Alberto Re, Marco Calcagni, Salvatore Davide Rapisarda
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:11:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/delivery-carrier:
    - delivery_carrier_partner
OCA/l10n-italy:
    - l10n_it_delivery_note_base
odoo/odoo:
    - delivery
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**English**

This module manage the Italian DDT (Delivery note).

From a picking is possible to generate a Delivery Note and group more
picking in one delivery note. It's also possible to invoice from the
delivery note form.

This module is alternative to `l10n_it_ddt`, it follows the Odoo way to
process sale orders, pickings and invoices.

You can't have both `l10n_it_ddt` and `l10n_it_delivery_note` installed
together.

There are two available settings:

- Base (default): one picking, one DN.
- Advanced: more picking in one DN.

**Italiano**

Questo modulo consente di gestire i DDT.

Da un prelievo è possibile generare un DDT e raggruppare più prelievi in
un DDT. È anche possibile fatturare dalla scheda del DDT.

Questo modulo è un alternativa al modulo `l10n_it_ddt`, segue la
modalità Odoo di gestire ordini di vendita, prelievi e fatture.

Non è possibile avere installati contemporaneamente `l10n_it_ddt` e
`l10n_it_delivery_note`.

Ci sono due impostazioni possibili.

- Base (predefinita): un prelievo, un DDT.
- Avanzata: più prelievi in un DDT.

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
account_view_move_form_view account.view.move.form account.move xpath Inherits account.view_move_form
assets_backend assets ir.ui.view qweb Inherits web.assets_backend
assets_frontend assets ir.ui.view qweb Inherits web.assets_frontend
delivery_data delivery_data ir.ui.view qweb New
delivery_note_report_main_template delivery_note_report_main_template ir.ui.view qweb New
delivery_note_report_template delivery_note_report_template ir.ui.view qweb New
parcels_data parcels_data ir.ui.view qweb New
portal_delivery_note_page Delivery Note Portal Template ir.ui.view qweb Inherits portal.portal_sidebar
portal_my_delivery_note Delivery notes ir.ui.view qweb Inherits portal.portal_my_home
portal_my_delivery_notes My Delivery Notes ir.ui.view qweb New
portal_my_home_menu_delivery_note Portal layout : delivery note menu entries ir.ui.view qweb Inherits portal.portal_breadcrumbs
res_config_settings_form_view res.config.settings.form res.config.settings xpath Inherits stock.res_config_settings_view_form
res_partner_form_view res.partner.form res.partner xpath Inherits base.view_partner_form
sale_advance_payment_inv_form_view sale.advance.payment.inv.form sale.advance.payment.inv xpath Inherits sale.view_sale_advance_payment_inv
sale_order_form_view sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit_sale_stock
stock_delivery_note_confirm_form_view stock.delivery.note.confirm.form stock.delivery.note.confirm.wizard form New
stock_delivery_note_create_form_view stock.delivery.note.create.form stock.delivery.note.create.wizard form New
stock_delivery_note_form_view stock.delivery.note.form stock.delivery.note form New
stock_delivery_note_search_view stock.delivery.note.search stock.delivery.note search New
stock_delivery_note_select_form_view stock.delivery.note.select.form stock.delivery.note.select.wizard form New
stock_delivery_note_tree_view stock.delivery.note.tree stock.delivery.note tree New
stock_delivery_note_wizard_error_message_template stock_delivery_note_wizard_error_message_template ir.ui.view qweb New
stock_picking_form_view stock.picking.form stock.picking data Inherits stock.view_picking_form
stock_picking_search_view stock.picking.search stock.picking xpath Inherits stock.view_picking_internal_search
stock_picking_tree_view stock.picking.tree stock.picking field Inherits stock.vpicktree
view_stock_delivery_note_invoice_wizard stock.delivery.note.invoice.form stock.delivery.note.invoice.wizard form New
Models touched (20)

New fields (2)
  • delivery_note_count Integer
    compute='_compute_delivery_note_count'
  • delivery_note_ids Many2many → stock.delivery.note
    copy=False string='Delivery Notes' args: 'stock.delivery.note', 'stock_delivery_note_account_invoice_rel', 'invoice_id', 'delivery_note_id'
Public methods (5)
  • button_cancel(self)
  • goto_delivery_notes(self, **kwargs)
  • goto_invoice(self, **kwargs)
  • unlink(self)
  • update_delivery_note_lines(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    copy=False readonly=True string='Delivery Note' args: 'stock.delivery.note'
  • note_dn Boolean
    string='Note DN'
Public methods (0)

No public methods.

New fields (14)
  • delivery_carrier_id Many2one → res.partner
    comodel_name='res.partner' string='Carrier of Delivery'
  • delivery_goods_appearance_id Many2one → stock.picking.goods.appearance
    comodel_name='stock.picking.goods.appearance' string='Appearance of goods of Delivery'
  • delivery_gross_weight Float
    string='Gross Weight of Delivery'
  • delivery_gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Gross Weight of Delivery UoM' args: 'uom.uom'
  • delivery_net_weight Float
    string='Net Weight of Delivery'
  • delivery_net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom string='Net Weight of Delivery UoM' args: 'uom.uom'
  • delivery_note Html
    string='Internal note of delivery'
  • delivery_packages Integer
    string='Packages of Delivery'
  • delivery_transport_condition_id Many2one → stock.picking.transport.condition
    comodel_name='stock.picking.transport.condition' string='Condition of transport of Delivery'
  • delivery_transport_datetime Datetime
    string='Transport Date of Delivery'
  • delivery_transport_method_id Many2one → stock.picking.transport.method
    comodel_name='stock.picking.transport.method' string='Method of transport of Delivery'
  • delivery_transport_reason_id Many2one → stock.picking.transport.reason
    comodel_name='stock.picking.transport.reason' string='Reason of transport of Delivery'
  • delivery_volume Float
    string='Volume of Delivery'
  • delivery_volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom string='Volume of Delivery UoM' args: 'uom.uom'
Public methods (0)

No public methods.

New fields (4)
  • display_carrier_dn_report Boolean
    default=False args: 'Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    default=False args: 'Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    default=False args: 'Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    default=False args: 'Display Ref. Order in Delivery Note Report'
Public methods (0)

No public methods.

New fields (7)
  • display_carrier_dn_report Boolean
    readonly=False related='company_id.display_carrier_dn_report' string='Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    readonly=False related='company_id.display_delivery_method_dn_report' string='Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    readonly=False related='company_id.display_ref_customer_dn_report' string='Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    readonly=False related='company_id.display_ref_order_dn_report' string='Display Ref. Order in Delivery Note Report'
  • group_required_partner_ref Boolean
    implied_group='l10n_it_delivery_note.group_required_partner_ref' string='Make Partner Ref. in DN Mandatory'
  • group_use_advanced_delivery_notes Boolean
    implied_group='l10n_it_delivery_note.use_advanced_delivery_notes' string='Use Advanced DN Features'
  • virtual_locations_root Many2one → stock.location
    config_parameter='stock.location.virtual_root' default=_default_virtual_locations_root string='Virtual locations root' args: 'stock.location'
Public methods (0)

No public methods.

New fields (4)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
Public methods (0)

No public methods.

New fields (1)
  • step Selection
    default=_default_step string='Current step' args: WIZARD_STEPS
Public methods (2)
  • action_step_confirm(self)
  • goto(self, **kwargs)

New fields (6)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
  • delivery_note_count Integer
    compute='_compute_delivery_notes'
  • delivery_note_ids Many2many → stock.delivery.note
    compute='_compute_delivery_notes' args: 'stock.delivery.note'
Public methods (2)
  • goto_delivery_notes(self, **kwargs)
  • onchange_partner_id_shipping_info(self)
    @api.onchange('partner_id')

New fields (2)
  • delivery_note_line_ids One2many → stock.delivery.note.line
    readonly=True args: 'stock.delivery.note.line', 'sale_line_id'
  • delivery_picking_id Many2one → stock.picking
    copy=False readonly=True args: 'stock.picking'
Public methods (7)
  • fix_qty_to_invoice(self, new_qty_to_invoice=0)
  • has_picking(self)
    @property
  • is_invoiceable(self)
    @property
  • is_invoiced(self)
    @property
  • is_pickings_related(self, picking_ids)
  • need_to_be_invoiced(self)
    @property
  • retrieve_pickings_lines(self, picking_ids)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (55)
  • active Boolean
    default=True
  • can_change_number Boolean
    compute='_compute_boolean_flags'
  • carrier_id Many2one → res.partner
    states=DONE_READONLY_STATE string='Carrier' tracking=True args: 'res.partner'
  • company_id Many2one → res.company
    default=_default_company required=True args: 'res.company'
  • date Date
    copy=False states=DRAFT_EDITABLE_STATE
  • delivery_carrier_id Many2one
    readonly=True related='carrier_id'
  • delivery_goods_appearance_id Many2one
    readonly=True related='goods_appearance_id'
  • delivery_gross_weight Float
    readonly=True related='gross_weight'
  • delivery_gross_weight_uom_id Many2one
    default=None domain=None readonly=True related='gross_weight_uom_id'
  • delivery_method_id Many2one → delivery.carrier
    states=DONE_READONLY_STATE string='Delivery method' tracking=True args: 'delivery.carrier'
  • delivery_net_weight Float
    readonly=True related='net_weight'
  • delivery_net_weight_uom_id Many2one
    default=None domain=None readonly=True related='net_weight_uom_id'
  • delivery_note Html
    readonly=True related='note'
  • delivery_packages Integer
    readonly=True related='packages'
  • delivery_transport_condition_id Many2one
    readonly=True related='transport_condition_id'
  • delivery_transport_datetime Datetime
    readonly=True related='transport_datetime'
  • delivery_transport_method_id Many2one
    readonly=True related='transport_method_id'
  • delivery_transport_reason_id Many2one
    readonly=True related='transport_reason_id'
  • delivery_volume Float
    readonly=True related='volume'
  • delivery_volume_uom_id Many2one
    default=None domain=None readonly=True related='volume_uom_id'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    states=DONE_READONLY_STATE string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Gross weight'
  • gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Gross weight UoM' args: 'uom.uom'
  • invoice_ids Many2many → account.move
    copy=False string='Invoices' args: 'account.move', 'stock_delivery_note_account_invoice_rel', 'delivery_note_id', 'invoice_id'
  • invoice_status Selection
    compute='_compute_invoice_status' copy=False default=<expr> readonly=True store=True string='Invoice status' args: INVOICE_STATUSES
  • line_ids One2many → stock.delivery.note.line
    string='Lines' args: 'stock.delivery.note.line', 'delivery_note_id'
  • lines_have_customer_ref Boolean
    compute='_compute_lines_have_customer_ref'
  • lines_have_so_number Boolean
    compute='_compute_lines_have_so_number'
  • name Char
    copy=False index=True readonly=True tracking=True
  • net_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Net weight'
  • net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Net weight UoM' args: 'uom.uom'
  • note Html
    states=DONE_READONLY_STATE string='Internal note'
  • packages Integer
    states=DONE_READONLY_STATE
  • partner_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Recipient' tracking=True args: 'res.partner'
  • partner_ref Char
    copy=False index=True states=DONE_READONLY_STATE string='Partner reference' tracking=True
  • partner_sender_id Many2one → res.partner
    default=_default_company domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" readonly=True required=True states=DRAFT_EDITABLE_STATE string='Sender' tracking=True args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" required=True states=DONE_READONLY_STATE string='Shipping address' tracking=True args: 'res.partner'
  • picking_ids One2many → stock.picking
    check_company=True string='Pickings' args: 'stock.picking', 'delivery_note_id'
  • picking_type Selection
    compute='_compute_picking_type' store=True string='Picking type' args: PICKING_TYPES
  • pickings_picker Many2many → stock.picking
    check_company=True compute='_compute_get_pickings' inverse='_inverse_set_pickings' args: 'stock.picking'
  • print_prices Boolean
    related='type_id.print_prices' store=True string='Show prices on printed DN'
  • sale_count Integer
    compute='_compute_sales'
  • sale_ids Many2many → sale.order
    compute='_compute_sales' args: 'sale.order'
  • sales_transport_check Boolean
    compute='_compute_sales' default=True
  • sequence_id Many2one → ir.sequence
    copy=False readonly=True args: 'ir.sequence'
  • show_product_information Boolean
    compute='_compute_boolean_flags'
  • state Selection
    copy=False default=<expr> required=True tracking=True args: DELIVERY_NOTE_STATES
  • transport_condition_id Many2one → stock.picking.transport.condition
    states=DONE_READONLY_STATE string='Condition of transport' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    states=DONE_READONLY_STATE string='Transport date'
  • transport_method_id Many2one → stock.picking.transport.method
    states=DONE_READONLY_STATE string='Method of transport' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    states=DONE_READONLY_STATE string='Reason of transport' args: 'stock.picking.transport.reason'
  • type_code Selection
    related='type_id.code' store=True string='Type of Operation'
  • type_id Many2one → stock.delivery.note.type
    check_company=True default=_default_type index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Type' args: 'stock.delivery.note.type'
  • volume Float
    states=DONE_READONLY_STATE
  • volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom states=DONE_READONLY_STATE string='Volume UoM' args: 'uom.uom'
Public methods (17)
  • action_cancel(self)
  • action_confirm(self)
  • action_done(self)
  • action_draft(self)
  • action_invoice(self, invoice_method=False)
  • action_print(self)
  • check_compliance(self, pickings)
  • create(self, vals_list)
    @api.model_create_multi
  • ensure_annulability(self)
  • get_location_address(self, location_id)
    @api.model
  • goto(self, **kwargs)
  • goto_sales(self, **kwargs)
  • name_get(self)
    @api.depends('name', 'partner_id', 'partner_ref', 'partner_id.display_name')
  • unlink(self)
  • update_detail_lines(self)
  • update_transport_datetime(self)
  • write(self, vals)

New fields (8)
  • date Date
  • error_message Html
    compute='_compute_fields'
  • partner_id Many2one → res.partner
    compute='_compute_fields' string='Recipient' args: 'res.partner'
  • partner_sender_id Many2one → res.partner
    compute='_compute_fields' string='Sender' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    string='Shipping address' args: 'res.partner'
  • selected_picking_ids Many2many → stock.picking
    default=_default_stock_pickings readonly=True args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    domain=_domain_type_id string='Type' args: 'stock.delivery.note.type'
  • warning_message Char
    compute='_compute_fields' readonly=True args: 'Warning'
Public methods (1)
  • confirm(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    readonly=True args: 'stock.delivery.note'
  • warning_message Text
    readonly=True
Public methods (1)
  • confirm(self)

New fields (4)
  • date Date
    default=_default_date
  • partner_shipping_id Many2one → res.partner
    required=True args: 'res.partner'
  • picking_type Selection
    compute='_compute_picking_type' string='Picking type' args: PICKING_TYPES
  • type_id Many2one → stock.delivery.note.type
    default=_default_type required=True args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
    @api.model
  • confirm(self)

New fields (2)
  • invoice_date Date
    default=_get_default_invoice_date string='Invoice/Bill Date'
  • invoice_method Selection
    default='dn' required=True args: [('dn', 'Only DN'), ('service', 'With Service')]
Public methods (1)
  • create_invoices(self)

New fields (18)
  • company_id Many2one → res.company
    index=True readonly=True related='delivery_note_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    default=_default_currency required=True string='Currency' args: 'res.currency'
  • delivery_note_id Many2one → stock.delivery.note
    ondelete='cascade' required=True string='Delivery Note' args: 'stock.delivery.note'
  • discount Float
    digits='Discount'
  • display_type Selection
    default=False string='Line type' args: LINE_DISPLAY_TYPES
  • invoice_status Selection
    copy=False default=<expr> required=True string='Invoice status' args: INVOICE_STATUSES
  • move_id Many2one → stock.move
    check_company=True copy=False readonly=True string='Warehouse movement' args: 'stock.move'
  • name Text
    required=True string='Description'
  • price_unit Float
    digits='Product Price' string='Unit price'
  • product_description Text
    related='product_id.description_sale'
  • product_id Many2one → product.product
    string='Product' args: 'product.product'
  • product_qty Float
    default=1.0 digits='Product Unit of Measure' string='Quantity'
  • product_uom_id Many2one → uom.uom
    default=_default_unit_uom string='UoM' args: 'uom.uom'
  • sale_line_id Many2one → sale.order.line
    copy=False related='move_id.sale_line_id' store=True args: 'sale.order.line'
  • sale_order_client_ref Char
    compute='_compute_sale_order_client_ref' store=True args: 'Customer Reference'
  • sale_order_number Char
    compute='_compute_sale_order_number' store=True
  • sequence Integer
    default=10 index=True required=True
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • is_invoiceable(self)
    @property
  • sync_invoice_status(self)
  • write(self, vals)

New fields (5)
  • date Date
    related='delivery_note_id.date'
  • delivery_note_id Many2one → stock.delivery.note
    required=True string='Delivery Note' args: 'stock.delivery.note'
  • partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • picking_ids Many2many → stock.picking
    compute='_compute_fields' args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
  • confirm(self)

New fields (0)

No new fields.

Public methods (2)
  • get_virtual_locations_root(self)
    @api.model
  • is_virtual(self)

New fields (35)
  • can_be_invoiced Boolean
    compute='_compute_boolean_flags'
  • carrier_partner_id Many2one → res.partner
    related='carrier_id.partner_id' args: 'res.partner'
  • delivery_method_id Many2one → delivery.carrier
    related='delivery_note_id.delivery_method_id' args: 'delivery.carrier'
  • delivery_note_carrier_id Many2one → res.partner
    related='delivery_note_id.carrier_id' string='DN Carrier' args: 'res.partner'
  • delivery_note_date Date
    related='delivery_note_id.date' store=True string='DN Date'
  • delivery_note_draft Boolean
    compute='_compute_boolean_flags'
  • delivery_note_exists Boolean
    compute='_compute_boolean_flags'
  • delivery_note_id Many2one → stock.delivery.note
    copy=False string='Delivery Note' args: 'stock.delivery.note'
  • delivery_note_note Html
    related='delivery_note_id.note'
  • delivery_note_partner_ref Char
    related='delivery_note_id.partner_ref'
  • delivery_note_partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • delivery_note_readonly Boolean
    compute='_compute_boolean_flags'
  • delivery_note_sequence_id Many2one → ir.sequence
    related='delivery_note_id.sequence_id' args: 'ir.sequence'
  • delivery_note_state Selection
    related='delivery_note_id.state' store=True string='DN State'
  • delivery_note_type_code Selection
    related='delivery_note_type_id.code'
  • delivery_note_type_id Many2one → stock.delivery.note.type
    check_company=True related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
  • delivery_note_visible Boolean
    compute='_compute_boolean_flags'
  • delivery_note_volume Float
    related='delivery_note_id.volume' string='DN Volume'
  • delivery_note_volume_uom_id Many2one → uom.uom
    related='delivery_note_id.volume_uom_id' args: 'uom.uom'
  • dn_supplier_date Date
    copy=False string='Supplier DN Date'
  • dn_supplier_number Char
    copy=False string='Supplier DN Number'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    related='delivery_note_id.goods_appearance_id' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    related='delivery_note_id.gross_weight'
  • gross_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.gross_weight_uom_id' args: 'uom.uom'
  • net_weight Float
    related='delivery_note_id.net_weight'
  • net_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.net_weight_uom_id' args: 'uom.uom'
  • packages Integer
    related='delivery_note_id.packages' string='DN Packages'
  • picking_type_code Selection
    related='picking_type_id.code' string='DN Operation Type'
  • transport_condition_id Many2one → stock.picking.transport.condition
    related='delivery_note_id.transport_condition_id' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    related='delivery_note_id.transport_datetime'
  • transport_method_id Many2one → stock.picking.transport.method
    related='delivery_note_id.transport_method_id' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    related='delivery_note_id.transport_reason_id' args: 'stock.picking.transport.reason'
  • use_advanced_behaviour Boolean
    compute='_compute_boolean_flags'
  • use_delivery_note Boolean
    compute='_compute_boolean_flags'
  • valid_move_ids One2many → stock.move
    domain=[('state', '!=', CANCEL_MOVE_STATE)] args: 'stock.move', 'picking_id'
Public methods (15)
  • action_delivery_note_cancel(self)
  • action_delivery_note_confirm(self)
  • action_delivery_note_create(self)
  • action_delivery_note_done(self)
  • action_delivery_note_draft(self)
  • action_delivery_note_invoice(self)
  • action_delivery_note_print(self)
  • action_delivery_note_select(self)
  • button_validate(self)
  • delivery_note_update_transport_datetime(self)
  • get_partners(self)
  • goto(self, **kwargs)
  • goto_delivery_note(self, **kwargs)
  • update_delivery_note_fields(self, vals)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • check_compliance(self, pickings)
    @api.model
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/14.0/l10n_it_delivery_note
VERSION
VERSION 3.6.7
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
COMMITTERS
COMMITTERSeLBati, GitHub, tafaRU, OCA Transbot, oca-travis, Weblate, OCA-git-bot, SimoRubi, sergiocorato, Alfredo Zamora, oca-ci, gianmarco, Docker @ kuntrawant, Giovanni, Alessandro Uffreduzzi, matteo.tognini, Marco Colombo, odooNextev, Borruso, Alessio Renda, PicchiSeba, Eduard Brahas, Daniel Chionne, Marco Calcagni
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/delivery-carrier:
    - delivery_carrier_partner
OCA/l10n-italy:
    - l10n_it_delivery_note_base
odoo/odoo:
    - delivery
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
    - stock_account
    - stock
    - barcodes
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
account_view_move_form_view account.view.move.form account.move xpath Inherits account.view_move_form
assets_backend assets ir.ui.view qweb Inherits web.assets_backend
assets_frontend assets ir.ui.view qweb Inherits web.assets_frontend
delivery_note_report_main_template delivery_note_report_main_template ir.ui.view qweb New
delivery_note_report_template delivery_note_report_template ir.ui.view qweb New
portal_delivery_note_page Delivery Note Portal Template ir.ui.view qweb Inherits portal.portal_sidebar
portal_my_delivery_note Delivery notes ir.ui.view qweb Inherits portal.portal_my_home
portal_my_delivery_notes My Delivery Notes ir.ui.view qweb New
portal_my_home_menu_delivery_note Portal layout : delivery note menu entries ir.ui.view qweb Inherits portal.portal_breadcrumbs
res_config_settings_form_view res.config.settings.form res.config.settings xpath Inherits stock.res_config_settings_view_form
res_partner_form_view res.partner.form res.partner xpath Inherits base.view_partner_form
sale_advance_payment_inv_form_view sale.advance.payment.inv.form sale.advance.payment.inv xpath Inherits sale.view_sale_advance_payment_inv
sale_order_form_view sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit_sale_stock
stock_delivery_note_confirm_form_view stock.delivery.note.confirm.form stock.delivery.note.confirm.wizard form New
stock_delivery_note_create_form_view stock.delivery.note.create.form stock.delivery.note.create.wizard form New
stock_delivery_note_form_view stock.delivery.note.form stock.delivery.note form New
stock_delivery_note_search_view stock.delivery.note.search stock.delivery.note search New
stock_delivery_note_select_form_view stock.delivery.note.select.form stock.delivery.note.select.wizard form New
stock_delivery_note_tree_view stock.delivery.note.tree stock.delivery.note tree New
stock_delivery_note_wizard_error_message_template stock_delivery_note_wizard_error_message_template ir.ui.view qweb New
stock_picking_form_view stock.picking.form stock.picking xpath Inherits stock.view_picking_form
stock_picking_search_view stock.picking.search stock.picking xpath Inherits stock.view_picking_internal_search
stock_picking_tree_view stock.picking.tree stock.picking field Inherits stock.vpicktree
view_picking_type_form stock.picking.type.form stock.picking.type field Inherits stock.view_picking_type_form
view_stock_delivery_note_invoice_wizard stock.delivery.note.invoice.form stock.delivery.note.invoice.wizard form New
Models touched (20)

New fields (2)
  • delivery_note_count Integer
    compute='_compute_delivery_note_count'
  • delivery_note_ids Many2many → stock.delivery.note
    copy=False string='Delivery Notes' args: 'stock.delivery.note', 'stock_delivery_note_account_invoice_rel', 'invoice_id', 'delivery_note_id'
Public methods (5)
  • button_cancel(self)
  • goto_delivery_notes(self, **kwargs)
  • goto_invoice(self, **kwargs)
  • unlink(self)
  • update_delivery_note_lines(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    copy=False readonly=True string='Delivery Note' args: 'stock.delivery.note'
  • note_dn Boolean
    string='Note DN'
Public methods (0)

No public methods.

New fields (5)
  • display_carrier_dn_report Boolean
    default=False args: 'Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    default=False args: 'Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    default=False args: 'Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    default=False args: 'Display Ref. Order in Delivery Note Report'
  • display_total_in_dn_with_prices Boolean
    default=False args: 'Display total in DN with prices'
Public methods (0)

No public methods.

New fields (8)
  • display_carrier_dn_report Boolean
    readonly=False related='company_id.display_carrier_dn_report' string='Display Carrier in Delivery Note Report'
  • display_delivery_method_dn_report Boolean
    readonly=False related='company_id.display_delivery_method_dn_report' string='Display Delivery Method in Delivery Note Report'
  • display_ref_customer_dn_report Boolean
    readonly=False related='company_id.display_ref_customer_dn_report' string='Display Ref. Customer in Delivery Note Report'
  • display_ref_order_dn_report Boolean
    readonly=False related='company_id.display_ref_order_dn_report' string='Display Ref. Order in Delivery Note Report'
  • display_total_in_dn_with_prices Boolean
    readonly=False related='company_id.display_total_in_dn_with_prices'
  • group_required_partner_ref Boolean
    implied_group='l10n_it_delivery_note.group_required_partner_ref' string='Make Partner Ref. in DN Mandatory'
  • group_use_advanced_delivery_notes Boolean
    implied_group='l10n_it_delivery_note.use_advanced_delivery_notes' string='Use Advanced DN Features'
  • virtual_locations_root Many2one → stock.location
    config_parameter='stock.location.virtual_root' default=_default_virtual_locations_root string='Virtual locations root' args: 'stock.location'
Public methods (0)

No public methods.

New fields (4)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
Public methods (0)

No public methods.

New fields (1)
  • step Selection
    default=_default_step string='Current step' args: WIZARD_STEPS
Public methods (3)
  • action_step_confirm(self)
  • goto(self, **kwargs)
  • sale_order_ids(self)
    @property

New fields (4)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    default=False string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    default=False string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    default=False string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    default=False string='Reason of transport' args: 'stock.picking.transport.reason'
Public methods (1)
  • onchange_partner_id_shipping_info(self)
    @api.onchange('partner_id')

New fields (2)
  • delivery_note_line_ids One2many → stock.delivery.note.line
    readonly=True args: 'stock.delivery.note.line', 'sale_line_id'
  • delivery_picking_id Many2one → stock.picking
    copy=False readonly=True args: 'stock.picking'
Public methods (7)
  • fix_qty_to_invoice(self, new_qty_to_invoice=0)
  • has_picking(self)
    @property
  • is_invoiceable(self)
    @property
  • is_invoiced(self)
    @property
  • is_pickings_related(self, picking_ids)
  • need_to_be_invoiced(self)
    @property
  • retrieve_pickings_lines(self, picking_ids)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (45)
  • active Boolean
    default=True
  • amount_total Monetary
    compute='_compute_amount_total' currency_field='currency_id' store=True args: 'Total Amount'
  • can_change_number Boolean
    compute='_compute_boolean_flags'
  • carrier_id Many2one → res.partner
    states=DONE_READONLY_STATE string='Carrier' tracking=True args: 'res.partner'
  • company_id Many2one → res.company
    default=_default_company required=True args: 'res.company'
  • currency_id Many2one → res.currency
    compute='_compute_currency_id' args: 'res.currency'
  • date Date
    copy=False states=DRAFT_EDITABLE_STATE string='Date'
  • delivery_method_id Many2one → delivery.carrier
    states=DONE_READONLY_STATE string='Delivery method' tracking=True args: 'delivery.carrier'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    states=DONE_READONLY_STATE string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Gross weight'
  • gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Gross weight UoM' args: 'uom.uom'
  • invoice_ids Many2many → account.move
    copy=False string='Invoices' args: 'account.move', 'stock_delivery_note_account_invoice_rel', 'delivery_note_id', 'invoice_id'
  • invoice_status Selection
    compute='_compute_invoice_status' copy=False default=<expr> readonly=True store=True string='Invoice status' args: INVOICE_STATUSES
  • line_ids One2many → stock.delivery.note.line
    string='Lines' args: 'stock.delivery.note.line', 'delivery_note_id'
  • lines_have_customer_ref Boolean
    compute='_compute_lines_have_customer_ref'
  • lines_have_so_number Boolean
    compute='_compute_lines_have_so_number'
  • name Char
    copy=False index=True readonly=True string='Name' tracking=True
  • net_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Net weight'
  • net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Net weight UoM' args: 'uom.uom'
  • note Html
    states=DONE_READONLY_STATE string='Internal note'
  • packages Integer
    states=DONE_READONLY_STATE string='Packages'
  • partner_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Recipient' tracking=True args: 'res.partner'
  • partner_ref Char
    copy=False index=True states=DONE_READONLY_STATE string='Partner reference' tracking=True
  • partner_sender_id Many2one → res.partner
    default=_default_company domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" readonly=True required=True states=DRAFT_EDITABLE_STATE string='Sender' tracking=True args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" required=True states=DONE_READONLY_STATE string='Shipping address' tracking=True args: 'res.partner'
  • picking_ids One2many → stock.picking
    check_company=True string='Pickings' args: 'stock.picking', 'delivery_note_id'
  • picking_type Selection
    compute='_compute_picking_type' store=True string='Picking type' args: PICKING_TYPES
  • pickings_picker Many2many → stock.picking
    check_company=True compute='_compute_get_pickings' inverse='_inverse_set_pickings' args: 'stock.picking'
  • print_prices Boolean
    related='type_id.print_prices' store=True string='Show prices on printed DN'
  • sale_count Integer
    compute='_compute_sales'
  • sale_ids Many2many → sale.order
    compute='_compute_sales' args: 'sale.order'
  • sales_transport_check Boolean
    compute='_compute_sales' default=True
  • sequence_id Many2one → ir.sequence
    copy=False readonly=True args: 'ir.sequence'
  • show_discount Boolean
    compute='_compute_show_discount'
  • show_product_information Boolean
    compute='_compute_boolean_flags'
  • state Selection
    copy=False default=<expr> required=True string='State' tracking=True args: DELIVERY_NOTE_STATES
  • transport_condition_id Many2one → stock.picking.transport.condition
    states=DONE_READONLY_STATE string='Condition of transport' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    states=DONE_READONLY_STATE string='Transport date'
  • transport_method_id Many2one → stock.picking.transport.method
    states=DONE_READONLY_STATE string='Method of transport' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    states=DONE_READONLY_STATE string='Reason of transport' args: 'stock.picking.transport.reason'
  • type_code Selection
    related='type_id.code' store=True string='Type of Operation'
  • type_id Many2one → stock.delivery.note.type
    check_company=True default=_default_type index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Type' args: 'stock.delivery.note.type'
  • untaxed_amount_total Monetary
    compute='_compute_amount_total' currency_field='currency_id' store=True args: 'Untaxed Total Amount'
  • volume Float
    states=DONE_READONLY_STATE string='Volume'
  • volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom states=DONE_READONLY_STATE string='Volume UoM' args: 'uom.uom'
Public methods (17)
  • action_cancel(self)
  • action_confirm(self)
  • action_done(self)
  • action_draft(self)
  • action_invoice(self, invoice_method=False)
  • action_print(self)
  • check_compliance(self, pickings)
  • create(self, vals)
    @api.model
  • ensure_annulability(self)
  • get_location_address(self, location_id)
    @api.model
  • goto(self, **kwargs)
  • goto_sales(self, **kwargs)
  • name_get(self)
    @api.depends('name', 'partner_id', 'partner_ref', 'partner_id.display_name')
  • unlink(self)
  • update_detail_lines(self)
  • update_transport_datetime(self)
  • write(self, vals)

New fields (8)
  • date Date
    string='Date'
  • error_message Html
    compute='_compute_fields'
  • partner_id Many2one → res.partner
    compute='_compute_fields' string='Recipient' args: 'res.partner'
  • partner_sender_id Many2one → res.partner
    compute='_compute_fields' string='Sender' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    compute='_compute_fields' string='Shipping address' args: 'res.partner'
  • selected_picking_ids Many2many → stock.picking
    default=_default_stock_pickings readonly=True args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    domain=_domain_type_id string='Type' args: 'stock.delivery.note.type'
  • warning_message Char
    compute='_compute_fields' readonly=True args: 'Warning'
Public methods (1)
  • confirm(self)

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    readonly=True args: 'stock.delivery.note'
  • warning_message Text
    readonly=True args: 'Warning Message'
Public methods (1)
  • confirm(self)

New fields (3)
  • date Date
    default=_default_date
  • picking_type Selection
    compute='_compute_picking_type' string='Picking type' args: PICKING_TYPES
  • type_id Many2one → stock.delivery.note.type
    default=_default_type required=True args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
    @api.model
  • confirm(self)

New fields (2)
  • invoice_date Date
    default=_get_default_invoice_date string='Invoice/Bill Date'
  • invoice_method Selection
    default='dn' required=True string='Invoice Method' args: [('dn', 'Only DN'), ('service', 'With Service')]
Public methods (1)
  • create_invoices(self)

New fields (20)
  • amount Monetary
    compute='_compute_amount' store=True
  • company_id Many2one → res.company
    index=True readonly=True related='delivery_note_id.company_id' store=True args: 'res.company'
  • currency_id Many2one → res.currency
    default=_default_currency required=True string='Currency' args: 'res.currency'
  • delivery_note_id Many2one → stock.delivery.note
    ondelete='cascade' required=True string='Delivery Note' args: 'stock.delivery.note'
  • discount Float
    digits='Discount' string='Discount'
  • display_type Selection
    default=False string='Line type' args: LINE_DISPLAY_TYPES
  • invoice_status Selection
    copy=False default=<expr> required=True string='Invoice status' args: INVOICE_STATUSES
  • move_id Many2one → stock.move
    check_company=True copy=False readonly=True string='Warehouse movement' args: 'stock.move'
  • name Text
    required=True string='Description'
  • price_unit Float
    digits='Product Price' string='Unit price'
  • product_description Text
    related='product_id.description_sale'
  • product_id Many2one → product.product
    string='Product' args: 'product.product'
  • product_qty Float
    default=1.0 digits='Product Unit of Measure' string='Quantity'
  • product_uom_id Many2one → uom.uom
    default=_default_unit_uom string='UoM' args: 'uom.uom'
  • sale_line_id Many2one → sale.order.line
    copy=False related='move_id.sale_line_id' store=True args: 'sale.order.line'
  • sale_order_client_ref Char
    compute='_compute_sale_order_client_ref' store=True args: 'Customer Reference'
  • sale_order_number Char
    compute='_compute_sale_order_number' store=True args: 'Sale Order Number'
  • sequence Integer
    default=10 index=True required=True string='Sequence'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
  • untaxed_amount Monetary
    compute='_compute_amount' store=True
Public methods (4)
  • create(self, vals)
    @api.model
  • is_invoiceable(self)
    @property
  • sync_invoice_status(self)
  • write(self, vals)

New fields (5)
  • date Date
    related='delivery_note_id.date'
  • delivery_note_id Many2one → stock.delivery.note
    required=True string='Delivery Note' args: 'stock.delivery.note'
  • partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • picking_ids Many2many → stock.picking
    compute='_compute_fields' args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
  • confirm(self)

New fields (0)

No new fields.

Public methods (2)
  • get_virtual_locations_root(self)
    @api.model
  • is_virtual(self)

New fields (35)
  • can_be_invoiced Boolean
    compute='_compute_boolean_flags'
  • carrier_partner_id Many2one → res.partner
    related='carrier_id.partner_id' args: 'res.partner'
  • delivery_method_id Many2one → delivery.carrier
    related='delivery_note_id.delivery_method_id' args: 'delivery.carrier'
  • delivery_note_carrier_id Many2one → res.partner
    related='delivery_note_id.carrier_id' string='DN Carrier' args: 'res.partner'
  • delivery_note_date Date
    related='delivery_note_id.date' store=True string='DN Date'
  • delivery_note_draft Boolean
    compute='_compute_boolean_flags'
  • delivery_note_exists Boolean
    compute='_compute_boolean_flags'
  • delivery_note_id Many2one → stock.delivery.note
    copy=False string='Delivery Note' args: 'stock.delivery.note'
  • delivery_note_note Html
    related='delivery_note_id.note'
  • delivery_note_partner_ref Char
    related='delivery_note_id.partner_ref'
  • delivery_note_partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • delivery_note_readonly Boolean
    compute='_compute_boolean_flags'
  • delivery_note_sequence_id Many2one → ir.sequence
    related='delivery_note_id.sequence_id' args: 'ir.sequence'
  • delivery_note_state Selection
    related='delivery_note_id.state' store=True string='DN State'
  • delivery_note_type_code Selection
    related='delivery_note_type_id.code'
  • delivery_note_type_id Many2one → stock.delivery.note.type
    check_company=True related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
  • delivery_note_visible Boolean
    compute='_compute_boolean_flags'
  • delivery_note_volume Float
    related='delivery_note_id.volume' string='DN Volume'
  • delivery_note_volume_uom_id Many2one → uom.uom
    related='delivery_note_id.volume_uom_id' args: 'uom.uom'
  • dn_supplier_date Date
    copy=False string='Supplier DN Date'
  • dn_supplier_number Char
    copy=False string='Supplier DN Number'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    related='delivery_note_id.goods_appearance_id' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    related='delivery_note_id.gross_weight'
  • gross_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.gross_weight_uom_id' args: 'uom.uom'
  • net_weight Float
    related='delivery_note_id.net_weight'
  • net_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.net_weight_uom_id' args: 'uom.uom'
  • packages Integer
    related='delivery_note_id.packages' string='DN Packages'
  • picking_type_code Selection
    related='picking_type_id.code' string='DN Operation Type'
  • transport_condition_id Many2one → stock.picking.transport.condition
    related='delivery_note_id.transport_condition_id' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    related='delivery_note_id.transport_datetime'
  • transport_method_id Many2one → stock.picking.transport.method
    related='delivery_note_id.transport_method_id' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    related='delivery_note_id.transport_reason_id' args: 'stock.picking.transport.reason'
  • use_advanced_behaviour Boolean
    compute='_compute_boolean_flags'
  • use_delivery_note Boolean
    compute='_compute_boolean_flags'
  • valid_move_ids One2many → stock.move
    domain=[('state', '!=', CANCEL_MOVE_STATE)] args: 'stock.move', 'picking_id'
Public methods (15)
  • action_delivery_note_cancel(self)
  • action_delivery_note_confirm(self)
  • action_delivery_note_create(self)
  • action_delivery_note_done(self)
  • action_delivery_note_draft(self)
  • action_delivery_note_invoice(self)
  • action_delivery_note_print(self)
  • action_delivery_note_select(self)
  • button_validate(self)
  • delivery_note_update_transport_datetime(self)
  • get_partners(self)
  • goto(self, **kwargs)
  • goto_delivery_note(self, **kwargs)
  • update_delivery_note_fields(self, vals)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • check_compliance(self, pickings)
    @api.model

New fields (1)
  • prevent_dn_create Boolean
    args: "Prevent DN's Create"
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/12.0/l10n_it_delivery_note
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Marco Calcagni, Gianmarco Conte, Link IT Europe Srl
COMMITTERS
COMMITTERSGitHub, tafaRU, OCA Transbot, oca-travis, Weblate, OCA-git-bot, sergiocorato, Simone Rubino, oca-ci, gborruso@dinamicheaziendali.it, Docker @ kuntrawant, Giovanni, Marco Colombo
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy/tree/12.0/l10n_it_delivery_note
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-italy:
    - l10n_it_delivery_note_base
odoo/odoo:
    - delivery
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - stock_account
    - stock
    - barcodes
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (18)
XML IDNameModelTypeStatus
account_invoice_form_view account.invoice.form account.invoice xpath Inherits account.invoice_form
assets_backend assets ir.ui.view qweb Inherits web.assets_backend
delivery_note_report_main_template delivery_note_report_main_template ir.ui.view qweb New
delivery_note_report_template delivery_note_report_template ir.ui.view qweb New
res_config_settings_form_view res.config.settings.form res.config.settings xpath Inherits stock.res_config_settings_view_form
res_partner_form_view res.partner.form res.partner xpath Inherits base.view_partner_form
sale_advance_payment_inv_form_view sale.advance.payment.inv.form sale.advance.payment.inv xpath Inherits sale.view_sale_advance_payment_inv
sale_order_form_view sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit_sale_stock
stock_delivery_note_create_form_view stock.delivery.note.create.form stock.delivery.note.create.wizard form New
stock_delivery_note_form_view stock.delivery.note.form stock.delivery.note form New
stock_delivery_note_search_view stock.delivery.note.search stock.delivery.note search New
stock_delivery_note_select_form_view stock.delivery.note.select.form stock.delivery.note.select.wizard form New
stock_delivery_note_tree_view stock.delivery.note.tree stock.delivery.note tree New
stock_delivery_note_wizard_error_message_template stock_delivery_note_wizard_error_message_template ir.ui.view qweb New
stock_picking_form_view stock.picking.form stock.picking data Inherits stock.view_picking_form
stock_picking_search_view stock.picking.search stock.picking xpath Inherits stock.view_picking_internal_search
stock_picking_tree_view stock.picking.tree stock.picking field Inherits stock.vpicktree
view_stock_delivery_note_invoice_wizard stock.delivery.note.invoice.form stock.delivery.note.invoice.wizard form New
Models touched (17)

New fields (2)
  • delivery_note_count Integer
    compute='_compute_delivery_note_count'
  • delivery_note_ids Many2many → stock.delivery.note
    copy=False string='Delivery Notes' args: 'stock.delivery.note', 'stock_delivery_note_account_invoice_rel', 'invoice_id', 'delivery_note_id'
Public methods (4)
  • goto_delivery_notes(self, **kwargs)
    @api.multi
  • goto_invoice(self, **kwargs)
  • unlink(self)
    @api.multi
  • update_delivery_note_lines(self)
    @api.multi

New fields (2)
  • delivery_note_id Many2one → stock.delivery.note
    copy=False readonly=True string='Delivery Note' args: 'stock.delivery.note'
  • note_dn Boolean
    string='Note DN'
Public methods (0)

No public methods.

New fields (1)
  • draft_delivery_note_invoicing_notify Boolean
    string="Notify if delivery note isn't validated"
Public methods (0)

No public methods.

New fields (2)
  • draft_delivery_note_invoicing_notify Boolean
    readonly=False related='company_id.draft_delivery_note_invoicing_notify'
  • group_use_advanced_delivery_notes Boolean
    implied_group='l10n_it_delivery_note.use_advanced_delivery_notes' string='Use Advanced DN Features'
Public methods (0)

No public methods.

New fields (4)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    string='Reason of transport' args: 'stock.picking.transport.reason'
Public methods (0)

No public methods.

New fields (1)
  • step Selection
    default=_default_step string='Current step' args: WIZARD_STEPS
Public methods (3)
  • action_step_confirm(self)
  • goto(self, **kwargs)
  • sale_order_ids(self)
    @property

New fields (6)
  • default_goods_appearance_id Many2one → stock.picking.goods.appearance
    default=False string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • default_transport_condition_id Many2one → stock.picking.transport.condition
    default=False string='Condition of transport' args: 'stock.picking.transport.condition'
  • default_transport_method_id Many2one → stock.picking.transport.method
    default=False string='Method of transport' args: 'stock.picking.transport.method'
  • default_transport_reason_id Many2one → stock.picking.transport.reason
    default=False string='Reason of transport' args: 'stock.picking.transport.reason'
  • delivery_note_count Integer
    compute='_compute_delivery_notes'
  • delivery_note_ids Many2many → stock.delivery.note
    compute='_compute_delivery_notes' args: 'stock.delivery.note'
Public methods (3)
  • action_invoice_create(self, grouped=False, final=False)
    @api.multi
  • goto_delivery_notes(self, **kwargs)
    @api.multi
  • onchange_partner_id_shipping_info(self)
    @api.onchange('partner_id')

New fields (2)
  • delivery_note_line_ids One2many → stock.delivery.note.line
    readonly=True args: 'stock.delivery.note.line', 'sale_line_id'
  • delivery_picking_id Many2one → stock.picking
    copy=False readonly=True args: 'stock.picking'
Public methods (7)
  • fix_qty_to_invoice(self, new_qty_to_invoice=0)
  • has_picking(self)
    @property
  • is_invoiceable(self)
    @property
  • is_invoiced(self)
    @property
  • is_pickings_related(self, picking_ids)
  • need_to_be_invoiced(self)
    @property
  • retrieve_pickings_lines(self, picking_ids)
    @api.multi@api.returns('self')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (40)
  • active Boolean
    default=True
  • can_change_number Boolean
    compute='_compute_boolean_flags'
  • carrier_id Many2one → res.partner
    states=DONE_READONLY_STATE string='Carrier' track_visibility='onchange' args: 'res.partner'
  • company_id Many2one → res.company
    default=_default_company required=True args: 'res.company'
  • date Date
    copy=False states=DRAFT_EDITABLE_STATE string='Date'
  • delivery_method_id Many2one → delivery.carrier
    states=DONE_READONLY_STATE string='Delivery method' track_visibility='onchange' args: 'delivery.carrier'
  • display_name Char
    compute='_compute_display_name_function' copy=False index=True store=True
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    states=DONE_READONLY_STATE string='Appearance of goods' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Gross weight'
  • gross_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Gross weight UoM' args: 'uom.uom'
  • invoice_ids Many2many → account.invoice
    copy=False string='Invoices' args: 'account.invoice', 'stock_delivery_note_account_invoice_rel', 'delivery_note_id', 'invoice_id'
  • invoice_status Selection
    compute='_compute_invoice_status' copy=False default=<expr> readonly=True store=True string='Invoice status' args: INVOICE_STATUSES
  • line_ids One2many → stock.delivery.note.line
    string='Lines' args: 'stock.delivery.note.line', 'delivery_note_id'
  • name Char
    copy=False index=True readonly=True string='Name' track_visibility='onchange'
  • net_weight Float
    compute='_compute_weights' readonly=False states=DONE_READONLY_STATE store=True string='Net weight'
  • net_weight_uom_id Many2one → uom.uom
    default=_default_weight_uom domain=_domain_weight_uom states=DONE_READONLY_STATE string='Net weight UoM' args: 'uom.uom'
  • note Html
    states=DONE_READONLY_STATE string='Internal note'
  • packages Integer
    states=DONE_READONLY_STATE string='Packages'
  • partner_id Many2one → res.partner
    index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Recipient' track_visibility='onchange' args: 'res.partner'
  • partner_ref Char
    copy=False index=True states=DONE_READONLY_STATE string='Partner reference' track_visibility='onchange'
  • partner_sender_id Many2one → res.partner
    default=_default_company readonly=True required=True states=DRAFT_EDITABLE_STATE string='Sender' track_visibility='onchange' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    required=True states=DONE_READONLY_STATE string='Shipping address' track_visibility='onchange' args: 'res.partner'
  • picking_ids One2many → stock.picking
    string='Pickings' args: 'stock.picking', 'delivery_note_id'
  • picking_type Selection
    compute='_compute_picking_type' store=True string='Picking type' args: PICKING_TYPES
  • pickings_picker Many2many → stock.picking
    compute='_compute_get_pickings' inverse='_inverse_set_pickings' args: 'stock.picking'
  • print_prices Boolean
    related='type_id.print_prices' store=True string='Show prices on printed DN'
  • sale_count Integer
    compute='_compute_sales'
  • sale_ids Many2many → sale.order
    compute='_compute_sales' args: 'sale.order'
  • sales_transport_check Boolean
    compute='_compute_sales' default=True
  • sequence_id Many2one → ir.sequence
    copy=False readonly=True args: 'ir.sequence'
  • show_product_information Boolean
    compute='_compute_boolean_flags'
  • state Selection
    copy=False default=<expr> required=True string='State' track_visibility='onchange' args: DELIVERY_NOTE_STATES
  • transport_condition_id Many2one → stock.picking.transport.condition
    states=DONE_READONLY_STATE string='Condition of transport' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    states=DONE_READONLY_STATE string='Transport date'
  • transport_method_id Many2one → stock.picking.transport.method
    states=DONE_READONLY_STATE string='Method of transport' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    states=DONE_READONLY_STATE string='Reason of transport' args: 'stock.picking.transport.reason'
  • type_code Selection
    related='type_id.code' store=True string='Type of Operation'
  • type_id Many2one → stock.delivery.note.type
    default=_default_type index=True readonly=True required=True states=DRAFT_EDITABLE_STATE string='Type' args: 'stock.delivery.note.type'
  • volume Float
    states=DONE_READONLY_STATE string='Volume'
  • volume_uom_id Many2one → uom.uom
    default=_default_volume_uom domain=_domain_volume_uom states=DONE_READONLY_STATE string='Volume UoM' args: 'uom.uom'
Public methods (16)
  • action_cancel(self)
    @api.multi
  • action_confirm(self)
    @api.multi
  • action_done(self)
    @api.multi
  • action_draft(self)
    @api.multi
  • action_invoice(self, invoice_method=False)
  • action_print(self)
    @api.multi
  • check_compliance(self, pickings)
  • create(self, vals)
    @api.model@api.returns('self')
  • ensure_annulability(self)
    @api.multi
  • get_location_address(self, location_id)
    @api.model
  • goto(self, **kwargs)
  • goto_sales(self, **kwargs)
    @api.multi
  • unlink(self)
    @api.multi
  • update_detail_lines(self)
    @api.multi
  • update_transport_datetime(self)
  • write(self, vals)
    @api.multi

New fields (7)
  • date Date
    string='Date'
  • error_message Html
    compute='_compute_fields'
  • partner_id Many2one → res.partner
    compute='_compute_fields' string='Recipient' args: 'res.partner'
  • partner_sender_id Many2one → res.partner
    compute='_compute_fields' string='Sender' args: 'res.partner'
  • partner_shipping_id Many2one → res.partner
    string='Shipping address' args: 'res.partner'
  • selected_picking_ids Many2many → stock.picking
    default=_default_stock_pickings readonly=True args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    string='Type' args: 'stock.delivery.note.type'
Public methods (1)
  • confirm(self)

New fields (3)
  • date Date
    default=_default_date
  • partner_shipping_id Many2one → res.partner
    required=True args: 'res.partner'
  • type_id Many2one → stock.delivery.note.type
    default=_default_type required=True args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
    @api.model
  • confirm(self)

New fields (2)
  • invoice_date Date
    default=_get_default_invoice_date string='Invoice/Bill Date'
  • invoice_method Selection
    default='dn' required=True string='Invoice Method' args: [('dn', 'Only DN'), ('service', 'With Service')]
Public methods (1)
  • create_invoices(self)

New fields (15)
  • currency_id Many2one → res.currency
    default=_default_currency required=True string='Currency' args: 'res.currency'
  • delivery_note_id Many2one → stock.delivery.note
    ondelete='cascade' required=True string='Delivery Note' args: 'stock.delivery.note'
  • discount Float
    digits=dp.get_precision('Discount') string='Discount'
  • display_type Selection
    default=False string='Line type' args: LINE_DISPLAY_TYPES
  • invoice_status Selection
    copy=False default=<expr> required=True string='Invoice status' args: INVOICE_STATUSES
  • move_id Many2one → stock.move
    copy=False readonly=True string='Warehouse movement' args: 'stock.move'
  • name Text
    required=True string='Description'
  • price_unit Monetary
    currency_field='currency_id' digits=dp.get_precision('Product Price') string='Unit price'
  • product_description Text
    related='product_id.description_sale'
  • product_id Many2one → product.product
    string='Product' args: 'product.product'
  • product_qty Float
    default=1.0 digits=dp.get_precision('Product Unit of Measure') string='Quantity'
  • product_uom_id Many2one → uom.uom
    default=_default_unit_uom string='UoM' args: 'uom.uom'
  • sale_line_id Many2one → sale.order.line
    copy=False related='move_id.sale_line_id' store=True args: 'sale.order.line'
  • sequence Integer
    default=10 index=True required=True string='Sequence'
  • tax_ids Many2many → account.tax
    string='Taxes' args: 'account.tax'
Public methods (4)
  • create(self, vals)
    @api.model@api.returns('self')
  • is_invoiceable(self)
    @property
  • sync_invoice_status(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (5)
  • date Date
    related='delivery_note_id.date'
  • delivery_note_id Many2one → stock.delivery.note
    required=True string='Delivery Note' args: 'stock.delivery.note'
  • partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • picking_ids Many2many → stock.picking
    compute='_compute_fields' args: 'stock.picking'
  • type_id Many2one → stock.delivery.note.type
    related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
Public methods (2)
  • check_compliance(self, pickings)
  • confirm(self)

New fields (32)
  • can_be_invoiced Boolean
    compute='_compute_boolean_flags'
  • delivery_method_id Many2one → delivery.carrier
    related='delivery_note_id.delivery_method_id' args: 'delivery.carrier'
  • delivery_note_carrier_id Many2one → res.partner
    related='delivery_note_id.carrier_id' string='DN Carrier' args: 'res.partner'
  • delivery_note_date Date
    related='delivery_note_id.date' string='DN Date'
  • delivery_note_draft Boolean
    compute='_compute_boolean_flags'
  • delivery_note_exists Boolean
    compute='_compute_boolean_flags'
  • delivery_note_id Many2one → stock.delivery.note
    copy=False string='Delivery Note' args: 'stock.delivery.note'
  • delivery_note_note Html
    related='delivery_note_id.note'
  • delivery_note_partner_ref Char
    related='delivery_note_id.partner_ref'
  • delivery_note_partner_shipping_id Many2one → res.partner
    related='delivery_note_id.partner_shipping_id' args: 'res.partner'
  • delivery_note_readonly Boolean
    compute='_compute_boolean_flags'
  • delivery_note_sequence_id Many2one → ir.sequence
    related='delivery_note_id.sequence_id' args: 'ir.sequence'
  • delivery_note_state Selection
    related='delivery_note_id.state' string='DN State'
  • delivery_note_type_code Selection
    related='delivery_note_type_id.code'
  • delivery_note_type_id Many2one → stock.delivery.note.type
    related='delivery_note_id.type_id' args: 'stock.delivery.note.type'
  • delivery_note_visible Boolean
    compute='_compute_boolean_flags'
  • delivery_note_volume Float
    related='delivery_note_id.volume' string='DN Volume'
  • delivery_note_volume_uom_id Many2one → uom.uom
    related='delivery_note_id.volume_uom_id' args: 'uom.uom'
  • goods_appearance_id Many2one → stock.picking.goods.appearance
    related='delivery_note_id.goods_appearance_id' args: 'stock.picking.goods.appearance'
  • gross_weight Float
    related='delivery_note_id.gross_weight'
  • gross_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.gross_weight_uom_id' args: 'uom.uom'
  • net_weight Float
    related='delivery_note_id.net_weight'
  • net_weight_uom_id Many2one → uom.uom
    related='delivery_note_id.net_weight_uom_id' args: 'uom.uom'
  • packages Integer
    related='delivery_note_id.packages' string='DN Packages'
  • picking_type_code Selection
    related='picking_type_id.code' string='DN Operation Type'
  • transport_condition_id Many2one → stock.picking.transport.condition
    related='delivery_note_id.transport_condition_id' args: 'stock.picking.transport.condition'
  • transport_datetime Datetime
    related='delivery_note_id.transport_datetime'
  • transport_method_id Many2one → stock.picking.transport.method
    related='delivery_note_id.transport_method_id' args: 'stock.picking.transport.method'
  • transport_reason_id Many2one → stock.picking.transport.reason
    related='delivery_note_id.transport_reason_id' args: 'stock.picking.transport.reason'
  • use_advanced_behaviour Boolean
    compute='_compute_boolean_flags'
  • use_delivery_note Boolean
    compute='_compute_boolean_flags'
  • valid_move_ids One2many → stock.move
    domain=[('state', '!=', CANCEL_MOVE_STATE)] args: 'stock.move', 'picking_id'
Public methods (15)
  • action_delivery_note_cancel(self)
  • action_delivery_note_confirm(self)
  • action_delivery_note_create(self)
  • action_delivery_note_done(self)
  • action_delivery_note_draft(self)
  • action_delivery_note_invoice(self)
  • action_delivery_note_print(self)
  • action_delivery_note_select(self)
  • action_done(self)
    @api.multi
  • delivery_note_update_transport_datetime(self)
  • get_partners(self)
    @api.multi@api.returns('res.partner')
  • goto(self, **kwargs)
  • goto_delivery_note(self, **kwargs)
  • update_delivery_note_fields(self, vals)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • check_compliance(self, pickings)
    @api.model
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/l10n-italy
PULL REQUEST
PULL REQUEST[19.0][MIG] l10n_it_delivery_note: Migration to 19.0 (#5081)