Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. BambooForge Expiry Reminders: Contracts, Licenses & Documents v 19.0
  4. Sales Conditions FAQ

BambooForge Expiry Reminders: Contracts, Licenses & Documents

by BambooForge Labs
Odoo

$ 90.18

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • Documentation
  • License
BambooForge Expiry Reminders
BambooForge Expiry Reminders by BambooForge Labs · Contracts, Licenses & Documents
Odoo 19.0 License OPL-1 No Enterprise required
Contract & Document Expiry Reminders for Odoo 19
Contracts · Licenses · Certificates Insurance · Warranties Auto reminders Status board & calendar One-click renewal Multi-company
60-second tour

See it in action

From a registered document to an automatic reminder and a one-click renewal — never miss a date again.

3statuses: valid, expiring, expired
+ ☑email and activity reminders
1-clickrenew and keep the history
0Enterprise modules needed
Stay compliant

Renewals slip when nobody watches the dates

A lapsed license, an expired certificate or an unrenewed contract can cost you a fine — or a customer. This app keeps every expiring document in one place and reminds the right person, automatically, before it's too late.

The board

Everything that's expiring, at a glance

Valid, Expiring Soon and Expired — colour-coded by type, with days remaining on every card.

Expiry documents kanban board

Everything you need to never miss a renewal

Any document type

Contracts, licenses, certificates, insurance, warranties — and your own types, each with its own default lead time.

Automatic status

Valid, Expiring Soon or Expired, computed from the expiry date and the lead time, and kept fresh daily.

Email reminders

The responsible person gets an email the moment a document enters its lead-time window.

Renewal activities

A Renew to-do is scheduled on the document, dated to the expiry, so it lands in the right person's inbox.

Board & calendar

A kanban grouped by status and a month calendar of upcoming expiries — pick the view that suits you.

One-click renewal

Renew rolls the document forward a year, links the old and new, and keeps your full history.

Worklist

An Expiring & Expired list puts everything that needs attention now in one focused place.

Full audit trail

Every reminder and renewal is logged on the document's chatter for a complete history.

Multi-company

Documents are scoped per company via a record rule.

Up and running in three steps

1

Register documents

Type, expiry date and lead time.

2

Assign responsible

Who should be reminded.

3

Let it watch

Reminders fire before each expiry.

4

Renew

One click keeps you covered.

Guided tour

Real screens, real data

Every screenshot below is the actual app running on Odoo 19 — no mockups.

Document with reminder activity and email
Step 1

The reminder, on the document

A scheduled Renew activity and the reminder email land automatically on the document and its chatter.

Expiry calendar
Step 2

A renewals calendar

See every upcoming expiry laid out by month, colour-coded by type — plan renewals ahead.

Documents list
Step 3

A sortable worklist

Every document with its expiry date and days remaining — overdue in red, expiring in orange.

Document types configuration
Step 4

Your own document types

Rename the types, set each one's default lead time and colour, or add your own.

Never let a renewal lapse again

Install in seconds. No Enterprise, no external libraries, no lock-in. Works on Odoo 19 Community and Enterprise.

Full manual included. The app ships with a complete in-app documentation page (Apps > this module > Documentation) covering setup, the board, reminders, renewals and FAQs. Questions? bambooforge.labs@gmail.com

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 491
Technical Name bambooforge_expiry_reminder
LicenseOPL-1

BambooForge Expiry Reminders

Never miss a renewal again. Register any document with an expiry date — contracts, licenses, certificates, insurance, warranties — and the app reminds the responsible person automatically before it lapses, with a colour-coded board, a renewals calendar and one-click renewal.

This page is the complete manual. Follow it top to bottom and you can install, register documents, read the board and fix the common issues without contacting support.

  • Overview
  • Requirements
  • Installation
  • Quick start
  • The board and calendar
  • How reminders work
  • Renewing a document
  • Document types
  • Frequently asked questions
  • Support
  • Usage
  • Upgrading & version compatibility
  • Uninstallation
  • Changelog

Overview

