stock_picking_invoicing
Allows users to create invoices directly from stock pickings without relying on related sale or purchase orders.
Key Features
- stock.invoice.state.mixin: Provides a common invoice status field with helper methods to switch records between invoiced, to be invoiced, and not applicable.
- stock.picking: Synchronizes invoice status with related stock moves, offers buttons to mark pickings as billable states, and keeps the status pending when assigned moves are to be invoiced.
- stock.picking: Adds invoicing visibility in list, form, and search views, including a tab listing related invoices, status columns, and shortcuts to create invoices when done.
- stock.move: Calculates invoice unit prices using supplier and customer pricing rules, and preserves invoice state when moves are split or extra moves are created.
- stock.move: Exposes invoice status fields and linked invoice line information in move views for users with invoicing rights.
- account.move: Keeps linked pickings and stock moves marked to invoice when invoices are cancelled or deleted, restores them when re-drafted, and aligns reversed lines with their original moves.
- stock.picking.type: Displays counts of pickings still to invoice on operation dashboards and provides a direct action to list them.
- stock.rule: Propagates the invoice state to moves generated through procurement rules so downstream documents inherit the billing status.
- stock.invoice.onshipping: Provides a wizard that loads pickings pending invoicing, supports grouping by picking, partner, or partner/product, and selects appropriate sales or purchase journals.
- stock.invoice.onshipping: Builds invoice and line values from pickings with quantity sign adjustments and price computation, creates the invoices on the chosen date, and marks the pickings as invoiced.
- stock.return.picking: Adds an invoicing choice to returns so refund pickings can be flagged automatically as needing invoicing.