| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Sales (sale_management) • Discuss (mail) |
| Lines of code | 384 |
| Technical Name |
sale_customer_credit_hold |
| License | LGPL-3 |
| Versions | 18.0 19.0 |
Customer Credit Hold & Overdue Warning
Stop shipping to customers who haven't paid. A lightweight module that adds a persistent red banner directly on the Sale Order form whenever the customer has overdue invoices above a configurable threshold. Choose between warn-only (banner only) or block mode (Sales Manager must approve before confirming) — with a full audit trail of every override.
- ✗ Sales staff create new orders for customers with unpaid overdue invoices — Odoo shows no warning.
- ✗ Goods are shipped before anyone notices the customer has months of unpaid invoices. Cash flow suffers.
- ✗ Existing App Store modules only show a one-time popup — no persistent banner, no block option, no manager override workflow.
- ✗ Odoo Enterprise Credit Limit costs thousands — overkill for teams that just need basic credit hold control.
- ✓ Persistent banner — orange warning or red block banner stays visible on the SO form the entire time.
- ✓ Configurable thresholds — set minimum overdue days and/or minimum overdue amount. Both must be exceeded to trigger.
- ✓ Block mode — Confirm button opens a manager approval wizard; only Sales Managers can unlock the order.
- ✓ Audit trail — every manager override is logged with reason, date, overdue amount, and approver. Fully visible in the chatter too.
Key Features
How It Works
1) When a Sale Order is created or opened for a customer with overdue invoices above threshold, an orange warning banner appears immediately below the status bar.
Warn mode — persistent banner shows overdue days and outstanding amount. Order can still be confirmed.
2) Customers with no overdue invoices see a clean form — no banner, no disruption to the sales workflow.
Good standing customer — no banner, seamless experience for sales staff.
3) In Block mode, the banner turns red and clicking Confirm opens a Manager Override Required dialog showing customer, overdue summary, and a mandatory reason field.
Block mode — red banner with 🚫 icon. Order cannot be confirmed without manager approval.
Manager override wizard — shows customer, 35 days overdue, $500 outstanding. Requires reason before approving.
4) Configure thresholds and mode in Settings → Sales → Customer Credit Hold.
Settings panel — configure mode, overdue days threshold, and overdue amount threshold.
5) View the full audit log of all manager overrides under Sales → Orders → Credit Hold Logs.
Credit Hold Override Logs — who approved, when, overdue details, and reason. Manager-only access.
Frequently Asked Questions
The module searches for posted customer invoices (out_invoice, out_receipt) on the customer's commercial entity
where payment_state not in ['paid', 'in_payment', 'reversed'] and invoice_date_due < today.
Both the maximum overdue days and total outstanding residual amount are computed at form load time.
Warn Only: An orange banner appears showing overdue days and outstanding amount. The salesperson can still click Confirm and proceed normally — it's an informational alert.
Block: A red banner appears and clicking Confirm opens a "Manager Override Required" wizard. Only users with the Sales Manager role can enter a reason and approve. The order is confirmed immediately after approval.
Yes — both the days threshold AND the amount threshold must be exceeded for the banner to trigger. This prevents false positives (e.g. tiny $1 overdue invoices won't block orders). Set the amount threshold to 0 to disable the amount check and rely only on days.
The check only runs in action_confirm() — it does not affect already-confirmed orders.
The banner on confirmed orders is informational only (the Confirm button is already gone). No existing orders or data are modified at install time.
Two places: (1) The Sale Order chatter — a message is posted automatically with the approver's name and reason. (2) Sales → Orders → Credit Hold Logs (visible to Sales Managers only) — a searchable list with date, approver, overdue days, outstanding amount, and full reason text.
Support
- Email support: nextstep.vina@gmail.com
-
Response time: We aim to respond within 1–2 business days. Please include your Odoo version and a description of the issue.
Please log in to comment on this module