Skip to main content
Purchase Down Payment — A build-to-order Odoo module that adds supplier down-payment (advance) management directly onto purch — 1/1Illustrative preview

A build-to-order Odoo module that adds supplier down-payment (advance) management directly onto purchase orders,

with automatic reconciliation against the final vendor bill.

ECOSIRE designs, builds, installs, and supports it for your exact procurement workflow.

What is Purchase Down Payment?

A build-to-order Odoo module that adds supplier down-payment (advance) management directly onto purchase orders, with automatic reconciliation against the final vendor bill. ECOSIRE designs, builds, installs, and supports it for your exact procurement workflow. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

"Register Down Payment" action on the `purchase.order` form supporting both fixed-amount and percentage-of-total deposits
Advance posted as a proper `account.move` to a configurable down-payment / prepayment account and journal, not a loose manual entry
Stored relational link between each deposit and its originating PO for full traceability and drill-down
Computed `amount_down_payment`, `amount_residual_after_dp`, and prepaid-balance fields via `@api.depends` compute methods
Automatic insertion of the down payment as a negative line (or reconciliation) when the final vendor bill is created from the PO
Statusbar and tree-view indicators showing deposit state and net-payable at a glance across the purchase pipeline
`analytic_distribution` propagation so prepayments hit the correct analytic accounts / cost centers
QWeb report addendum printing deposit amount and net-payable on both the PO and the vendor bill
Configurable policy enforcement via automated/server actions (e.g. block receipt until a required deposit is registered)
Role-scoped access through `ir.model.access.csv` plus record rules for buyers, approvers, and accountants
Multi-company support keeping down-payment accounts, journals, and currency handling segregated per company
Multi-currency deposits with correct `fields.Monetary` currency resolution against the order currency
Full XML-RPC / JSON-RPC API coverage so external systems and bots can register and query deposits
Clean `__manifest__.py` addon dependent on `purchase` + `account`, versioned for Odoo 17.0 / 18.0 / 19.0

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Suppliers routinely demand a deposit before they start production or ship goods — a percentage advance on tooling, a prepayment on imports, a milestone up front on a long-lead contract. Odoo's native purchase flow assumes a linear Purchase Order → receipt → vendor bill sequence and offers no first-class concept of a purchase down payment. Teams end up recording advances as loose journal entries or standalone vendor bills that are never linked back to the originating purchase.order, so nobody can answer the basic questions at a glance: how much have we prepaid this supplier, which POs are covered, and what is still owed after the deposit is netted off. Odoo's sale side ships a down-payment mechanism out of the box; the purchase side does not, and that asymmetry is exactly where finance and procurement lose control of cash.

We build a purchase-side down-payment module that mirrors the ergonomics teams already know from the sales flow, adapted to procurement. On the purchase.order form we add a "Register Down Payment" action that lets a buyer raise a deposit as a fixed amount or a percentage of the order total. That action generates a proper advance account.move (vendor bill / prepayment) posted to a configurable down-payment account, tagged with an analytic_distribution where relevant, and linked back to the PO through a stored relational field so the deposit is always traceable to its order. Computed fields — implemented with models.Model, fields.Monetary, and @api.depends compute methods — surface amount_down_payment, amount_residual_after_dp, and a live prepaid-balance indicator on the order, statusbar, and list views. When the final vendor bill is created from the PO, the module inserts the previously invoiced down payment as a negative line (or reconciles it against the bill), so the amount actually due to the supplier is correct without manual arithmetic.

Technically the module ships as a clean, versioned addon: a declarative __manifest__.py depending on purchase and account, ORM models extending purchase.order and account.move, XML view inheritance (plus OWL where the interaction warrants it) to place the deposit widgets, a QWeb report addendum so the printed PO and the bill both show the deposit and net-payable, and optional automated actions / server actions to enforce your policy (for example, blocking receipt until a required deposit is registered). Access is governed properly through ir.model.access.csv and record rules so buyers, approvers, and accountants each see only what their role allows, and multi-company setups keep down-payment accounts and journals segregated per company. Every capability is reachable through the standard XML-RPC / JSON-RPC API, so an external portal, supplier system, or RPA bot can register or query deposits programmatically. It targets Odoo 17.0, 18.0, and 19.0 and works on both Community and Enterprise (the accounting depth available follows whichever edition you run).

Because this is a made-to-order build, nothing ships as an instant download. After a short scoping call we confirm the exact deposit rules, accounting treatment, approval chain, and report layout you need, then design, build, and test the module on a staging copy of your database before install. Typical delivery is one working week from confirmed scope, and you receive the full source, a git repository handover, and a post-go-live support window. Pricing starts from $999 (indicative, single-company base scope); multi-company ledgers, deeper localization or tax-authority requirements on the advance invoice, prepayment-to-bill reconciliation complexity, and any integration or data migration increase the quoted scope. You get a fixed quote after the scoping call — never a surprise.

