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. Sales
  3. BambooForge Credit Limit & Hold: Block Over-Limit Orders v 19.0
  4. Sales Conditions FAQ

BambooForge Credit Limit & Hold: Block Over-Limit Orders

by BambooForge Labs
Odoo

$ 113.01

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 Credit Limit & Hold
BambooForge Credit Limit & Hold by BambooForge Labs · Block Over-Limit Orders
Odoo 19.0 License OPL-1 No Enterprise required
Customer Credit Limit & Hold for Odoo 19
Automatic overdue-based hold Hard block on over-limit Customer credit hold Manager override AR exposure dashboard Built on Odoo credit fields Multi-company
60-second tour

See it in action

An over-limit order is blocked, the manager overrides, and your exposure is clear at a glance.

1×/dayauto-hold & auto-release on overdue
blocks confirm over the limit
put any customer on hold
%live AR exposure per customer
0Enterprise modules needed
Credit control

A warning nobody reads is not control

Odoo shows a credit-limit warning — then lets the order through anyway. This app stops it: orders that would push a customer over their limit can't be confirmed until a manager decides, so bad debt doesn't sneak past. And it doesn't stop at the point of sale — a daily cron watches each customer's OVERDUE receivables and automatically holds and releases them as aging crosses your configured threshold, so risk gets caught even between orders.

The dashboard

Your whole AR exposure on one screen

Every customer's limit, outstanding balance, available credit and exposure — over-limit in red, near-limit in orange.

Credit exposure overview

Everything you need for credit control

Overdue-based auto-hold

A daily cron checks each customer's overdue receivables and puts them on hold once the amount, or the oldest unpaid invoice, crosses your configured threshold.

Auto-release

Once the overdue balance drops back under the threshold, the same cron lifts the hold automatically — no one has to remember to check.

Credit-Manager-only release

A salesperson cannot self-release their own customer's hold, by cron or by hand — releasing (and forcing a hold) requires the Credit Manager group.

Hard block

Orders that push a customer over their credit limit cannot be confirmed — not just a warning.

Credit hold

Flag a risky customer to block all of their orders, whatever the amount.

Manager override

A Credit Manager can clear a specific order to confirm, with the decision logged.

Exposure overview

One dashboard of limits, outstanding AR, available credit and exposure percentage.

Colour-coded risk

Over-limit rows in red, near-limit in orange, on-hold customers muted — risk jumps out.

Projected exposure

The check counts current balance plus the order being confirmed, so you never tip over unseen.

Toggle hold inline

Put a customer on or off hold straight from the overview list.

Per-customer thresholds

Override the company's overdue amount and days-overdue thresholds per customer, or force a permanent hold or release.

Optional invoicing block

Turn on Block Invoicing While On Hold to also stop customer invoices being created from sales orders while the hold is active.

Built on Odoo

Uses Odoo's standard credit limit and outstanding-balance fields — nothing duplicated.

Multi-company

The block is per company and exposure reflects each company's balance.

Up and running in three steps

1

Enable the block

One setting in Invoicing.

2

Set limits

A credit limit per customer.

3

Sell safely

Over-limit orders wait for approval.

4

Watch exposure

The dashboard shows risk live.

Guided tour

Real screens, real data

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

Order blocked by credit limit
Step 1

The block in action

An over-limit quotation shows Credit Blocked with a clear reason, and only a manager's override clears it.

Block over-limit orders setting
Step 2

One switch to turn it on

Enable Block Over-Limit Orders alongside Odoo's standard credit-limit option.

Keep bad debt from sneaking past

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 overview, the block workflow and FAQs. Questions? bambooforge.labs@gmail.com

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
Lines of code 549
Technical Name bambooforge_credit_limit
LicenseOPL-1

BambooForge Credit Limit & Hold

Odoo warns you when a customer is over their credit limit — then lets the order through anyway. This app turns that warning into real control: it blocks confirmation of orders that would push a customer over the limit, lets you put a customer on hold, and gives you a live credit-exposure overview.

This page is the complete manual. Follow it top to bottom and you can install, set limits and run the workflow without contacting support.

  • Overview
  • Requirements
  • Installation
  • Setting it up
  • The exposure overview
  • How the block works
  • Frequently asked questions
  • Support
  • Troubleshooting
  • Upgrading & version compatibility
  • Uninstallation
  • Changelog

Overview

  • Hard block — a quotation that would bring a customer's outstanding balance over their credit limit cannot be confirmed until a Credit Manager overrides.
  • Credit hold — flag a customer to block all of their orders, regardless of the limit.
  • Exposure overview — one screen listing every customer with a limit, their outstanding AR, available credit and exposure, with over-limit rows in red.

It builds on Odoo's standard credit fields (the customer's credit limit and outstanding balance), so nothing is duplicated.

Requirements

  • Odoo 17.0 with Sales (sale_management). Installing this app pulls it and Invoicing in automatically.

No Enterprise modules and no external Python libraries are required.

Installation

  1. Copy bambooforge_credit_limit into your addons path.
  2. Update the apps list (Apps > Update Apps List).
  3. Search for Credit Limit and click Install.

