Repository
OCA/account-invoicing · module folder · Try on Runboat
Module version
1.0.1
Category
Warehouse Management
Folder size
0.23 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-invoicing
Last tracking update
2026-08-07 09:06:23
Authors
Odoo Community Association (OCA), Agile Business Group
Maintainers
Odoo Community Association (OCA), Agile Business Group
Committers
Maksym Yankin, Weblate, OCA-git-bot, sergio, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows to create invoices directly from picking, without
having to use sale or purchase orders.

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
stock_picking_type_kanban stock.picking.type.kanban stock.picking.type kanban Inherits stock.stock_picking_type_kanban
view_move_form_inherit stock.move.form.inherit stock.move form Inherits stock_picking_invoice_link.view_move_form
view_move_picking_form stock.move.form.invoice_state stock.move form Inherits stock.view_move_form
view_move_tree stock.move.list (in stock_picking_invoicing) stock.move tree Inherits stock.view_move_tree
view_picking_form stock.picking.form.inherit stock.picking form Inherits stock_picking_invoice_link.view_picking_form
view_picking_inherit_tree2 stock.picking.list.inherit stock.picking list Inherits stock.vpicktree
view_picking_invoicing_internal_search stock.picking.search.inherit stock.picking search Inherits stock.view_picking_internal_search
view_picking_move_tree stock.move.list (in stock_picking_invoicing) stock.move tree Inherits stock.view_picking_move_tree
view_stock_invoice_onshipping Stock Invoice Onshipping stock.invoice.onshipping form New
view_stock_return_picking_form_inherit Return lines stock.return.picking form Inherits stock.view_stock_return_picking_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (9)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self)
    Inherit to update related picking as '2binvoiced' when the invoice is cancelled (only for invoices, not refunds) :return: bool
  • button_draft(self)
  • unlink(self)
    Inherit the unlink to update related picking as "2binvoiced" (only for invoices, not refunds) :return:

New fields (7)
  • group Selection
    default='picking' help="Group pickings/moves to create invoice(s):\nPicking: One invoice per picking;\nPartner: One invoice for each picking's partner;\nPartner/Product: One invoice per picking's partner and group product into a single invoice line." required=True selection=[('picking', 'Picking'), ('partner', 'Partner'), ('partner_product', 'Partner/Product')]
  • invoice_date Date
  • journal_type Selection
    default=<expr> readonly=True selection=[('purchase', 'Create Supplier Invoice'), ('sale', 'Create Customer Invoice')]
  • purchase_journal Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain="[('type', '=', 'purchase')]" ondelete='cascade'
  • sale_journal Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain="[('type', '=', 'sale')]" ondelete='cascade'
  • show_purchase_journal Boolean
  • show_sale_journal Boolean
Public methods (8)
  • action_generate(self)
    Launch the invoice generation :return:
  • default_get(self, fields_list)
    @api.model
    Inherit to add default invoice_date :param fields_list: list of str :return: dict
  • get_partner_sum(self, pickings, partner, inv_type, picking_type, usage)
  • get_split_pickings(self)
  • get_split_pickings_grouped(self, pickings)
  • get_split_pickings_nogrouped(self, pickings)
  • onchange_group(self)
    @api.onchange('group')
  • ungroup_moves(self, grouped_moves_list)
    Ungroup your moves, split them again, grouping by fiscal position, max itens per invoice and etc :param grouped_moves_list: :return: list of grouped moves list

New fields (1)
  • invoice_state Selection
    copy=False default='none' help='Invoiced: an invoice already exists\nTo Be Invoiced: need to be invoiced\nNot Applicable: no invoice to create' selection=[('invoiced', 'Invoiced'), ('2binvoiced', 'To Be Invoiced'), ('none', 'Not Applicable')] string='Invoice Status'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (4)
  • action_assign(self)
    If any stock move is to be invoiced, picking status is updated
  • set_as_invoiced(self)
    Button to set Invoice State to Invoiced.
  • set_as_not_billable(self)
    Button to set Invoice State to Not Billable.
  • set_to_be_invoiced(self)
    Button to set Invoice State to To Be Invoice.

New fields (1)
  • count_picking_2binvoiced Integer
    compute='_compute_picking_2binvoiced'
Public methods (0)

No public methods.

New fields (1)
  • invoice_state Selection
    default='none' required=True selection=[('2binvoiced', 'To be refunded/invoiced'), ('none', 'No invoicing')] string='Invoicing'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…