account_loan
Extends Odoo Accounting to manage bank loans and leases by scheduling payments, generating the corresponding moves or invoices, and tracking outstanding principal and interest.
Key Features
- account.loan: Configures loans or leases with lender, company, journals, accounts, schedules, rate types (APR/EAR/real), and supports multiple amortization methods including annuity, annuity-begin, fixed principal, and interest-only.
- account.loan: Automatically builds amortization lines with payment dates, recomputes them when rates change, enforces start-date sequencing, and closes the loan once the final line posts.
- account.loan: Splits balances between short-term and long-term loan accounts, handles residual values, switches journals when the loan is a lease, and offers actions to open all related moves or invoices.
- account.loan: Aggregates paid principal, paid interest, and pending principal across processed lines to give real-time debt tracking totals.
- account.loan.line: Computes each installment’s payment, principal, interest, and residual values with numpy-financial formulas while preserving ordered sequences and long-term amounts.
- account.loan.line: Generates the appropriate account moves for loans or purchase invoices plus long-term reclassification moves for leases, and blocks recalculation once accounting entries exist.
- account.move: Associates journal entries with their loan lines, updates actual paid amounts when posting, and automatically marks the loan as closed when the last installment posts.
- res.partner: Adds lender-focused smart buttons that count and list every loan financed by that partner for quick exposure analysis.
- account.loan.post: Validates that installment principals sum to the configured loan amount and creates the initial journal entry using the selected journal and partner account before posting the loan.
- account.loan.generate.wizard: Mass-generates pending loan moves or lease invoices up to a given date and returns window actions filtered to the newly created entries.
- account.loan.pay.amount: Records early repayments or full cancellations with optional bank fees, inserts the repayment line, recalculates future installments, and can cancel the loan when the debt is cleared.
- account.loan.increase.amount: Increases outstanding principal mid-schedule by inserting a negative installment, recomputing the remaining plan, and posting the corresponding journal entry with the chosen journal and account.