Compliance and renewals slip through the cracks because nobody is watching the dates. This app watches them for you:

  • Register any expiring document with a type, a related party, a responsible person, an expiry date and a lead time.
  • Automatic status — Valid, Expiring Soon or Expired, computed from the expiry date and the lead time.
  • Reminders before expiry — an activity for the responsible person and an email, fired automatically once the document enters its lead-time window.
  • A board and a calendar — a kanban grouped by status and a month calendar of upcoming expiries.
  • One-click renewal — roll a document forward a year, keeping the history.

Requirements

  • Odoo 17.0. The app only depends on Discuss (mail), which is part of every Odoo install.

No Enterprise modules and no external Python libraries are required.

Installation

  1. Copy bambooforge_expiry_reminder into your addons path.
  2. Update the apps list (Apps > Update Apps List).
  3. Search for Expiry Reminders and click Install.

A Renewals app appears with a starter set of document types (Contract, License, Certificate, Insurance, Warranty, Other).

Quick start

  1. Open Renewals > Documents and click New.
  2. Enter a name, choose a Type, set the Expiry Date and, if needed, adjust the Lead Time (days) (it defaults from the type).
  3. Set the Responsible person and optionally a Related Party.
  4. Save.

The document gets a status automatically and appears on the board and the calendar. When it enters its lead-time window, the responsible person is reminded.

The board and calendar

Renewals > Documents opens a kanban grouped by Valid / Expiring Soon / Expired, each card showing the type, expiry date and days remaining. Switch to the list for a sortable table (overdue rows in red, expiring in orange) or the calendar to see expiries laid out by month.

Renewals > Expiring & Expired is a focused worklist of everything that needs attention now.

How reminders work

Each document has a Lead Time — the number of days before expiry to start reminding. A daily scheduled action recomputes every document's status and, the first time a document is Expiring Soon or Expired, it:

  • schedules a Renew activity for the responsible person, dated to the expiry,
  • sends them the reminder email,

and marks the reminder as sent so it does not repeat. Everything is logged on the document's chatter.

The scheduled action Expiry Reminders: Check & Notify ships disabled — enable it under Settings > Technical > Scheduled Actions to run it daily.

Renewing a document

When a document is renewed, open it and click Renew. The app creates a new document starting at the old expiry date and running one year (adjust as needed), links the two together, and archives the old one — so your history stays intact and the new period is tracked from day one.

Document types

Under Renewals > Configuration > Document Types you can rename the types, set each one's Default Lead Time and colour, or add your own (e.g. Safety Inspection, Domain Name, Visa).

Frequently asked questions

Statuses look stale.
Status is recomputed by the daily scheduled action and whenever a document is edited. Enable Expiry Reminders: Check & Notify so it refreshes every day.
The reminder went to the wrong person.
Reminders go to the document's Responsible user. Set it on each document.
I was reminded once but want another nudge.
Reminders fire once per document to avoid noise. Re-trigger by clearing the reminder (it resets automatically on renewal), or rely on the scheduled Renew activity.
Does it work with multiple companies?
Yes. Documents are company-scoped via a record rule.

Support

Questions or ideas: bambooforge.labs@gmail.com.

Usage

Everything happens under the Renewals app, which appears in the main menu after installation with a starter set of document types (Contract, License / Permit, Certificate, Insurance, Warranty, Other).

Register a document

  1. Go to Renewals > Documents and click New.
  2. Enter a Name and pick a Type. Choosing a type fills the Lead Time (days) from that type's Default Lead Time — for example Contract sets 45 days and Warranty sets 15. Override it per document if needed.
  3. Set the Expiry Date (required) and, optionally, a Start Date, a Reference, a Related Party and free-text Notes.
  4. The Responsible defaults to you; change it to the person who should be reminded and who owns the renewal.
  5. Save.

On save the status is computed automatically from the expiry date and lead time: Valid while more than the lead time remains, Expiring Soon once inside the lead-time window, and Expired once the date has passed. Days to Expiry counts down and turns negative after expiry.

Read the board and calendar

Renewals > Documents opens as a kanban grouped by status, colour-coded by document type (see screenshot_kanban.png). Switch views from the top-right: a List where expired rows show in red and expiring rows in orange (screenshot_list.png), or a Calendar month view of expiry dates coloured by type (screenshot_calendar.png). Use the search filters Expiring Soon, Expired, My Documents and Renewed (archived), or group by Status, Type or Responsible. Renewals > Expiring & Expired is a pre-filtered worklist of everything needing attention now.

