Running an HVAC business with Odoo

Can Odoo send reminders for overdue invoices?

Workflow overview: Can Odoo send reminders for overdue invoices?
Workflow overview. Instructional screenshots show the actual demo interface.

Review overdue Odoo invoices, create a native due-date activity, exclude a blocked dispute and send one manually reviewed balance reminder.

Yes: Alex can send a reviewed invoice reminder from the native invoice screen. The verified automation in this guide creates an internal review activity when a due-date condition is reached. The owner then checks receipts, the remaining balance and any dispute before sending. Our test follows one $31.80 invoice through a partial receipt, a $21.80 reminder and final settlement, while a separate $42.40 disputed invoice stays blocked for review.

Alex Rivera and Demo Air HVAC are fictional training examples. Prices, dates, quantities and business situations in this guide are illustrative.

Before you begin

Tested in stock Odoo 20.0-20260926 Community as the demo owner administrator, with official modules and standard configuration. Use the invoice and receipt procedures from How do I invoice job time and materials in Odoo? and How do I record full or partial customer payments in Odoo?, the local-only outgoing route from How do I set up email for Odoo quotations and invoices? and the official Automation Rules setup from How do I set up a no-code reminder rule in Odoo?. All delivery here goes to Mailpit; receipts and business events are synthetic. The previously paid invoices remain unchanged. Prepare the two fictional invoices in the isolated training company before Step 1:

  1. Open Invoicing → Customers → Invoices → New. Choose Demo Property H08, set Invoice Date September 1 and Payment terms Demo Net 30 H06, and enter Reference H58-ELIGIBLE-001. Add one productless training allowance at $30 with the existing 6% demo tax. Save, check the $31.80 total, then Confirm once. This example posts as INV/2026/00003, due October 1.
  2. On that invoice, use Actions menu → Duplicate. In the separate draft, enter Reference H58-HOLD-001, retain September 1 and Demo Net 30 H06, and add the training dispute note. Change the copied line price to 40.00, click another field to commit it, and check that the line still shows 40.00. Use Save manually and verify the saved total is $42.40 before Confirm once. This example posts as INV/2026/00004.

These are fictional test balances using existing synthetic account/tax defaults. In a real business, use its own confirmed records and reviewed accounting treatment.

Step-by-step workflow

Step 1. Review the invoice and put the dispute on hold

Open INV/2026/00004, the separate $42.40 disputed example. Check its customer, Invoice Date, Payment terms, Amount Due and training dispute note. The captured posted form displays Payment terms; the actual invoice PDF in Step 8 shows the calculated due date. Open Actions menu → (Un)Block Payment once. The saved invoice becomes Blocked without changing its $42.40 balance. Send remains available, so this control does not prevent every manual email. Review the hold before contacting anyone. This test leaves the dispute unresolved; no credit, payment or unblock is entered for it.

Action 1: Prepare the separate fictional overdue invoice. The actual target is highlighted in gold.
Prepare the separate fictional overdue invoice.
Action 2: Select the existing fictional customer. The actual target is highlighted in gold.
Select the existing fictional customer.
Action 3: Use September 1 for the historical test invoice. The actual target is highlighted in gold.
Use September 1 for the historical test invoice.
Action 4: Select the existing Net 30 terms. The actual target is highlighted in gold.
Select the existing Net 30 terms.
Action 5: Add the separate productless training allowance. The actual target is highlighted in gold.
Add the separate productless training allowance.
Action 6: Label the allowance as a fictional workflow fixture. The actual target is highlighted in gold.
Label the allowance as a fictional workflow fixture.
Action 7: Set the training allowance to 30 before demo tax. The actual target is highlighted in gold.
Set the training allowance to 30 before demo tax.
Action 8: Keep the eligible reference inside the H58 test scope. The actual target is highlighted in gold.
Keep the eligible reference inside the H58 test scope.
Action 9: Preserve explicit fictional debt and reminder context. The actual target is highlighted in gold.
Preserve explicit fictional debt and reminder context.
Action 10: Save the eligible draft and verify its dates and total. The actual target is highlighted in gold.
Save the eligible draft and verify its dates and total.
Action 11: Post the separate 31.80 training invoice once. The actual target is highlighted in gold.
Post the separate 31.80 training invoice once.
Action 12: Open Actions for a separate disputed example. The actual target is highlighted in gold.
Open Actions for a separate disputed example.
Action 13: Duplicate once for the separate disputed fixture. The actual target is highlighted in gold.
Duplicate once for the separate disputed fixture.
Action 14: Retain September 1 on the separate disputed invoice. The actual target is highlighted in gold.
Retain September 1 on the separate disputed invoice.
Action 15: Edit only the new disputed allowance line. The actual target is highlighted in gold.
Edit only the new disputed allowance line.
Action 16: Label the separate disputed training allowance. The actual target is highlighted in gold.
Label the separate disputed training allowance.
Action 17: Use the separate H58 hold reference. The actual target is highlighted in gold.
Use the separate H58 hold reference.
Action 18: Record the fictional dispute and manual review hold. The actual target is highlighted in gold.
Record the fictional dispute and manual review hold.
Action 19: Correct the same disputed draft to 40 before posting. The actual target is highlighted in gold.
Correct the same disputed draft to 40 before posting.
Action 20: Save only the separate 42.40 disputed draft. The actual target is highlighted in gold.
Save only the separate 42.40 disputed draft.
Action 21: Post the separate disputed example once. The actual target is highlighted in gold.
Post the separate disputed example once.
Action 22: Review the disputed amount before placing the hold. The actual target is highlighted in gold.
Review the disputed amount before placing the hold.
Action 23: Open the native payment-block action. The actual target is highlighted in gold.
Open the native payment-block action.
Action 24: Block payment once; retain the disputed 42.40 balance. The actual target is highlighted in gold.
Block payment once; retain the disputed 42.40 balance.
Action 25: Blocked keeps the balance; Send remains a manual decision. The actual target is highlighted in gold.
Blocked keeps the balance; Send remains a manual decision.

