Purchase Auto Bill on Receipt
This module automatically creates and posts a Vendor Bill when a purchase receipt is validated. It also creates and posts a Credit Note when a purchase return is validated, provided the return lines are marked as Update quantities on SO/PO in the return wizard.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Automatically creates and posts Vendor Bills when purchase receipts are validated, and Credit Notes for purchase returns. You can turn this on or off per company, per vendor, or per purchase order.
This module saves you from manually creating vendor bills after receiving goods. When a purchase receipt is validated, Odoo can automatically create and post the corresponding Vendor Bill, and when a purchase return is validated it can create and post a Credit Note.
Where it appears: - In Purchase settings, an "Auto Bill on Purchase Receipt" option turns the behaviour on for the whole company. - On a vendor record, you can choose "Auto Bill" or "No Auto Bill" to override the company default; leaving it empty inherits the company setting. - On a purchase order form, a "Block Auto Bill" toggle suppresses automatic billing for that specific order.
How it works: - Only order lines set to be invoiced on received quantities are considered, and only the received quantity is billed. - Validated receipts and returns are queued, and a scheduled action named "Purchase: Auto Bill on Receipt" runs daily to create and post the documents. - If creating or posting fails, a message is logged on the purchase order and a to-do activity is assigned to the buyer so it can be reviewed manually.
It touches purchase.order, stock.picking, res.company, res.partner and res.config.settings.
Depends on
Models and fields (5)
- res.company · extends an existing modelauto_bill_on_receipt (Auto Bill on Purchase Receipt)
- res.partner · extends an existing modelauto_bill_on_receipt (Auto Bill on Purchase Receipt)
- stock.picking · extends an existing modelauto_bill_pending
- purchase.order · extends an existing modelblock_auto_bill
- res.config.settings · extends an existing modelauto_bill_on_receipt
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-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/purchase-workflow.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0Whether a Purchase Order is auto-billed when its receipt is validated is resolved from two configuration levels, plus a per-order kill switch:
- Company → Settings > Purchase > Invoicing > Auto Bill on Receipt (boolean). Sets the default for all vendors.
- Vendor → Auto Bill on Receipt (selection: Auto / No Auto / empty), on the vendor form. Leave empty to inherit from the company. Auto or No Auto overrides the company default for this vendor.
- Purchase Order → Block Auto Bill (boolean, on the Other Information tab). When ticked, suppresses auto-billing for this order regardless of the company or vendor settings.
The bill date uses the timezone set on the company's contact. To set it, install the partner_tz module and configure the timezone on the company's contact.
Usage
Source · Odoo 19.0Once auto-billing is configured, validate a purchase receipt as usual. A Vendor Bill is automatically created and posted shortly after via the scheduled action. The bill only includes PO lines whose product bill control policy is On received quantities and that have a positive quantity to invoice.
Returns / Credit Notes: When a return is validated and its return lines have Update quantities on SO/PO enabled in the return wizard, a Credit Note is automatically created and posted for the returned quantities. The credit note is only created when a Vendor Bill has already been posted (i.e. the PO line has a negative Quantity to Invoice).
The bill/credit note date is the receipt/return validation date converted to the company's timezone (falls back to UTC when no timezone is set).
If creation or posting fails, the error is logged in the Purchase Order chatter and a To-Do activity is scheduled for follow-up.
Case 1 — Cancelling an auto-bill: An auto-posted bill can be cancelled like any other Vendor Bill. However, the module will not automatically create a new bill for the same receipt.
Case 2 — Reprocessing an auto-bill: This is not supported. Once the scheduled action processes a receipt or return, it will not be picked up again. To bill or refund the same quantities, create the document manually from the Purchase Order.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.