When reconciling bank statement lines in a foreign currency,
it shows amounts in a company's currency while the symbol
is shown of foreign currency. Wrong currency appears on counterpart
lines and open balance line.
The wrong currency symbol only effects representation in the UI.
When reconciliation is validated, it sets company's currency on
account move lines.
There's no need to synchronize business models (payments and statement
lines) when the reconcile is done, as the only value written in
the journal item is `full_reconcile_id`.
This way, we speed up the reconciliation process through the widget.
If the journal destination account is reconcilable, as the journal entry
is pre-generated before reconciling, the line is appearing in the
reconciliation widget, provoking user confusion and error if that one
is selected.
We explicitly exclude in the matching domain for avoiding the problem.
TT42983
In case of multiple blue lines, the code was not working properly, as
the old temporary journal entry was being deleted several times.
This situation is handled in this commit.
When coming from previous versions of Odoo, you may have payments
directly done against the bank account. On the reconciliation widget,
they are represented as blue lines.
One possibility is to replace in all these pending entries the bank
account by the outstanding payment/receipt account, but this means to
modify past accounting that may be locked.
So this commit is restoring the ability to reconcile against these blue
lines, although this is a deprecated thing.
Things done:
- Repair the JS widget for informing correctly about the blue lines
to reconcile.
- When having such lines to reconcile, the temporary statement line is
removed, and the payment one is linked.
- When reverting reconciliation of the statement lines linked to
payments, the entry is not removed, just removed the link, and a new
entry is created for the statement line.
TT43018
before this commit. analytic tags are not correctly formatted when sent to
the server after reconciliation, that lead to an error being raised.
Steps to reproduce the problem:
- Create a reconciliation model of type "Manually create a write-off on clicked button".
- Show analytic on the configuration and show the optional column "Analytic tags".
- Put any analytic tag.
When using such reconciliation model on the reconciliation, the analytic tag
is not well formatted and you can't complete the reconciliation.
When decimal separator is a dot, it has a special meaning in the regex (any character) that cause problem
For instance in 123.40 the regex will match .4 and remove it.
And then the proposal will be base on the number 120 instead of 123.40
The other problem with the actual regex is that minus sign get removed
In the fix, we start by replacing the decimal_separator by a dot (before it was done after the cleaning) and the clean with a character class that is clearly specified (dot, minus, numbers)
Bug was already present in odoo13 EE and CE
Payments without payment_id related aren't showed in statement
reconciliation.
With this change, we show them as blue lines, the same as other coming
from Odoo core payments.
TT34508