Step 2. Inspect the actual Overdue list

Return to Invoicing → Customers → Invoices. Open Toggle Search Panel and select Overdue, then close the search dropdown. The initial result is the one eligible $31.80 invoice. The paid examples and blocked $42.40 invoice are absent. Open the eligible invoice and check Invoice Date, Payment terms, payment history and Amount Due. The test terms calculate October 1; verify the printed due date in Step 8. The Overdue list is a work view, not a complete list of every receivable requiring attention. Keep disputed holds under separate review.

Action 26: Return to the normal customer invoice list. The actual target is highlighted in gold.
Return to the normal customer invoice list.
Action 27: Open the native invoice search filters. The actual target is highlighted in gold.
Open the native invoice search filters.
Action 28: Choose Overdue and close the search dropdown. The actual target is highlighted in gold.
Choose Overdue and close the search dropdown.
Action 29: The paid and blocked invoices are absent from Overdue. The actual target is highlighted in gold.
The paid and blocked invoices are absent from Overdue.
Action 30: Open the eligible invoice for balance review. The actual target is highlighted in gold.
Open the eligible invoice for balance review.
Action 31: Review the eligible amount due and retained payment terms. The actual target is highlighted in gold.
Review the eligible amount due and retained payment terms.

Step 3. Create a narrowly scoped due-date rule

Open Settings → General Settings, scroll to Developer Tools and click Activate the developer mode if Technical is not yet visible. Then open Technical → Automation Rules → New. Name it H58 Demo overdue invoice - internal review only, choose Journal Entry as Model, and select Based on date field as Trigger. Choose Due Date, set Delay 1 Days After, and leave Use Calendar blank. In Apply on → Edit Domain, use the graphical builder with Match all: Type is Customer Invoice; Status is Posted; Reference starts with H58-; Amount Due is greater than 0; Payment Status is not equal to Blocked; Activities is not set. Confirm and check all six conditions. The H58 prefix is deliberately limited to the two training invoices; the saved matching count is one. Do not widen it during this test.