How the scheduled action reminds people

The cron Expiry Reminders: Check & Notify (Settings > Technical > Scheduled Actions) runs the automatic notifications. It ships inactive, so enable it once and set it to run daily (its default interval is every 1 day).

Each run recomputes every active document's status, then finds documents that are Expiring Soon or Expired and not yet reminded (Reminder Sent unchecked). For each, once only, it schedules a Renew: <name> to-do activity for the Responsible user dated to the expiry date, sends that user the Document Expiry Reminder email (if they have an email address), ticks Reminder Sent, stamps Last Reminder and logs a chatter note.

Because the flag is set, a document is never reminded twice. To acknowledge a due document manually and stop the cron from notifying about it, use the Mark Reminded button on the form (shown while a document is not yet valid and not yet reminded); it ticks Reminder Sent and stamps Last Reminder.

Renew a document

When a document is up for renewal, open it and click Renew in the header. The app creates a fresh document that starts on the old expiry date and runs one year forward, links the pair (Renewed From / Renewed To), and archives the original — its history and chatter stay intact, and the new period is tracked with its reminder flag cleared from day one. The Renew button disappears once a document has already been renewed.

Worked example

A workshop registers its liability insurance: Type Insurance, Expiry Date 31/12/2026, Lead Time 30 days, Responsible the office manager. It stays Valid until 1 December 2026, when it becomes Expiring Soon. On the next cron run the office manager gets a Renew: Liability Insurance activity dated 31 December plus the reminder email, and the chatter records "Expiry reminder sent". After the new policy is agreed, clicking Renew produces the 2027 document (valid to 31/12/2027) and archives the 2026 one.

Configure document types

Managers can maintain the catalogue under Renewals > Configuration > Document Types (see screenshot_types.png): rename types, set each one's Default Lead Time and colour, add your own (e.g. Safety Inspection, Visa, Domain Name), or open a type to view its documents via the document count.

Upgrading & version compatibility

This build targets Odoo 19.0. Each Odoo major series (17.0, 18.0, 19.0) has its own dedicated build of this module — always install the build that matches your Odoo version. Mixing a build with a different Odoo series is not supported.

Patch upgrades (same series, e.g. 19.0.1.0.0 → later)

  1. Back up your database and filestore first.

  2. Replace the module folder with the newer build.

  3. Restart Odoo with the module updated:

    ./odoo-bin -c your.conf -u bambooforge_expiry_reminder -d your_db
    
  4. Odoo applies any schema/data changes automatically. Your existing records and configuration are preserved.

Cross-version migration (e.g. Odoo 17 → 18)

Upgrading Odoo itself is a database migration handled by Odoo's standard upgrade tooling. When you migrate the database to the next Odoo series, install the matching build of this module for that series. Data created by this module carries over with the database migration.

After any upgrade the module's scheduled actions resume on their normal cadence — no manual re-activation is required.

Uninstallation

You can remove this module at any time from Apps → (this module) → Uninstall, or from the command line. Uninstalling is clean and reversible by reinstalling — but note what is and is not deleted.

What is removed

  • The module's own tables and every record in them (2 models, prefixed expiry.*) — this is the data this module created.
  • The menus, actions, views and reports this module installed.
  • Its scheduled actions (cron jobs) — they stop immediately on uninstall.
  • The security groups this module defined (user assignments to them are dropped).

What is preserved

  • Your standard Odoo data (partners, products, sales, invoices, inventory moves) is not deleted — this module only reads and annotates it; the underlying records stay.
  • Attachments and chatter messages on standard records are kept.

As always, take a database backup before uninstalling in production.

Changelog

19.0.1.0.0

Current release for Odoo 19.0. This build includes:

  • Track contracts, licenses, certificates, insurance and any document with an expiry date. Get reminded before they lapse with automatic activities and emails, a colour-coded board and a renewals calendar.

Feature additions and fixes ship as new builds on the Odoo Apps store; this page and the module's version reflect the current published release. Always keep the build matched to your Odoo series (see Upgrading & version compatibility).

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with