| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 845 |
| Technical Name |
gb_supplier_payment_run_batch_proposal |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 845 |
| Technical Name |
gb_supplier_payment_run_batch_proposal |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Supplier Payment Run / Ba
Propose, approve and export supplier payment runs by due date and early-payment discount
Native batch payment in Odoo only groups payments you have already created; it never tells you which supplier bills are due, which still earn an early-payment discount, or how much cash a run will consume. So accounts-payable and treasury teams assemble the weekly payment run in a spreadsheet and re-key the result into the bank. This module replaces that spreadsheet: it proposes a run from open bills by due date and budget, prioritises settlement discounts, routes large runs through approval, generates grouped supplier payments and exports a BACS-style bank file, turning the payment run into a controlled, auditable process inside Odoo.
Key Features
Automatic payment-run proposal
action_propose on gb.payment.run searches open payable account.move.line items (posted, unreconciled, in_invoice/in_refund) up to the cutoff_date and builds proposal lines. A min_amount filter ignores tiny bills and a max_budget caps how much cash the run consumes, deselecting lines that exceed it.
Early-payment discount prioritisation
_compute_settlement_discount reads each bill's payment term discount_percentage and discount_days to compute the settlement discount and deadline. With prioritise_discounts on, lines still earning a discount are added first, and amount_net is the residual minus the discount actually achievable by the payment date.
Threshold-based approval workflow
gb.payment.run moves through draft, proposed, to_approve, approved, confirmed and exported states. action_submit_for_approval compares total_net against the company gb_payment_run_approval_threshold: large runs route to a second approver while smaller ones auto-approve, stamping approval_user_id and approval_date.
Grouped payment generation
action_confirm calls _create_payments to generate one outbound supplier account.payment per partner, summing the selected lines' amount_net and linking back via gb_payment_run_id. action_post_payments then posts the draft payments ready for reconciliation.
BACS-style bank file export
action_export_bank_file builds a fixed-width BACS Standard-18 style record set in _build_bacs_file with a VOL1 header, one record per selected line (sort code, account, amount in pence, reference) and an EOF1 trailer. The base64 file downloads for upload to your banking portal, no re-keying.
Cash distribution and due-aging checks
get_supplier_summary breaks the run down per supplier with bill count, gross, discount, net and share percentage. get_due_aging_buckets buckets selected net amounts into not-due, 0-30, 31-60, 61-90 and over-90 days so you can confirm a run is not paying bills far ahead of their due date.
Fast line selection helpers
action_select_all, action_deselect_all and action_select_discounts_only let you re-select the lines to pay in one click, the last paying only bills still earning a discount. Each line carries a skip_reason (such as Exceeds cash budget) and a has_discount flag for clear review.
Expiring-discount cron alert
cron_warn_expiring_discounts scans posted payable bills, recomputes their settlement discount and schedules a mail todo activity on any bill whose discount deadline falls within three days. The finance team is prompted to launch a run before the saving is lost.
Use Cases
Screenshots
Payment Runs
New Payment Run
Why Choose This Module
Native batch payment in Odoo is thin: it groups payments you have already created, but never tells you which supplier bills are due, which still earn an early-payment discount, or how much cash a run will consume. So finance teams assemble the weekly payment run in a spreadsheet and re-key the result into the bank. This module replaces that spreadsheet end to end.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: LGPL-3
- Languages: 35+
- Author: Baris Genc
- Dependencies: account
- Support: odoo@gencbaris.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module