Action 32: Open Settings for the native Technical tools. The actual target is highlighted in gold.
Open Settings for the native Technical tools.
Action 33: Developer Tools: activate the developer mode. The actual target is highlighted in gold.
Developer Tools: activate the developer mode.
Action 34: Open the now-visible Technical menu. The actual target is highlighted in gold.
Open the now-visible Technical menu.
Action 35: Choose Automation Rules from the native menu. The actual target is highlighted in gold.
Choose Automation Rules from the native menu.
Action 36: Create the separate overdue-review rule. The actual target is highlighted in gold.
Create the separate overdue-review rule.
Action 37: Name the narrowly scoped internal-review rule. The actual target is highlighted in gold.
Name the narrowly scoped internal-review rule.
Action 38: Choose the existing Journal Entry model. The actual target is highlighted in gold.
Choose the existing Journal Entry model.
Action 39: Choose Based on date field. The actual target is highlighted in gold.
Choose Based on date field.
Action 40: Select the actual Due Date field. The actual target is highlighted in gold.
Select the actual Due Date field.
Action 41: Set one day after the due date. The actual target is highlighted in gold.
Set one day after the due date.
Action 42: Use Days; leave the calendar blank. The actual target is highlighted in gold.
Use Days; leave the calendar blank.
Action 43: Build a six-condition Match all domain. The actual target is highlighted in gold.
Build a six-condition Match all domain.
Action 44: Add Type is Customer Invoice. The actual target is highlighted in gold.
Add Type is Customer Invoice.
Action 45: Add Status is Posted. The actual target is highlighted in gold.
Add Status is Posted.
Action 46: Add the Reference starts with condition. The actual target is highlighted in gold.
Add the Reference starts with condition.
Action 47: Add Amount Due greater than zero. The actual target is highlighted in gold.
Add Amount Due greater than zero.
Action 48: Set the Amount Due comparison to zero. The actual target is highlighted in gold.
Set the Amount Due comparison to zero.
Action 49: Exclude Payment Status Blocked. The actual target is highlighted in gold.
Exclude Payment Status Blocked.
Action 50: Require Activities is not set. The actual target is highlighted in gold.
Require Activities is not set.
Action 51: Enter the exact H58 prefix after the conditions settle. The actual target is highlighted in gold.
Enter the exact H58 prefix after the conditions settle.
Action 52: Verify Match all and all six graphical conditions. The actual target is highlighted in gold.
Verify Match all and all six graphical conditions.
Action 53: Verify the H58 prefix, then Confirm the domain. The actual target is highlighted in gold.
Verify the H58 prefix, then Confirm the domain.
Action 54: Check the six conditions before adding the action. The actual target is highlighted in gold.
Check the six conditions before adding the action.

Step 4. Add the predefined internal review action

Click Add an action and select Create Activity. Retain To-Do, enter Summary H58 Review overdue invoice balance and hold before contact, set Due In 0 Days, and assign Specific User → Demo Air Owner. Add a note to check current balance, receipts, dispute/hold and prior messages before contact. After the activity settings settle, enter Name: H58 Create overdue invoice review activity last. Check that this exact name remains visible, then use Save & Close and Save manually on the rule. This uses existing fields and Odoo’s predefined activity action. No authored code, custom field or customer-email action is entered.

Action 55: Add the predefined internal review action. The actual target is highlighted in gold.
Add the predefined internal review action.
Action 56: Use Create Activity without authored code. The actual target is highlighted in gold.
Use Create Activity without authored code.
Action 57: Set the internal balance-review summary. The actual target is highlighted in gold.
Set the internal balance-review summary.
Action 58: Use Due In zero Days for the internal review deadline. The actual target is highlighted in gold.
Use Due In zero Days for the internal review deadline.
Action 59: Assign the internal To-Do to Demo Air Owner. The actual target is highlighted in gold.
Assign the internal To-Do to Demo Air Owner.
Action 60: Require balance, receipt, hold and prior-message review. The actual target is highlighted in gold.
Require balance, receipt, hold and prior-message review.
Action 61: Name this action last after the activity settings settle. The actual target is highlighted in gold.
Name this action last after the activity settings settle.
Action 62: Save the predefined action and recheck all six conditions. The actual target is highlighted in gold.
Save the predefined action and recheck all six conditions.
Action 63: Save the six-condition rule before any scheduler run. The actual target is highlighted in gold.
Save the six-condition rule before any scheduler run.

Step 5. Run and inspect the shipped scheduler in the training setup

From the rule, click Scheduled action. Saving the date-based rule activates Odoo’s existing Automation Rules: check and execute job. Review its saved interval and execution user, then use Run Manually once. It creates one linked owner To-Do on INV/2026/00003 and none on the blocked invoice. In the original verification its saved deadline was October 15. Read the displayed deadline in your run rather than assuming an exact elapsed number of hours from Due In; a later capture can show a different current date. Run the same job again: the same one open activity remains. The scheduler uses its existing OdooBot user and also queues an internal assignment email to the owner. That email remains outgoing in this setup; it is not a customer reminder. The runtime background executor stays disabled, so this proves selected manual scheduler execution, not unattended timing.

