Account Payment Register - Keep Draft
This module introduces a feature that allows payments to be configured to either remain in a Draft state or follow the standard process and be marked as Paid immediately upon registration.
By enabling the draft state option, this module ensures that payments can undergo an approval or recheck process before being finalized. This adds an additional layer of control and accuracy to the payment workflow.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you choose, per company, whether payments created with the Register Payment wizard stay in Draft or are posted immediately, for both customer and vendor payments.
This module adds two settings to the Accounting configuration so you can decide what happens when someone registers a payment on an invoice.
- In Settings, under the customer payment options, you get "Register Customer Payment to State" with the choices Draft or Posted.
- Under the vendor payment options, you get "Register Vendor Payment to State" with the same two choices.
- Both default to Posted, so nothing changes unless you switch them.
When a user registers a payment, the module checks the company setting that matches the payment direction (incoming customer payment or outgoing vendor payment). If the setting is Draft, the newly created payment is forced back to Draft state, even if the standard process would have posted it. This lets you review or approve payments before they are finalised.
It also adds a small automatic step when a payment is posted: if the payment is linked to posted invoices that are not yet fully paid, the module tries to reconcile the receivable or payable lines between the invoices and the payment entry, so the invoices can be marked as paid.
The module touches the payment register wizard, the payment itself, the company settings and the Accounting settings screen. It does not add new menus or reports.
Depends on
Models and fields (4)
- res.company · extends an existing modelregister_vendor_payment_state (Register Vendor Payment to State), register_customer_payment_state (Register Customer Payment to State)
- account.payment · extends an existing model
- res.config.settings · extends an existing modelregister_vendor_payment_state (Register Vendor Payment to State), register_customer_payment_state (Register Customer Payment to State)
- account.payment.register · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 18.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 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/account-invoicing.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0This module allows you to configure the state of payments for two payment types: Vendor Payment and Customer Payment.
- Go to Invoicing \> Configuration \> Settings \> Customer Payment or Vendor Payment
- By default, the field Register Payment to State is set to Posted (standard behavior). You can change it to Draft to enable additional approval or recheck processes before marking the payment as finalized.
- Click Save to apply the changes.
Usage
Source · Odoo 18.0To use this module, follow these steps:
- Configure the payment settings as needed (e.g., set payments to start in the Draft state).
- After configuration, you can register a payment. The payment will initially be set to the Draft state.
- The reconcile move line will be keep in the to_auto_reconcile field.
- Once the payment is confirmed, the to_auto_reconcile field will be cleared, and the payment will proceed to the finalized state.
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.