Setting it up

  1. Turn on Settings > Invoicing > Customer Invoices > Credit Limit (Odoo's standard credit-limit feature) and, just below it, enable Block Over-Limit Orders (added by this app).
  2. On each customer, set their Credit Limit (Accounting tab).
  3. Assign the Credit Manager role (Settings > Users) to whoever may override blocks.

The exposure overview

Open Sales > Reporting > Credit Overview for a live table of every customer with a credit limit: their limit, outstanding balance, available credit and exposure percentage. Rows over the limit show in red, near-limit in orange, and on-hold customers are muted. Toggle Credit Hold straight from the list.

How the block works

When a quotation's projected exposure — the customer's current outstanding balance plus this order's total — exceeds their credit limit, the order is marked Credit Blocked and confirmation is refused with a clear reason. A customer on Credit Hold is blocked regardless of amounts.

A Credit Manager opens the order and clicks Override Credit Block; the order is then cleared to confirm, and the override is logged on the chatter.

Frequently asked questions

It only warns, it doesn't block.
Make sure Block Over-Limit Orders is enabled in Settings. Odoo's own credit-limit option only shows a warning; this app adds the block.
Who can override?
Only users with the Credit Manager role. Others see the block but cannot clear it.
What counts towards the limit?
The customer's outstanding receivable balance plus the order being confirmed.
Can I block a specific customer entirely?
Yes — tick Credit Hold on the customer (or from the overview) to block all their orders.
Does it work with multiple companies?
Yes. The block setting is per company, and exposure is the customer's balance in that company.

Support

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

Troubleshooting

This section lists the problems administrators run into most often, with the cause, how to confirm it, and how to fix it. Every item refers only to fields and roles this app actually adds.

An order is blocked and nobody expected it

Cause. A quotation is blocked in two situations: the customer is on Credit Hold, or the projected exposure (their current outstanding balance plus this order's total) exceeds their Credit Limit while Block Over-Limit Orders is on.

Diagnosis. Open the order and read the Credit Blocked warning; its reason line tells you which case applies. If it mentions "credit hold", check the customer form — the hold may have been applied automatically by the nightly cron because their overdue receivables crossed the configured threshold or days past due. If it mentions the limit, compare the customer's outstanding balance plus the order total against their limit on the Credit Overview.

Resolution. Have the customer pay down their balance, raise their limit, or ask a Credit Manager to click Override Credit Block on the order. For a hold, a Credit Manager releases the customer.

A user who should be able to override cannot

Cause. The Override Credit Block action and the customer hold/release buttons are restricted to the Credit Manager group. A salesperson also cannot clear the block with a direct write — credit_override on the order and the hold fields on the customer are guarded and raise an access error.

Diagnosis. Under Settings > Users, open the user and check the Credit Control section for the Credit Manager role. If clicking the override raises "Only a Credit Manager can override a credit block", the role is missing.

Resolution. Grant the Credit Manager role. Note that a member of Odoo's Accounting / Full Rights group may additionally maintain a customer's hold directly, but only Credit Managers can override a blocked order.

The limit is not enforced — it only warns

Cause. Blocking is opt-in per company. If Block Over-Limit Orders is off, you get Odoo's standard warning only. A block also never fires when the customer has no Credit Limit set, or when the limit is 0.

Diagnosis. Check Settings > Invoicing for both Odoo's Credit Limit feature and this app's Block Over-Limit Orders toggle. Then open the customer's Accounting tab and confirm a non-zero Credit Limit. Remember the block only evaluates orders still in Quotation or Quotation Sent — a confirmed order is never retroactively blocked.

Resolution. Enable Block Over-Limit Orders and set a credit limit on the customer. To also stop invoicing held customers, enable Block Invoicing for Held Customers.

Overdue / aging figures look wrong

Cause. Overdue Receivables counts only posted, unreconciled receivable journal items whose maturity date is already past, in the company currency. Draft invoices, future-dated instalments, and already-reconciled entries are excluded by design.

Diagnosis. If a customer looks overdue but the figure is 0, confirm their invoices are posted (not draft) and past their due date. If a paid invoice still counts, check that the payment is reconciled against it.

Resolution. Post the invoices, set correct payment terms/due dates, and reconcile payments. The value recomputes against today's date, so it updates on its own once the underlying entries are correct.

A customer keeps getting auto-held (or won't auto-release)

Cause. The nightly Credit: Apply Overdue Holds cron holds a customer when their overdue amount exceeds the threshold or their oldest invoice is more than the configured days past due, and it auto-releases only holds it applied itself. A manager's Forced Hold or Forced Release decision always wins and is never overruled by the cron.

Diagnosis. On the customer, check Manual Credit Decision: Forced Hold keeps them held, Forced Release keeps them off. Confirm the company (or per-customer) Auto-Hold Overdue Amount and Auto-Hold Days Overdue thresholds — both 0 disables the feature entirely.

Resolution. Use Reset to Automatic to hand control back to the cron, or adjust the thresholds. A manually held customer is only released by a Credit Manager, never by the cron.

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_credit_limit -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 fields, views and analysis definitions this module added.
  • 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:

  • Automatically put customers on credit hold based on their overdue receivables.
  • And release them again once they pay down.
  • On a daily schedule, no manual watching required. Also turns Odoo's credit-limit warning into real control: block confirmation of sales orders that would push a customer over their credit limit, put risky customers on hold by hand, and watch your whole AR exposure on one dashboard.

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