Action 64: Open the shipped scheduled action from this rule. The actual target is highlighted in gold.
Open the shipped scheduled action from this rule.
Action 65: Review the native interval before manually running the job. The actual target is highlighted in gold.
Review the native interval before manually running the job.
Action 66: Run this shipped job once in the isolated training setup. The actual target is highlighted in gold.
Run this shipped job once in the isolated training setup.
Action 67: The one owner review is due Today; inspect its instruction. The actual target is highlighted in gold.
The one owner review is due Today; inspect its instruction.
Action 68: Run again; the same open activity must remain. The actual target is highlighted in gold.
Run again; the same open activity must remain.

Step 6. Record the confirmed partial receipt and recheck the balance

Using How do I record full or partial customer payments in Odoo?, independently confirm the actual receipt before recording it. The synthetic input here is $10 dated October 14, reference DEMO-H58-RECEIPT-001. On the eligible invoice click Pay, verify Demo Operating Bank H73, Manual Payment and the date, set Amount 10.00, enter the memo and use Create Payment once. The invoice becomes Partially Paid, with $10 recorded and $21.80 Amount Due. The Overdue list retains it with that remaining balance. A further native scheduler run retains the same open review activity.

Action 69: Open Pay for the separate fictional ten-dollar receipt. The actual target is highlighted in gold.
Open Pay for the separate fictional ten-dollar receipt.
Action 70: Open Payment Date for the confirmed training input. The actual target is highlighted in gold.
Open Payment Date for the confirmed training input.
Action 71: Set October 14, 2026 for this fictional receipt. The actual target is highlighted in gold.
Set October 14, 2026 for this fictional receipt.
Action 72: Record only the confirmed synthetic receipt of 10.00. The actual target is highlighted in gold.
Record only the confirmed synthetic receipt of 10.00.
Action 73: Use the unique first receipt memo. The actual target is highlighted in gold.
Use the unique first receipt memo.
Action 74: Create this one training receipt once. The actual target is highlighted in gold.
Create this one training receipt once.
Action 75: Amount Due is now 21.80 after the ten-dollar receipt. The actual target is highlighted in gold.
Amount Due is now 21.80 after the ten-dollar receipt.
Action 76: Overdue retains the same invoice with 21.80 remaining. The actual target is highlighted in gold.
Overdue retains the same invoice with 21.80 remaining.
Action 77: Run once more; the partial invoice keeps the same activity. The actual target is highlighted in gold.
Run once more; the partial invoice keeps the same activity.
Action 78: The original internal review remains open after the partial receipt. The actual target is highlighted in gold.
The original internal review remains open after the partial receipt.

Step 7. Review the actual email composer before sending

On this partially paid invoice, click Send. The dialog has by Email checked, the existing Demo Property H08 recipient, Subject and an invoice PDF attachment placeholder. Its default body still describes the original $31.80 invoice and requests payment. Edit the Subject and body to state the correct current facts: invoice INV/2026/00003, September 1 date, October 1 due date, $31.80 original total, $10 received and $21.80 remaining. Ask the customer to clarify any payment in transit or question. Verify recipient and balance again. The training message is explicitly labelled TRAINING and uses the local sink.

Action 79: Open Send and review its proposed message before contact. The actual target is highlighted in gold.
Open Send and review its proposed message before contact.
Action 80: The default body still asks for the original 31.80. The actual target is highlighted in gold.
The default body still asks for the original 31.80.
Action 81: State the current remaining amount in the training subject. The actual target is highlighted in gold.
State the current remaining amount in the training subject.
Action 82: Explain the original amount, receipt and 21.80 remaining. The actual target is highlighted in gold.
Explain the original amount, receipt and 21.80 remaining.
Action 83: Verify the intended synthetic recipient before sending. The actual target is highlighted in gold.
Verify the intended synthetic recipient before sending.

Step 8. Send once and verify the received message and attachment

Click the dialog’s Send once and wait for it to close. Check the linked chatter message and recipient details; this test shows Delivered in the recipient popover and a sent notification. The envelope control’s accessible label says Delivery failure even here, so inspect the actual recipient status. Mailpit receives exactly one customer follow-up. Open the actual attached INV_2026_00003.pdf or use its Download control. The received and native-downloaded copies match; the one-page invoice shows September 1, October 1, $31.80 total, a $10 paid row and $21.80 Amount Due, with the configured placeholder logo and fictional-company footer. The sent PDF is a snapshot of that partial balance.

