Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] account_payment_order #1403

Draft
wants to merge 187 commits into
base: 18.0
Choose a base branch
from

Conversation

alexis-via
Copy link
Contributor

There is still work to do... but you can play with it.

alexis-via and others added 30 commits December 15, 2024 12:57
…the Sorrento Code sprint 2016

Improvements include:
- full re-organisation of modules and big re-organisation of the code
- simplification of the code related to the fact that support for direct debit is now in t
he base module, not added by an optional module account_direct_debit (module was removed)
- new design of the wizard to select move lines to pay
- support for non-SEPA file transfer-
- support for German direct debit SEPA files (fixes bug OCA#129)
- remove workflow of payment.order
- add wizard of selection of move lines to pay
* IMP: prevent deleting a move-line that is linked to a payment order line
* FIX: better filtering of move lines already included in open payment order
Take into account all the remaining remarks of Frederic Clementi dated May 30:
- see multi-currency amounts in the wizard to add transaction lines
- add help msg on bank payment lines
* IMP: extensibility of _prepare_move

  Pass the list of bank lines to _prepare_move so it is possible to customize the move (eg it's name) based on the lines being paid.

* FIX: payment order: add missing onchange dependencies in move selection wizard
* Fix crash when selecting a customer that has a direct debit payment mode but no mandate
* Hide many fields when payment_order_ok is False on a payment_mode
* Fix payment line communication when the move line is not linked to an invoice (problem found when porting donation_debit_debit to v9)
* For the communication field, if self.move_id.ref is False, fallback on self.move_id.name
Port almost all modules to v10

* Update to EPC Rulebook v9.2 that start to apply on 2016-11-20 (bug OCA#300)
* FIX: Bug OCA#353 crash when selecting a payment mode that has a variable link to a bank account
* FIX: Add 'post_move' option on account.payment.mode with default True, to keep the previous behavior
* IMP: Explicit error when bank account is missing on bank journal
* IMP: Add field default_date_prefered on payment mode.
…ent order + allow to cancel an uploaded payment order
* Restrict the deletion of bank payment line
* Add test_cancel_payment_order
context of payment orders, she should ocus on the amount that
is due to be paid. In this method we are forcing to display both
the amount due in company and in the invoice currency.

We then hide the fields debit and credit, because they add no value.
When adding to a payment order from invoices, the payment mode
considered is the one in the invoice, but once you have confirmed it,
you can't change it, so if you change the payment mode in the journal
items, it doesn't make the difference.

With this change, this is taken into account for adding to the
payment order(s) properly.
- when manually encoding a payment line, get company currency as default currency
- Search on payment order numbers
- Direct search on bank journal name in payment orders
- remove widget="selection" on account.payement.mode : this object is rarely modified, so widget='selection' is not a time saver, but we miss the HTML link, which can be pretty convenient to check the configuration.
oca-ci and others added 27 commits December 15, 2024 12:57
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: bank-payment-16.0/bank-payment-16.0-account_payment_order
Translate-URL: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_payment_order/
Currently translated at 60.8% (126 of 207 strings)

Translation: bank-payment-16.0/bank-payment-16.0-account_payment_order
Translate-URL: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_payment_order/sv/
Currently translated at 100.0% (207 of 207 strings)

Translation: bank-payment-16.0/bank-payment-16.0-account_payment_order
Translate-URL: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_payment_order/es/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: bank-payment-16.0/bank-payment-16.0-account_payment_order
Translate-URL: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_payment_order/
Currently translated at 100.0% (209 of 209 strings)

Translation: bank-payment-16.0/bank-payment-16.0-account_payment_order
Translate-URL: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_payment_order/es/
NEW FEATURES
- activate 'in_payment' payment_state on invoices... at last !
- payment order numbering: add ability to have a sequence specific to a particular payment mode (optional)
- add show account number policy "first_last" to show N first and N last characters of bank account number

SMALL IMPROVEMENTS
- account.payment.method: rename field "payment_order_only" to "payment_order_ok" for naming consistency with the field of account.payment.mode. Auto-set "payment_order_ok" of payment mode from the equivalent field of payment method. Migration scripts provided for account.payment.method and the data of SEPA credit transfer and SEPA direct debit.
- payment order attachment: add M2O payment_file_id that points to the payment file. No more need for a simplified attachment form view.
- keep the spaces in the scrambled bank account number, so that the user easily understands that it is a "scrambled" bank account number
- add field acc_number_scrambled on res.partner.bank for easy and direct use of scrambled account number

SIMPLIFICATION / CODE CLEANUP
- remove field partner_bank_id on account.move.line
- move code for scrambled account number from qweb report to res.partner.bank class
- remove boolean field show_bank_account_from_journal from account.payment.mode: we now consider that this option is always true i.e. when account_payment_partner is installed, Odoo takes the bank accounts to display on the customer invoice from the payment mode (if the payment mode is empty, it displays all the bank accounts of the company). As a consequence, hide partner_bank_id on customer invoice form view.
- remove fields inbound_payment_order_only and outbound_payment_order_only from account.journal : these 2 fields were not used!
- add check_company=True where it was missing and remove code of constraint that checks company consistency
- re-organise form view of payment order to equilibrate between left column and right column

TECHNICAL:
- replace @api.onchange by computed readonly=False store=True fields
- remove (or reduce) the use of demo data in tests
- speed-up tests by using tracking_disable=True
- Replace (6, 0, []) and (0, 0, {}) by Command.set() and Command.create()
- add sql unicity constraint on payment order number per company
Harmonize values for reference_type on account.move and communication_type on account.payment.line:
2 possible values : free and structured (migration script provided)
Simplify code for reference.
Only copy bank account from move line to payment line for payment
orders, not for debit orders.
When the user clicks on the button "Generate payment file" in the form
view of payment order, it gets a pop-up to save the file.
…nt.payment.order

This new field payment_method_code on account.move and
account.payment.order is available as invisible in tree+form view: it
allows to easily show/hide fields specific to a payment method in format-specific modules.
Remove field sepa_payment_method (replaced by generic field payment_method_code)
Update field definition of payment_mode_id on account.move: precompute=True and move domain from view to field definition
If we use a payment order with mandate required, mandate is placed
before bank account (more logic) and bank account becomes readonly: it
is set by the mandate.
…fault on payment modes for inbound payment methods with debit orders
@sbidoul
Copy link
Member

sbidoul commented Jan 29, 2025

@alexis-via do you think you could add the unmerged dependencies in test-requirements.txt so this can be tested on runboat? The syntax is explained here: https://github.com/OCA/maintainer-tools/wiki/Use-temporary-reference(s)-to-another-pull-request(s)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.