Add button "Add to payment/debit order" on invoice form view
Started to integrate payment transfer in account_payment_order (not finished at all though)
Various fixes/changes/improvements/...
When invoicing from dropshipping, the same picking serves for both
invoicing sale and purchase orders. The OCA module
stock_dropshipping_dual_invoice makes that this happens, but
as the picking is the same, it contains both the sale and the
purchase reference, making that the resulting invoices don't have
the correct payment mode. This is harmless for the rest of
operations, as the dictionary query is provided with the proper
default value. On v9, dropshipping dual invoice has been merged
into core, so this patch for sure will be welcome in that version
(if the used method is the same).
In order to get visibility on https://www.odoo.com/apps the OCA board has
decided to add the OCA as author of all the addons maintained as part of the
association.
The computation of partner_bank_id has not been migrated properly
since the move from account.invoice to account.move.
Before, we had an onchange on partner_id that did the following:
- If no partner or no company, remove payment mode
- If type = in_invoice, remove partner_bank_id as well
- If partner and company,
- If type = in_invoice, set payment mode from partner
- if payment mode's payment method has bank account required,
set the partner_bank_id to the commercial partner's bank
- else set partner_bank_id to False
- If type = out_invoice, set payment mode from partner and
do not assign partner_bank_id
We also had an onchange on payment_mode_id that did the following:
- If payment mode and its payment_type=outbound and its payment method
has bank account required, set partner_bank_id to False
- If no payment mode, set partner_bank_id to False
Now that partner_bank_id is a computed field, we shouldn't set its value
to False if the move is not a vendor bill or doesn't have a payment mode.
The computation of partner_bank_id must instead reflect the conditions we
used to have, that is:
- If we don't have a payment_mode, set value to False
- If we have a payment mode
- If type=in_invoice and payment mode's payment method has not bank
account required, set partner_bank_id to False (as setting the bank account
from the partner is done in the call to super)
- If type=out_invoice
- if payment mode's payment method has bank account required
- set partner_bank_id to the bank account linked to the fixed journal
of payment mode if defined
- do not set anything if that isn't the case since setting the bank account
from the company is done in the call to super)
- if payment mode's payment method does not have bank account required,
set partner_bank_id to False
Closes: #1091