Action 84: Send this reviewed local-only follow-up exactly once. The actual target is highlighted in gold.
Send this reviewed local-only follow-up exactly once.
Action 85: Inspect the actual recipient status on the saved message. The actual target is highlighted in gold.
Inspect the actual recipient status on the saved message.
Action 86: The recipient icon reports Delivered in this local test. The actual target is highlighted in gold.
The recipient icon reports Delivered in this local test.
Action 88: The local inbox contains one matching reviewed follow-up. The actual target is highlighted in gold.
The local inbox contains one matching reviewed follow-up.
Action 89: Open the exact training follow-up in the local inbox. The actual target is highlighted in gold.
Open the exact training follow-up in the local inbox.
Action 90: Retain the actual received invoice PDF attachment. The actual target is highlighted in gold.
Retain the actual received invoice PDF attachment.
Action 91: Reveal Download on the actual sent invoice attachment. The actual target is highlighted in gold.
Reveal Download on the actual sent invoice attachment.
Action 92: Download the saved attachment and compare its exact received bytes. The actual target is highlighted in gold.
Download the saved attachment and compare its exact received bytes.
Action 87: Review the stored partial-balance PDF attachment from the one sent message. The actual target is highlighted in gold.
Review the stored partial-balance PDF attachment from the one sent message.

Example invoice after a partial payment

This fictional example is the one-page invoice PDF attached to the reminder in Step 8. It shows the original $31.80 total, the $10 payment recorded on October 14, and $21.80 still due. Its invoice due date is October 1. This saved attachment is a snapshot of the partial balance; the later final payment in Step 9 does not rewrite it.

Download the example invoice (PDF, 1 page)

Fictional Odoo invoice INV/2026/00003: $31.80 total, $10 paid on October 14, 2026, and $21.80 remaining; invoice due October 1.
Example invoice after the partial payment — page 1 of 1. Open the image to inspect it at full size.

Step 9. Stop follow-up after final settlement and close the review

The separate synthetic final receipt is $21.80, October 14, memo DEMO-H58-RECEIPT-002. After actual confirmation in a real case, use Pay → Create Payment with the remaining amount once. Reopen the invoice: it is Paid, Amount Due is $0, and 2 Payments links to the two receipts. Its review activity remains open until the owner reviews it and clicks Done, enters Write Feedback, and chooses Done rather than Done and Schedule Next. Another selected scheduler run creates no new invoice activity. This is a checked stop case, not proof of every future schedule or simultaneous event.

Action 93: Open Pay for the separate fictional final receipt. The actual target is highlighted in gold.
Open Pay for the separate fictional final receipt.
Action 94: Open the final receipt date control. The actual target is highlighted in gold.
Open the final receipt date control.
Action 95: Use October 14, 2026 for this fictional final receipt. The actual target is highlighted in gold.
Use October 14, 2026 for this fictional final receipt.
Action 96: Record the distinct final-receipt reference. The actual target is highlighted in gold.
Record the distinct final-receipt reference.
Action 97: Create the remaining 21.80 training receipt once. The actual target is highlighted in gold.
Create the remaining 21.80 training receipt once.
Action 98: The invoice now has zero Amount Due. The actual target is highlighted in gold.
The invoice now has zero Amount Due.
Action 99: Open the two distinct saved receipts for this invoice. The actual target is highlighted in gold.
Open the two distinct saved receipts for this invoice.
Action 100: Review the ten-dollar and 21.80 receipts and their dates. The actual target is highlighted in gold.
Review the ten-dollar and 21.80 receipts and their dates.
Action 101: Close the existing internal review only after checking settlement. The actual target is highlighted in gold.
Close the existing internal review only after checking settlement.
Action 102: Record the fictional review result without scheduling another. The actual target is highlighted in gold.
Record the fictional review result without scheduling another.
Action 103: Choose Done; do not schedule another review. The actual target is highlighted in gold.
Choose Done; do not schedule another review.
Action 104: Run the same job after settlement; no new review should appear. The actual target is highlighted in gold.
Run the same job after settlement; no new review should appear.

Step 10. Retain the disputed review and retire the test rule

Return to the same Automation Rule and use Actions menu → Archive, confirming Archive. The rule becomes inactive; with no other active timed rule, its shipped scheduler also becomes inactive in this runtime. On the blocked INV/2026/00004, click Activity, retain To-Do, enter H58 Review disputed invoice - reminders on hold, choose owner Demo Air Owner and Due on October 16, add the hold context and click Save. Reopen to verify the planned review and unchanged $42.40 blocked balance. Finally apply Overdue again: it is empty, while the blocked invoice remains in the general invoice list with its review task. Empty Overdue does not mean all disputes are resolved.