What you get

  • Installable, version-pinned source code for your Odoo edition (17.0 / 18.0 / 19.0, Community or Enterprise)
  • Installation and configuration on your environment (down-payment accounts, journals, approval policy, report layout)
  • Technical documentation covering models, fields, security rules, and the XML-RPC / JSON-RPC endpoints
  • End-user guide plus a live training session for buyers, approvers, and accountants
  • UAT on a staging copy of your database with a documented rollback plan before production install
  • Post-go-live support window for defect fixes and configuration questions
  • Git repository handover with full commit history and tagged release
  • Odoo studio-free, upgrade-friendly addon structure so future core upgrades are low-risk

Who this is for

Procurement / Purchasing Manager

Runs supplier orders that require deposits before production or shipment and needs the advance visible on the PO itself, not buried in accounting, so buyers and approvers see prepaid vs. outstanding at a glance.

Finance Controller / Accountant

Owns the vendor ledger and needs advances posted to the right prepayment account, correctly netted against the final bill, and auditable per company — no more orphaned deposit entries or manual net-payable math.

CFO / Cash-Flow Owner

Wants an accurate picture of committed cash tied up in supplier prepayments across all POs and companies, and reporting that reconciles deposits to the orders they cover.

Odoo Administrator / ERP Lead

Maintains the Odoo instance and needs a clean, upgrade-safe addon with proper access rules and API coverage that survives the 17→18→19 upgrade path and integrates with existing procurement automation.

How Purchase Down Payment Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Down payment on purchase ordersFirst-class deposit action built onto the PO for your exact rulesPossible but you specify and maintain every detailGeneric deposit fields, rarely matching your policyNo purchase-side down-payment concept at all
Bill reconciliationDeposit auto-netted or reconciled against the final vendor billWhatever your developer implements and testsOften manual or partial nettingManual journal work, no PO link
PO ↔ deposit traceabilityStored relational link, drill-down from order to advanceDepends on data model you commissionVaries; sometimes unlinkedOrphaned entries, no traceability
Fit to your workflowScoped to your approvals, accounts, and reportsFully bespoke but slow and costly to buildFixed feature set, take it or leave itNone
Multi-company & multi-currencySegregated accounts/journals per company, currency-awareOnly if explicitly built and testedInconsistent multi-company handlingNot applicable — feature absent
Delivery & costone working week, fixed quote from ~$999 indicativeLonger and typically higher day-rate costInstant download but generic and self-supportedFree but requires manual workarounds
Support & ownershipSupport window + git handover, you own the sourceDepends on the contractor relationshipForum/ticket support, no bespoke changesCommunity support only
Upgrade safety (17/18/19)Clean addon, version-pinned, upgrade-friendlyQuality varies by developerMay lag new Odoo releasesCore, but no feature to upgrade

Frequently Asked Questions about Purchase Down Payment

How long does delivery take?

This is a build-to-order module, so it is not an instant download. After a scoping call to confirm your deposit rules, accounting treatment, and approvals, typical delivery is one working week from confirmed scope. We build and test on a staging copy of your database, then install to production with a rollback plan.

How does pricing and scoping work?

Pricing starts from $999 as an indicative from-price for a single-company base scope. Drivers such as multi-company ledgers, localization/tax requirements on the advance invoice, prepayment-to-bill reconciliation complexity, and any integration or data migration change the effort. You receive a fixed quote after the scoping call — never a surprise charge.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration questions, plus a git repository handover so you own the code. We version the addon per Odoo release (17.0 / 18.0 / 19.0); upgrades to a new major Odoo version are quoted separately as a maintenance engagement.

Does it work on Odoo Community or only Enterprise?

It works on both. The module depends only on the standard `purchase` and `account` modules. The depth of accounting features available (for example, some analytic or reporting capabilities) follows whichever edition you run, and we confirm that against your setup during scoping.

Will it survive Odoo core upgrades?

Yes — we build a clean, Studio-free addon using standard ORM inheritance, `ir.model.access.csv`, record rules, and XML/OWL view inheritance rather than fragile customizations. That keeps it upgrade-friendly across the 17→18→19 path, and we hand over the source and git history so any Odoo partner can maintain it.

Can the deposit be created and queried from outside Odoo?

Yes. All functionality is reachable through Odoo's XML-RPC / JSON-RPC API, so a supplier portal, an external procurement system, or an automation bot can register a down payment on a PO and read back the prepaid balance and net-payable programmatically.

How is the deposit reconciled against the final supplier bill?

When the final vendor bill is generated from the PO, the module inserts the previously invoiced down payment as a negative line (or reconciles the advance against the bill), so the amount actually due to the supplier is automatically correct. Both the PO and the bill print the deposit and net-payable via the QWeb report addendum.

Request a quote

Purchase Down Payment

A build-to-order Odoo module that adds supplier down-payment (advance) management directly onto purchase orders, with automatic reconciliation against the final vendor bill. ECOSIRE designs, builds, installs, and supports it for your exact procurement workflow.

  • "Register Down Payment" action on the `purchase.order` form supporting both fixed-amount and percentage-of-total deposits
  • Advance posted as a proper `account.move` to a configurable down-payment / prepayment account and journal, not a loose manual entry
  • Stored relational link between each deposit and its originating PO for full traceability and drill-down
  • Computed `amount_down_payment`, `amount_residual_after_dp`, and prepaid-balance fields via `@api.depends` compute methods

Request a Quotation

Tell us about your Purchase Down Payment requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.