Result of a sprint with Akexis de Lattre in a corridor at Fosdem 2014.
In a nutshell, this MP moves the hooks that are necessary for account_direct_debit from account_banking_payment to account_banking_payment_export, resulting in a leaner dependency graph [1].
account_banking_payment (and thus account_banking core) is therefore not necessary anymore for doing direct debit.
account_banking_payment can now be seen as providing two essential functions:
1/ adding the notion of transfer account on payment modes (marking the invoices paid as soon as the payment order is sent)
2/ bridging with the bank statement reconciliation features of account_banking core
IMO, the next step in the refactoring process would be to move 1/ to a stand-alone module.
Other things in this branch:
- removing auto_install=True that we found unnecessary and potentially risky
- demo data by Alexis
- a trivial bug fix
- setting noupdate=1 for the SEPA payment mode types
- allow payment of customer refunds lp:1275478
In a nutshell, this commit
- moves payment_order_type (payment|debit) to account_banking_payment_export
- makes payment_order_type visible in account_direct_debit
- make direct_debit depend on account_banking_payment_export
functionality between the deprecated module and base_iban
[IMP] Disregard spaces when comparing IBAN, as we can now no longer
assume that IBANs are in the legacy account_banking formatting
the work I carried out with Luc de Meyer (Noviat) during a code sprint on November 21st to get the additionnal features that were present in Luc's module account_pain for SEPA credit transfer (including the "Initiating Party Issuer", which is required by a few countries including Belgium and structured remittance info)
the module account_banking_pain_base : this module allows to share as much code as possible between the module for credit transfers and the module for direct debits