This module contains the technical basis for other cut-off modules ; it doesn't provide useful features by itself. You need to install other cut-off modules to get the useful features:
- the module account_cutoff_start_end_dates will manage cut-offs based on start date and end date of invoice/move lines,
- the module account_cutoff_picking will manage cut-offs based on the pickings.
- the module account_cutoff_accrual_subscription will manage cut-offs based on subscriptions.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Provides the technical foundation for creating accounting cut-off entries (accrued and prepaid revenue/expense) in Odoo. It adds menus, configuration settings and screens, but the actual line generation must come from additional modules.
This module adds a new 'Cut-offs' menu under Accounting > Entries with four submenus: Accrued Revenue, Accrued Expense, Prepaid Revenue and Prepaid Expense. Each opens a list of cut-off records of that type.
On a cut-off record you set a cut-off date, choose whether source entries are posted only or draft and posted, and optionally enable automatic reversal. Buttons let you re-generate lines, create a journal entry, go back to draft, and open the lines in full screen. The total cut-off amount is computed from the lines.
Configuration is done in Accounting settings: default cut-off journal, whether partners appear on journal items, whether taxes are accrued, whether the cut-off journal entry is posted automatically, and default accounts for accrued revenue, accrued expense, prepaid revenue, prepaid expense and their tax counterparts. Taxes can also carry their own accrued revenue/expense tax accounts.
A mapping screen (under Accounting > Configuration > Accounts) lets you map a regular account to a cut-off account per cut-off type. When creating the journal entry, lines are merged by partner, account and analytic distribution, and a counterpart line is posted to the cut-off account. A cut-off of the same type and date cannot be created twice for the same company. Done cut-offs cannot be deleted.
Depends on
Required by other modules
Menus it adds
Models and fields (7)
- account.tax · extends an existing modelaccount_accrued_expense_id (Accrued Expense Tax Account), account_accrued_revenue_id (Accrued Revenue Tax Account)
- res.company · extends an existing modelaccrual_taxes (Accrual On Taxes), post_cutoff_move (Post Cut-off Journal Entry), default_cutoff_journal_id (Default Cut-off Journal), default_cutoff_move_partner (Partner on Journal Items by Default), default_accrued_expense_account_id (Default Account for Accrued Expenses), default_accrued_revenue_account_id (Default Account for Accrued Revenues), default_prepaid_expense_account_id (Default Account for Prepaid Expense), default_prepaid_revenue_account_id (Default Account for Prepaid Revenue), default_accrued_expense_tax_account_id (Default Tax Account for Accrued Expense), default_accrued_revenue_tax_account_id (Default Tax Account for Accrued Revenue)
- account.cutoff · new modelstate, move_id (Cut-off Journal Entry), line_ids (Cut-off Lines), move_ref (Reference of the Cut-off Journal Entry), company_id (Company), cutoff_date (Cut-off Date), cutoff_type (Type), auto_reverse, move_partner (Partner on Journal Items), move_reversal_id (Cut-off Journal Entry Reversal), cutoff_account_id (Cut-off Account), cutoff_journal_id (Cut-off Account Journal), source_move_state (Source Entries), company_currency_id (Company Currency), total_cutoff_amount (Total Cut-off Amount)
- account.cutoff.line · new modelname (Description), notes, amount, quantity, parent_id (Cut-off), account_id, company_id, partner_id (Partner), price_unit (Unit Price w/o Tax), currency_id (Currency), cutoff_type, price_origin, tax_line_ids (Cut-off Tax Lines), cutoff_amount (Cut-off Amount), origin_move_id (Origin Journal Entry), origin_move_date (Origin Journal Entry Date), cutoff_account_id (Cut-off Account), company_currency_id (Company Currency), cutoff_account_code (Cut-off Account Code), origin_move_line_id (Origin Journal Item)
- res.config.settings · extends an existing modelaccrual_taxes, post_cutoff_move, dft_cutoff_journal_id, dft_cutoff_move_partner, dft_accrued_expense_account_id, dft_accrued_revenue_account_id, dft_prepaid_expense_account_id, dft_prepaid_revenue_account_id, dft_accrued_expense_tax_account_id, dft_accrued_revenue_tax_account_id
- account.cutoff.mapping · new modelaccount_id (Regular Account), company_id (Company), cutoff_type (Cut-off Type), cutoff_account_id (Cut-off Account)
- account.cutoff.tax.line · new modelbase, amount (Tax Amount), tax_id (Tax), sequence, parent_id (Account Cut-off Line), company_id, currency_id (Currency), cutoff_amount (Cut-off Tax Amount), cutoff_account_id (Cut-off Account), company_currency_id (Company Currency)
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/account-closing.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Go to the menu Invoicing \> Configuration \> Settings and configure the parameters that are in the Cut-off section.
Then, if you plan to use accruals, go to Invoicing \> Configuration \> Accounting \> Taxes and:
- for each sale tax, configure the Accrued Revenue Tax Account,
- for each purchase tax, configure the Accrued Expense Tax Account.
Usage
Source · Odoo 18.0This module is used as a base for other cut-off modules. Please refer to the README of the other cut-off modules.
No verified information in OCA: Installation.
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.