Skip to main content
Odoo Community Association

Contract Forecast

Beta License: AGPL-3 OCA/contract Translate me on Weblate Try me on Runboat

The contract_forecast module enhances the Contract module by generating and managing forecast periods for each contract line. It automatically calculates future invoicing amounts and dates, allowing companies to better anticipate and report on expected revenues.

Forecasts are visible directly from the contract in a pivot view or list view.

## Features

  • Generate forecast periods based on the contract’s invoicing rules.

  • View forecasts grouped by invoice date.

  • Automatic regeneration of forecast periods when contract data changes (product, quantity, price, dates, etc.).

  • Company-wide configuration to enable or disable forecasts.

  • Configurable forecast interval and period type (monthly or yearly).

  • Forecast period data includes:

    • Start and end dates

    • Expected invoice date

    • Quantity, unit price, discount, and subtotal (untaxed)

  • Clean handling of auto-renewing and manually-ended contracts.

  • Option to force forecasts to stop at a contract line’s end date, even for auto-renewing lines.

Table of contents

Configuration

Go General Settings under the Contract Forecast section:

  • Enable Contract Forecast: Enable or disable forecasting for the company.

  • Number of Contract Forecast Periods: Define how many future periods are generated.

  • Forecast Period Type: Choose between Monthly or Yearly periods.

  • Stop forecast at contract line end date: If enabled, forecast generation always stops at a contract line’s end date, even when the line is set to auto-renew (tacit renewal).

Usage

  1. Open a Contract.

  2. Click on the Forecast button to access the generated forecast periods.

  3. Forecasts can be analyzed through:

    • Pivot view (grouped by Invoice Date)

    • Tree view (detailed forecast lines)

Forecast periods are regenerated automatically when relevant fields are modified (e.g., quantity, price, dates).

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

sbejaoui

This module is part of the OCA/contract project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Release files for odoo-addon-contract-forecast 18.0.1.0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odoo-addon-contract-forecast 18.0.1.0.2.1
File Interpreter ABI Platform
odoo_addon_contract_forecast-18.0.1.0.2.1-py3-none-any.whl Python 3 none any Details

Release files / odoo_addon_contract_forecast-18.0.1.0.2.1-py3-none-any.whl

Download URL odoo_addon_contract_forecast-18.0.1.0.2.1-py3-none-any.whl
Size 49.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61a4778aff385d7fcc9b11fc81fb79ecd5f4d1dc09d9aac60e1dbfb6a91d1ef6
BLAKE2b-256 checksum
How to use checksums
3dc40c2d1834da58a64a1e36afa92660be7ceac9ce2d39b7622b69496888772c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page