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. Accounting
  3. AI Collections Next Action v 19.0
  4. Sales Conditions FAQ

AI Collections Next Action

by ERP Heritage https://www.erpheritage.com.au/
Odoo
In-App Purchases
v 19.0 Third Party 5
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
• AI Agent Layer
• Collections Workbench
• Accounting Suite Base
Lines of code 7408
Technical Name eh_account_ai_collections
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
ERP Heritage Accounting Suite

Collections Next Action AI

Show live dunning ladder next-action suggestions on every collections case, respect active promises to pay, and optionally enrich the reasoning with an LLM.

Free · LGPL-3Odoo 19Deterministicv19.0.1.0.0
Eight-branch dunning ladder
Promise-aware escalation
Live recomputed fields
No stored suggestions
LLM rationale hook

Why this module

Collections Next Action AI

01 / ALWAYS CURRENT

Computed fields, never stale

The suggestion is a non-stored computed field, so it recomputes on every read and always reflects the live case state (days overdue, promises, contacts) without a refresh cron or manual refresh button.

02 / PROMISE RESPECTS

Active promise suppresses escalation

An active promise to pay always routes the case to monitor mode, regardless of how many days overdue it is, so collectors never chase a partner who has committed to pay on a known date.

03 / OPTIONAL LLM

Deterministic by default, rich if you want it

The eight-rule dunning ladder runs with zero API keys and zero network access. Configure an AI provider on the company and the same hook sends the case snapshot to your provider for a richer narrative, falling back to the deterministic action on any error or bad key.

Day in the life

A collector opens a case and sees the next step

A collector opens an overdue case at 95 days, with one email sent and no response. The case form shows AI Next Action tab with the suggested action (send_demand_letter), priority (high), and a plain-English rationale. The company has no AI provider configured, so the rationale is the deterministic one explaining the 90-day threshold and formal demand letter reason. The collector sends the demand letter. Later, the same case at 130 days shows refer_to_collections_agency because enough time has passed since the letter. If the collector logs a promise to pay (e.g. payment due in 30 days), the next read flips the suggestion to monitor (low priority) because the active promise suppresses further escalation.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

PROMISE LIFECYCLE

An active promise to pay (promise_date in the future) always suppresses escalation, no matter how many days overdue. A lapsed promise (promise_date passed) immediately escalates to manager review. A promise can only suppress escalation while active; once the date passes, the case returns to the normal dunning ladder.

DEMAND LETTER STATE

The suggestion detects whether a demand letter has been sent by scanning the action log for any action_type='letter'. Agency referral only triggers at 120+ days when this flag is true, enforcing a legal escalation sequence.

CONTACT HISTORY AWARE

The suggestion counts contact attempts from the action log (actions with contact_made=True). No contacts triggers first-contact email at 30+ days; prior contact triggers phone call at 45+ days. A fresh contact attempt resets the escalation path.

MANUAL REVIEW CATCH-ALL

Any case state that does not match the eight rules (e.g. under 30 days with no contact, or between thresholds) routes to manual_review so a collector applies their judgment rather than a forced action.

PROVIDER ERROR FALLBACK

If the company configures an AI provider but that provider fails, raises a bad-credential error, or returns malformed JSON, the module silently returns the deterministic suggestion instead of breaking the case form.

What is inside

Built to do the job, end to end.

  • models/collections_case.py. EhCollectionsCase model extends eh.collections.case with three computed fields: eh_ai_suggested_action (string), eh_ai_suggested_priority (selection: low/medium/high), and eh_ai_suggestion_rationale (text). All depend on days_overdue_max, total_overdue_amount, has_active_promise, broken_promise, and action_ids. The _compute_eh_ai_suggestion method calls next_action_suggester.suggest() with a CaseSnapshot and the company's provider key and config. The _eh_build_case_snapshot method maps the case state to the transport record.
  • next_action_suggester (eh_account_ai_agent/tools). The core Odoo-independent engine implementing the eight-rule deterministic dunning ladder. CaseSnapshot is a dataclass carrying days_overdue, total_overdue, contact_count, promise flags, action type and recency, demand letter flag, payment plan flag, and customer segment. The suggest() function invokes _deterministic_suggest() and optionally _augment_via_llm() if a provider is configured. All provider errors are caught and the deterministic suggestion is returned unchanged.
  • views/collections_case_views.xml. Inherited form view for eh.collections.case. Adds an 'AI Next Action' tab with three read-only fields (eh_ai_suggested_action, eh_ai_suggested_priority, eh_ai_suggestion_rationale), a Refresh AI Suggestion button to invalidate cached fields on demand, and help text explaining deterministic operation and optional LLM enrichment.
  • tests/test_case_suggestion.py. Integration tests verifying the live wiring of the dunning ladder. Tests cover active promise suppresses escalation, broken promise escalates, write-off at 200 days, demand letter at 90+ days, agency referral after letter, first contact email at 30+ days, phone call after contact, recomputation on state change, and demand letter detection from action log.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module does not execute any action on your behalf. It suggests a next step; the collector or an automation decides whether to follow it.
  • The deterministic dunning ladder is fixed to eight rules and cannot be configured per company or case type. Custom escalation paths would require forking the next_action_suggester.
  • The LLM augmentation depends on the company configuring a valid AI provider key and config on the AI agent layer (eh_account_ai_agent). If no provider is configured, only the deterministic suggestion is shown.
  • Promise-to-pay state is derived from action log entries with promise_amount and promise_date set by the collector. The module does not enforce or validate promises; it only reads what the collector has logged.
  • Demand letter detection relies on action log entries with action_type='letter'. If a letter is sent outside Odoo, the collector must log it manually so the escalation ladder tracks it correctly.
Search

collections next action, dunning ladder Odoo, promise to pay, collections automation, Odoo collections case, demand letter routing, agency referral escalation, write-off guidance, collections case management, deterministic escalation, contact attempt tracking, collections priority, overdue case routing, Odoo 19 collections, broken promise handling

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo modules, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Odoo Implementation • LinkedIn

v19.0.1.0.0 · LGPL-3 · Odoo 19 Community

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, please use the developer contact information. They can usually be found in the description.
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