Sale Order Invoice Limit
Cap how much of a sales order can be invoiced, enforced at the right moment, with a visual drag-slider control.
Why you need this
By default, a sales order in Odoo can be invoiced up to its full total at any time. Many businesses need a hard ceiling instead: staged payments, partial deliveries, credit control, or dealer/franchise terms. An order worth 3,000 should only be invoiceable up to 1,500, for example, until someone deliberately raises or removes that limit.
Visual slider control
Set the invoice limit by dragging a slider, with tick marks scaled to the order's own total, instead of typing a raw number into a plain field. Dragging is fully local to the browser while in progress, so the handle tracks the mouse instantly and only writes to the record on release.
Enforced at the right moment
Creating a draft invoice is never blocked, so a user can always open the draft and adjust amounts. The limit is checked when the invoice is posted/confirmed - if it would exceed the order's remaining limit, Odoo blocks the post action with a clear message and keeps the invoice editable in Draft.
Grouped invoicing aware
If one invoice covers several sales orders at once, only the portion attributable to each order is checked against that order's own limit.
Credit notes accounted for
Posted credit notes reduce the invoiced total, freeing up room under the limit again automatically.
How it works
- Open a sales order and go to the Invoice Limit tab.
- Drag the slider (or type a value) to set the maximum invoiceable amount. Leave it at 0 for unrestricted invoicing.
- Invoice as usual. If posting an invoice would exceed the remaining limit, Odoo blocks the post action and shows the limit, the amount already invoiced, and the maximum still allowed for that invoice.
Compatible with Odoo 18 Community and Enterprise, Odoo.sh and self-hosted deployments.
Please log in to comment on this module