$ 44.38
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Accounting (accountant) • Discuss (mail) |
| Lines of code | 331 |
| Technical Name |
customer_payment_fifo_reconcile |
| License | LGPL-3 |
| Website | https://dabboostech.com/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Accounting (accountant) • Discuss (mail) |
| Lines of code | 331 |
| Technical Name |
customer_payment_fifo_reconcile |
| License | LGPL-3 |
| Website | https://dabboostech.com/ |
✅ Odoo 18 Addon · Accounting · Automation
FIFO Customer Payment Reconciliation
for Odoo 18
Automatically apply customer payments/credits to the oldest open invoices (FIFO) using Odoo’s standard reconciliation path (same logic as the Outstanding Credits “Add” button). Works with both Odoo 18 Community & Enterprise.
FIFO allocation
Multi-company safe
No SQL
Cron + Automation Rules
Settings toggles
Unreconcile friendly
Designed for
Odoo 18
Target users
Accounting teams
Value
Less manual matching
Key idea: instead of reconciling move lines manually, the addon calls
invoice.js_assign_outstanding_line(line_id)
so invoice status, widgets, and unreconcile behave like standard Odoo.
Author: Eng : Ahmed Essam
Business Use Cases
- Customers pay in advance (deposit) and invoices are created later.
- Recurring payments that must be allocated FIFO to invoices.
- High volume of payments/invoices where manual matching is time-consuming.
- Ensure consistent accounting behavior identical to Odoo UI reconciliation.
Compatibility
- Odoo 18 only (Community / Enterprise).
- Requires standard Accounting app.
- Uses Automation Rules (base_automation) when enabled.
- Multi-company & access rules respected via Odoo ORM.
Note: This addon does not change accounting principles. It only automates the same
reconciliation steps you already perform manually (Outstanding credits → Add), but in FIFO order.
Features
- FIFO allocation: oldest open invoices are reconciled first.
- Exact Odoo behavior: uses Odoo’s outstanding credits assignment logic to avoid widget duplicates and keep unreconcile clean.
- Automated Actions:
- Auto-apply posted customer payments to oldest invoices.
- Optionally apply existing outstanding credits when an invoice is posted.
- Cron job: optional safety net to reconcile old payments/invoices periodically.
- Settings toggles: enable/disable each service (Payments Automation / Invoices Automation / Cron) from Settings.
- Multi-company support: reconciliation runs within the correct company context.
- Performance-aware: batch processing options for cron; avoids N+1 patterns where possible.
How It Works
1) Payments FIFO Allocation
- When a payment is posted, the addon finds the payment’s open receivable credit lines.
- It searches the customer’s oldest open invoices (FIFO order).
- It applies credits using Odoo’s standard method (same as the UI).
2) Invoice Auto-Apply (Optional)
- When an invoice is posted, the addon reads the invoice’s Outstanding Credits widget.
- It applies the eligible outstanding credits FIFO (by date then line id).
Example (core reconciliation path):
invoice.js_assign_outstanding_line(line_id)
invoice.js_assign_outstanding_line(line_id)
Using this method ensures invoice payment status, residual amounts, widget display, and unreconcile behave like standard Odoo.
Configuration
Installation
- Copy the addon folder into your Odoo 18 addons path.
- Restart Odoo service.
- Apps → Update Apps List → Install the addon.
Enable/Disable Services
- Go to: Settings → Accounting (or the addon’s configuration section).
- Toggle:
- Payments Automated Action
- Invoices Automated Action
- Cron Job
Tip: If you prefer full manual control, disable Automations and keep only the Cron job, or disable everything and trigger the server action manually.
Security & Access
- No changes to standard accounting permissions.
- Automation toggles are intended for administrators/accounting managers.
- Reconciliation respects:
- Multi-company boundaries
- Partner commercial entity logic
- Standard access rights and record rules
Reporting Impact
- Correctly reconciled receivables update invoice Payment Status and Residual amounts.
- General Ledger, Partner Ledger, and Aged Receivables reports reflect the automated reconciliations exactly like manual reconciliation in Odoo.
Screenshots (Add Your Own)
Odoo Apps listing usually performs better with 3–6 screenshots:
- Invoice form with Outstanding Credits widget
- Payment journal entry / receivable line
- Settings toggles (enable/disable services)
- Automation Rules / Cron (optional)
Replace this section with
<img> tags pointing to your hosted images (or the Odoo Apps image uploader).
وصف سريع بالعربي
الإضافة دي بتعمل FIFO Reconciliation تلقائي لمدفوعات العملاء والـ Credits على أقدم الفواتير المفتوحة، وبنفس سلوك أودو القياسي (زرار Add في Outstanding credits).
- توزيع المدفوعات على الفواتير FIFO
- بدون SQL — Odoo ORM فقط
- Multi-company
- إمكانية تشغيل/إيقاف الـ Automations والـ Cron من Settings
- يحافظ على Unreconcile مثل أودو
Support
- Compatible with Odoo 18 only.
- For support, include: Odoo version, database logs, invoice/payment IDs, and steps to reproduce.
- Custom adjustments available on request (rules, ordering, batching, specific partner logic).
Please log in to comment on this module