OdooWiki OCA HUB

Purchase Deposit

purchase_deposit folder_open OCA/purchase-workflow open_in_new
Purchase Management License: AGPL-3

This module allow purchase order to register deposit similar to that in sales order

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets you register a deposit (down payment) on a confirmed purchase order and generate the corresponding draft vendor bill, either as a percentage or a fixed amount.

On a confirmed purchase order a new "Register Deposit" button appears next to Cancel. It opens a small form where you choose whether the deposit is a percentage of the untaxed order amount or a fixed amount, and you enter the value. The form also shows the expense account and vendor taxes taken from the deposit product, which you can adjust if no product is configured yet.

When you confirm, the module adds a deposit line to the purchase order and creates a draft vendor bill linked to that order, so you can review it before posting. Two buttons are offered: "Create Bill" and "Create and View bills".

Business rules enforced: - The deposit amount must be positive and a percentage cannot exceed 100. - The deposit product must be a service product with an invoice policy of "Ordered quantities", otherwise an error is raised. - If the company option "Limit Deposits to Order Total" is enabled, a deposit is refused when the deposits already invoiced plus the new one exceed the purchase order total. - If no deposit product is set, one named "Purchase Deposit" is created automatically and saved as the company default.

In Settings, under Purchase, a "Deposit Payments" section lets you pick the default deposit product and switch the order-total limit on or off.

When a bill containing a deposit line is posted, the deposit line on the purchase order is updated with the bill's taxes and price (converted to the order currency). Deposit lines are not copied when a purchase order is duplicated.

Depends on

purchase
Models and fields (6)
  • res.company · extends an existing modelpurchase_deposit_product_id, purchase_deposit_limit_order_total (Limit Deposits to Order Total)
  • account.move · extends an existing model
  • purchase.order · extends an existing model
  • purchase.order.line · extends an existing modelis_deposit (Is a deposit payment)
  • res.config.settings · extends an existing modelpurchase_deposit_product_id, purchase_deposit_limit_order_total
  • purchase.advance.payment.inv · new modelamount (Deposit Payment Amount), deposit_taxes_id (Vendor Taxes), deposit_account_id (Expense Account), advance_payment_method (What do you want to invoice?), purchase_deposit_product_id (Deposit Payment Product)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

After install this module, you need to select the product "Purchase Deposit" in configuration window to be used as default product when create deposit bill.

Go to Purchase \> Configuration \> Settings, then select product "Purchase Deposit"

Note: If this is not done, by using "Register Deposit" for the first time will also create product "Purchase Deposit" for you automatically.

The deposits registered on an order are not limited by its total amount. To refuse a deposit that would make them exceed it, enable "Limit Deposits to Order Total" in the same settings window.

When purchase order is confirmed, a new button "Register Deposit" will appear. Normally, deposit will be used to create the 1st bill (as deposit).

  • On confirmed purchase order, click Register Deposit button, wizard will open
  • 2 type of deposit bill can be create 1) Down Payment (percentage) 2) Deposit Payment (fixed amount)
  • Fill in the value and click Create bill or just create deposit.

As deposit is created, when user click button "Create Bill" again in purchase order, the Vendor Bill will be created with deposit amount deducted.

Watch this video for an example of usage.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.