Passer au contenu principal
Les détails du produit sont affichés en anglais. Traductions à venir.
Account Partial Payment Reconcile — A build-to-order Odoo module that reconciles partial payments across customer invoices, v — 1/1Aperçu illustratif

A build-to-order Odoo module that reconciles partial payments across customer invoices,

vendor bills, and refunds with clean residual tracking and audit-ready allocation.

ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 database.

Qu'est-ce que Account Partial Payment Reconcile ?

A build-to-order Odoo module that reconciles partial payments across customer invoices, vendor bills, and refunds with clean residual tracking and audit-ready allocation. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Fonctionnalités clés

Allocate a single receipt or payment across multiple open invoices, bills, and refunds in one posted operation, each writing a discrete account.partial.reconcile record
Computed residual fields via @api.depends on amount_residual and amount_residual_currency so the working view always reflects the live ledger, never a cached snapshot
Refund/credit-note offsetting that can settle several part-paid documents at once instead of the one-to-one core wizard
Multi-currency reconciliation using Odoo's residual-currency mechanics, with exchange gain/loss auto-posted to configured accounts
Proportional and manual split modes — distribute a payment by percentage, by oldest-first, or by explicit per-document amounts
Controlled write-off of small residuals to a configurable difference account, with a reason code captured on the entry
Guardrails preventing over-allocation beyond a document's outstanding residual, validated server-side before posting
QWeb reconciliation statement per allocation, printable or auto-attached to the journal entry for audit trails
Optional ir.cron scan flagging documents whose residual has aged past a configurable threshold, feeding an activity or dashboard
Role-based access through ir.model.access.csv plus record rules so only accounting roles can post or reverse allocations
One-click un-reconcile that cleanly reverses the partial links and restores prior residuals without orphaned entries
XML-RPC/JSON-RPC endpoints so bank payment files or upstream systems can drive allocations programmatically
Partner-level open-items cockpit (OWL/XML) showing all reconcilable documents and running residuals in a single filterable list
Compatible packaging for Odoo 17.0, 18.0, and 19.0, with Community/Enterprise variants matched to your edition's reconciliation tooling

Fait sur commande, clé en main

Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.

  1. 1

    Vous commandez

    Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.

  2. 2

    Nous développons et installons

    ECOSIRE la développe, la configure et l'installe sur votre Odoo.

  3. 3

    Mise en ligne + assistance

    Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.

Spécifications techniques

Compatibilité Odoo
Odoo 17, Odoo 18, Odoo 19
Éditions
Enterprise et Community
Licence
Licence à confirmer
Version Python requise
Python 3.10+
Base de données
PostgreSQL 12+

À propos de ce produit

Every finance team running Odoo eventually hits the same wall: a customer sends 60% of an invoice, then another payment three weeks later, then a credit note swallows the tail — and the residual, the register outstanding amount, and the partner ledger stop agreeing with each other. Odoo core does support partial reconciliation through account.partial.reconcile and the "Register Payment" wizard, but the out-of-the-box flow is one payment against one move at a time, with no bulk view of what is still open, no guided way to split a single receipt across several invoices in defined proportions, and no first-class handling of a refund that must offset multiple part-paid documents. Accountants end up reconciling line by line in the journal items, second-guessing which amount_residual is authoritative, and re-opening entries at month-end.

We build a dedicated Odoo module that turns partial-payment reconciliation into a controlled, reviewable operation. At its core is a reconciliation engine layered on Odoo's own account.move.line residual mechanics — we never bypass the ledger, we drive it. New models (models.Model with computed @api.depends fields on amount_residual, amount_residual_currency, and reconciliation state) expose a single working surface where a receipt or payment can be allocated across many open invoices, bills, and refunds at once. Each allocation writes proper account.partial.reconcile records so the general ledger, the aged partner balance, and the payment matching all stay consistent. Foreign-currency documents are handled through Odoo's multi-currency residual fields, and any exchange difference is posted to the configured gain/loss accounts rather than left dangling.

Technically, the module ships as a clean addon with its own __manifest__.py declaring dependencies on account (and account_accountant where Enterprise features are in scope), OWL/XML views for the allocation cockpit, a QWeb reconciliation statement you can print or attach to the entry, and optional automated actions (or scheduled ir.cron jobs) that surface documents drifting past a residual threshold. Access is governed by ir.model.access.csv plus record rules so only accounting roles can post allocations, and the whole flow is scriptable through Odoo's XML-RPC/JSON-RPC API for teams that push payment files from a bank or a parallel system. We target Odoo 17.0, 18.0, and 19.0, and we tailor to Community or Enterprise depending on which reconciliation widgets and bank-statement tooling your edition provides.

Because this is build-to-order, nothing is pre-listed on the Odoo App Store — we build your version to your chart of accounts, journals, and reconciliation rules. Engagement starts with a short scoping call to confirm data model, edge cases (write-offs, over-payments, multi-currency, inter-company), and acceptance criteria; we then develop on a staging copy of your database, run UAT with your team, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company consolidation, additional currencies, bank-file import integrations, and larger historical data-migration volumes increase the quoted scope.

Ce que vous obtenez

  • Installable, version-pinned Odoo addon source for your target version (17.0, 18.0, or 19.0), built to your chart of accounts and journals
  • Installation and configuration on your staging then production database, including access-group and record-rule setup
  • Technical documentation: data model, computed fields, security matrix, and XML-RPC/JSON-RPC allocation examples
  • End-user guide plus a live training session for your accounting team on the allocation cockpit and write-off flow
  • UAT on a staging copy of your database with agreed acceptance criteria, plus a documented rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments after deployment
  • Git repository handover with full commit history and tagged release for your target Odoo version
  • Reconciliation QWeb report template and any configured ir.cron threshold-scan actions, ready to enable