Action 105: Open Actions on the same training rule. The actual target is highlighted in gold.
Open Actions on the same training rule.
Action 106: Archive this training rule once. The actual target is highlighted in gold.
Archive this training rule once.
Action 107: Confirm Archive and retain the completed history. The actual target is highlighted in gold.
Confirm Archive and retain the completed history.
Action 108: Plan a separate review on the still-blocked disputed invoice. The actual target is highlighted in gold.
Plan a separate review on the still-blocked disputed invoice.
Action 109: Name the unresolved disputed-invoice review. The actual target is highlighted in gold.
Name the unresolved disputed-invoice review.
Action 110: Open the manually chosen disputed-review date. The actual target is highlighted in gold.
Open the manually chosen disputed-review date.
Action 111: Keep the separate owner review due October 16, 2026. The actual target is highlighted in gold.
Keep the separate owner review due October 16, 2026.
Action 112: Assign this review to Demo Air Owner. The actual target is highlighted in gold.
Assign this review to Demo Air Owner.
Action 113: Explain the hold without claiming dispute resolution or money. The actual target is highlighted in gold.
Explain the hold without claiming dispute resolution or money.
Action 114: Save the planned review; do not mark it Done. The actual target is highlighted in gold.
Save the planned review; do not mark it Done.
Action 115: The disputed invoice still has 42.40 Amount Due. The actual target is highlighted in gold.
The disputed invoice still has 42.40 Amount Due.
Action 116: Its separate owner review stays planned. The actual target is highlighted in gold.
Its separate owner review stays planned.
Action 117: Overdue is empty while the separately reviewed dispute remains. The actual target is highlighted in gold.
Overdue is empty while the separately reviewed dispute remains.

Check the result

One native due-date rule created one internal review activity for the eligible overdue invoice and excluded the blocked dispute. Two repeat runs, including a partial-balance run, retained the same open activity. One manually edited customer follow-up reached the local sink at the correct $21.80 remaining balance; its actual PDF matched the native download and showed the partial receipt. Final synthetic settlement cleared the invoice to Paid/$0, manual Done retained feedback, and another scheduler run created none. The rule is archived. The $42.40 disputed invoice stays Blocked with a separate planned owner review due October 16. Earlier payments/invoice balances and the existing bank-review task are preserved.

If your screen differs

This installation did not demonstrate an installed automatic customer-dunning workflow. Its native invoice sending job is not proof of overdue follow-up. This guide verifies a predefined internal activity rule through four selected Run Manually executions and one reviewed customer email; unattended scheduling, automatic reminder emails and repeated daily/weekly campaigns remain untested. The due-date window, any-open-activity guard and blocked status all affect eligibility. A later unblock, changed due date, missed window, unrelated open activity or simultaneous event needs separate checking; no retrospective catch-up or permanent duplicate guarantee is established. The internal owner assignment email remains queued even after activity completion; settlement/Done does not retract it. Blocked still exposes Send. Two manual receipts match the invoice receivable, while $10 and $21.80 remain unmatched in Outstanding Receipts, with no Bank entry or actual money established. The earlier sent PDF retains its historical $21.80 balance after final settlement. Tax, account and dispute treatment require the business’s own review.

Frequently asked questions

Can Odoo automatically send overdue invoice reminders? The verified native automation here creates an internal review activity from a Due Date condition. The owner checks balance and holds, edits the invoice Send dialog and sends the customer follow-up manually. Automatic customer dunning and unattended scheduler delivery were not demonstrated in this installation.
How do I remind a customer about a partially paid invoice in Odoo? Open the posted invoice and check its recorded receipts and current Amount Due. Review disputes and prior messages, then use Send and edit the subject/body to state the remaining amount. The default composer in this test still described the original $31.80; the reviewed follow-up correctly stated $10 received and $21.80 remaining. Check the actual recipient status and attachment.
Why is a blocked invoice missing from Odoo overdue invoices? The native Overdue filter in this test excluded the Blocked $42.40 invoice. It remained visible in the general invoice list, with its balance unchanged and a separate owner review activity. Keep a review path for disputed holds. The Send button remained available, so review the hold explicitly before customer contact.

Continue building the business

Continue with How do I submit and approve employee expenses in Odoo? (guide coming later). Keep the disputed invoice review and the separate What can I do for bank reconciliation in Odoo? (guide coming later) open until their actual evidence and decisions resolve them.

Talk to an Odoo partner

Bring your current process and the result you need to Onward to plan your Odoo workflow. Talk to an Odoo partner.