This module generates expense/revenue accruals and prepaid expense/revenue based on the status of orders, pickings and invoices. The module is named account_cutoff_accrual_picking because it initially only supported accruals ; support for prepaid expense/revenue was added later (it should be renamed in later versions).
To understand the behavior of this module, let's take the example of an expense accrual. When you click on the button Re-Generate Lines of an Expense Accrual:
- Odoo will look for all incoming picking in Done state with a Transfer Date \<= Cut-off Date. For performance reasons, by default, the incoming picking dated before Cut-off Date minus 30 days will not be taken into account (this limit is configurable via the field Picking Analysis). It will go to the stock moves of those pickings and see if they are linked to a purchase order line.
- Once this analysis is completed, Odoo has a list of purchase order lines to analyse for potential expense accrual.
- For each of these purchase order lines, Odoo will:
- scan the related stock moves in done state and check their transfer date,
- scan the related invoices lines and check their invoice date.
- If, for a particular purchase order line, the quantity of products received before the cutoff-date (or on the same day) minus the quantity of products invoiced before the cut-off date (or on the same day) is positive, Odoo will generate a cut-off line.
Now, let's take the example of a prepaid expense. When you click on the button Re-Generate Lines of a Prepaid Expense:
- Odoo will look for all vendor bills dated before (or equal to) Cut-off Date. For performance reasons, by default, the vendor bills dated before Cut-off Date minus 30 days will not be taken into account (this limit is configurable via the field Picking Analysis). It will go to the invoice lines of those vendor bills and see if they are linked to a purchase order line.
- Once this analysis is completed, Odoo has a list of purchase order lines to analyse for potential prepaid expense.
- For each of these purchase order lines, Odoo will:
- scan the related stock moves in done state and check their transfer date,
- scan the related invoices lines and check their invoice date.
- If, for a particular purchase order line, the quantity of products invoiced before the cutoff-date (or on the same day) minus the quantity of products received before the cut-off date (or on the same day) is positive, Odoo will generate a cut-off line.
This module should work well with multiple units of measure (including products purchased and invoiced in different units of measure) and in multi-currency.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Extends Odoo cut-off entries so accrued and prepaid revenue/expenses can be generated from deliveries, receipts and vendor/customer invoices. Users set an analysis interval and click Re-Generate Lines on a cut-off to create the lines.
This module adds picking-based analysis to the cut-off feature in Odoo Accounting. When you open a cut-off of type accrued expense, accrued revenue, prepaid expense or prepaid revenue and click Re-Generate Lines, Odoo looks at done transfers and posted or draft invoices within an analysis window ending on the cut-off date.
- For accrued expense it examines incoming transfers linked to purchase order lines; for accrued revenue, outgoing transfers linked to sale order lines.
- For prepaid expense it examines vendor bills linked to purchase order lines; for prepaid revenue, customer invoices linked to sale order lines.
- It compares the delivered quantity with the invoiced quantity before the cut-off date and creates a cut-off line only when the difference is positive.
- The line shows the partner, product, quantity, unit price, amount in company currency, the original account and the cut-off account, plus detailed notes listing each transfer or invoice used.
- Taxes can be added to accrued lines when the company option for accrual taxes is enabled.
A new Analysis Interval field appears on the cut-off form (read-only once the cut-off is done) and in Accounting settings as Picking Analysis Interval, with a company default of 30 days. The value must be strictly positive. The module touches account.cutoff, res.company and res.config.settings, and relies on stock.picking, account.move and order lines.
Depends on
Models and fields (3)
- res.company · extends an existing modeldefault_cutoff_picking_interval_days (Analysis Interval)
- account.cutoff · extends an existing modelpicking_interval_days (Analysis Interval)
- res.config.settings · extends an existing modeldft_cutoff_picking_interval_days
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/account-closing.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0For configuration instructions, refer to the README of the module account_cutoff_base.
No verified information in OCA: Installation, Usage.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.