Pour qui c'est

Accounts Receivable & Payable Lead

Owns the aged balances and needs one place to spread instalment receipts across invoices and offset refunds against part-paid bills, without hand-editing journal items or reopening entries at month-end.

Financial Controller / Chief Accountant

Wants reconciliation that never bypasses the ledger, keeps the partner ledger and register outstanding in agreement, and produces an auditable statement for every partial allocation and write-off.

Odoo Administrator / IT Finance Systems Owner

Responsible for a clean, upgrade-safe addon on Odoo 17/18/19, correct ir.model.access.csv and record rules, and an XML-RPC/JSON-RPC path so bank payment files can post allocations automatically.

Multi-entity Finance Manager

Runs several companies or currencies in one Odoo database and needs consistent partial-payment handling with proper exchange-difference posting across the group.

Comment Account Partial Payment Reconcile se compare

CritèreÉCOSIREConstruction personnaliséeConcurrentNatif Odoo
Multi-document allocationOne receipt split across many invoices, bills, and refunds in a single posted operationPossible but you build and maintain the split logic yourselfUsually still one-payment-to-one-document, or a rigid batch matchRegister Payment handles one move at a time
Refund offsettingCredit notes settle several part-paid documents at onceDepends entirely on what your developer implementsOften limited to single-document matchingManual, per-document reconciliation in journal items
Multi-currency residualsUses Odoo residual-currency fields; exchange gain/loss auto-postedMust be built and tested for every currency edge caseVaries; often partial or edition-limitedSupported but manual and one-at-a-time
Ledger integrityDrives account.partial.reconcile; ledger and aged balances stay in syncCorrect only if built carefully against core mechanicsGenerally safe but you can't see the internalsFully correct — it is the source of truth
Fit to your setupBuilt to your chart of accounts, journals, and reconciliation rulesFully bespoke, at full bespoke cost and lead timeGeneric; you adapt your process to the moduleGeneric core behaviour only
Audit trailQWeb reconciliation statement per allocation, plus write-off reason codesOnly if you scope and build reportingReporting depth varies by vendorStandard journal entries; no dedicated allocation statement
Support & handoverPost-go-live support window plus git repo with tagged releasesWhatever your contract with the developer coversVendor support tiers; source often obfuscatedCovered by your Odoo/partner support only
Version coverageBuilt and tested for Odoo 17.0, 18.0, or 19.0, Community or EnterpriseYou own compatibility across upgradesDepends on vendor's release cadenceShips with the version you run

Foire aux questions sur Account Partial Payment Reconcile

Is this an app I can download and install right now?

No. Account Partial Payment Reconcile is build-to-order. ECOSIRE scopes, builds, installs, and supports a version tailored to your Odoo database — it is not an existing off-the-shelf download. You receive installable source code for your specific version at handover.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call we agree acceptance criteria, build on a staging copy of your database, run UAT with your team, and deploy with a rollback plan. Larger data migrations, multi-company, or extra integrations can extend the timeline, which we state in your quote.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). We hold a short scoping call to confirm your data model, edge cases, and integrations, then issue a fixed written quote before any build begins. Drivers like multi-company consolidation, additional currencies, bank-file imports, and historical data volume increase the quoted scope.

What support and updates are included?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. We hand over a git repository with tagged releases so your team or ours can maintain it. Ongoing maintenance, feature additions, and version upgrades (for example moving from Odoo 18 to 19) can be arranged as a separate support agreement.

Does it work on Odoo Community or only Enterprise?

Both. We target Odoo 17.0, 18.0, and 19.0 and match the build to your edition. The core reconciliation engine runs on Community; where your Enterprise edition offers additional reconciliation widgets or bank-statement tooling, we integrate with them. We confirm the exact edition and version during scoping.

Will it interfere with Odoo's standard accounting and reconciliation?

No. The module drives Odoo's own residual mechanics and writes proper account.partial.reconcile records rather than bypassing the ledger. The general ledger, aged partner balances, and payment matching stay consistent, and every allocation and write-off is posted through standard accounting entries.

Can external systems or bank files post allocations automatically?

Yes. The module exposes its allocation logic through Odoo's XML-RPC/JSON-RPC API with server-side validation, so a bank payment file or an upstream system can create partial reconciliations programmatically while still respecting your access rules and over-allocation guardrails.

Demander un devis

Account Partial Payment Reconcile

A build-to-order Odoo module that reconciles partial payments across customer invoices, vendor bills, and refunds with clean residual tracking and audit-ready allocation. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 database.

  • Allocate a single receipt or payment across multiple open invoices, bills, and refunds in one posted operation, each writing a discrete account.partial.reconcile record
  • Computed residual fields via @api.depends on amount_residual and amount_residual_currency so the working view always reflects the live ledger, never a cached snapshot
  • Refund/credit-note offsetting that can settle several part-paid documents at once instead of the one-to-one core wizard
  • Multi-currency reconciliation using Odoo's residual-currency mechanics, with exchange gain/loss auto-posted to configured accounts

Demander un devis

Décrivez vos besoins pour Account Partial Payment Reconcile et nous vous enverrons les tarifs, les options de licence et une proposition sur mesure, généralement sous un jour ouvré.

Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.