In case there is a large amount of data to display, the 'Manual
Reconciliation' widget suffers from high CPU consumption, and therefore
slowness.
This is mainly due to the line rendering (function `_renderLines`).
Indeed, unlike the 'Bank Statement Reconciliation' widget which
retrieves the data partially, the 'Manual Reconciliation' widget
retrieves and renders all the data. No offset is implemented in this
case, neither for data retrieval nor rendering.
With this commit, we implement a partial rendering of the data
retrieved. This means that all data are fetched when loading the widget,
but only a part of it is rendered. We make use of the existing 'Load
More' mechanism to display more data. By default, 30 accounts or
partners are loaded.
By combining this with PR #28958, we aim to make the widget more usable
for large data volumes.
opw-1903575
closesodoo/odoo#28959
The `context.company_ids` variable seems mostly empty in the case of the
Manual Reconciliation widget. Therefore, we fetch the current company of
the user in the session.
Complement of e5c8071484Fixes#28270
opw-1904475
closesodoo/odoo#28541
When loading the Reconciliation Widget, all reconciliation models are
retrieved. This is not correct: only the one matching the company and
the journal should be retrieved.
Fixes#28270
opw-1904475
closesodoo/odoo#28474
- From the accounting dashboard, click on the 'Reconcile' button of a
bank journal
- Click on the 'Bank reconciliation' text at the top left
- Click on the 'OK' button that just appears
A traceback occurs.
This event is used to change the name of the statement, when clicking on
'Reconcile' from a bank statemet. In this case, it shouldn't do
anything.
opw-1883308
closesodoo/odoo#27359
- Set up a 10 % tax with a 'Tax Due' as 'Based on Payment'
- Create a bank statement of 110, Reconcile
- Create a new AML for the reconciliation using the mentioned tax for an
amount of 100
- Validate
The tax amount does not appear in the Generic Tax Report.
This is a specific case where the reconciliation process creates the
payment itself. Therefore, the tax amount should appear in the report.
To do so, we explicitly send the `tax_exigible` value on the AML, and
propagate it to the tax line.
opw-1858492
In the Manual Reconciliation widget:
- Link 2 entries that do not balance
- Create the write-off line with a tax
When reconciling, the following error occurs:
"It is mandatory to specify an account and a journal to create a
write-off."
Two new lines are sent to the server: the write-off, and the tax of the
write-off. The latter causes the issue, since it doesn't contain the
field `journal_id`.
Actually, the tax of the write-off is not necessary since the taxes will
be recomputed automatically thanks to the context key `apply_taxes`.
opw-1875822
Steps to reproduce:
- activate the multi-currency option in the Accounting App
- activate the EUR currency (USD being the base currency)
- create a EUR Bank Journal with an EUR account
- on 31/07 ==> rate = 1.1
- on 08/08 ==> rate = 1.2
- create a vendor bill for Asustek on 31/07 for 39794,40 EUR
- create a vendor bill for Asustek on 31/07 for 61668,00 EUR
- create a vendor bill for Asustek on 31/07 for 33487,70 EUR
- create a supplier payment for Asustek for 134950,1 EUR
- use the payment matching smart button
- match the 3 invoices you entered;
Bug:
Odoo says there is an open balance to write-off and prevents you from reconciling
Expected Behavior: the payment total amount in EUR matches the 3 vendor bills total
amount in EUR so I would expect Odoo to consider I have a perfect match between the
payment and the vendor bills and the difference in USD (base currency) should be
automatically reflected through an exchange difference entry.
if you follow the same operation with 3 invoices of 115EUR each and a payment of 345EUR,
it will work as expected.
opw:1872978
Have a statement line with multiple pages of propositions
Go to the last page
Add everything
Before this commit, after clicking on the last item of the list,
a write-off creation was displayed, without any means to come back to the other
propositions
After this commit, we display the page before
In manual reconciliation, have an accound with no direct proposal.
An empty line should be present
Click on it
Before this commit, there was a traceback
After this commit, a write-off creation appears
In manual reconciliation (but probably automatic too)
Have 3 lines for one account
2 of them are balanced
the third is of an amount X
Add the three lines to the reconciliation
A write-off proposal of -X should appear
Now, remove the third line by clicking on it
Click on Reconcile
Before this commit, the values sent to the server were wrong, as the write-off
was still included
After this commit, we make sure we don't send lines that are not displayed
Have two invoices
Make a bank statement with one line, which amount is:
Amount[Bank] < Amount[Inv1] + Amount[Inv2]
AND
Amount[Bank] > Amount[Inv1]
Click on on the reconcile button on the form view of the bank statement
On the reconciliation widget:
Click on the first invoice to fully reconcile it with the payment
Click on the second to partially reconcile it with the payment
Before this commit, there was no way to let the second invoice open
and partially reconciled.
The only possibility was to make a write-off
V10.0 allowed to to do such a flow
After this commit, this use case is dealt with again
OPW 1864689
closes#25721
Problem: create a bank statement with a line that has a positive amount
and a line that has a negative amount. Both line does not have a partner
Then click on reconcile to open the reconciliation widget, notice the
message stating that we have to select a partner or choose a counterpart.
Select a partner on both line, behavior is different for the line with
credit > 0, the message still says "select partner or choose counterpart"
This commit fixes this problem.
The CSS of reconciliation highly uses `overflow: hidden` to hide
elements, but this cut the bottom part of the "Select a Batch Deposit"
list of deposits.
There is no possible overflow in this situation anyway, since in the
given circumstances the `max-height` is set to none.
opw-1859408
closes#25524
- Create a tax included of 7.7%
- Set the company rounding to 'Round Globally'
- Create a bank statement of 10.70, reconcile
- Add a manual line with the 7.7% tax
An extra line of 0.01 remains.
The remaining amount after subtracting the tax is `0.00499...`, which
is rounded to `0.005` by `Math.round(total*1000)/1000`, and finally
displayed as `0.01`.
The 'Round Globally' setting makes sense for objects containing multiple
lines, such as SO, PO or invoice. In the case of a reconciliation, we
can switch to the 'Round per line' config.
opw-1837986
- Create the following reconciliation model:
Line 1 is 50% of amount, tax is 20%
Line 2 is 50% of amount, tax is 0%
- Use this reconciliation model to reconcile an amount of 1000.
4 lines are created:
- 2 lines for base amount (500)
- 1 line for the 20% tax (100)
- 1 line for the 0% tax (1000)
Obviously, the last line is incorrect, and should be 0.
opw-1837049
Before this commit, some breaking spaces were present in the js code.
Such spaces are misinterpreted and worked by luck.
This has become a problem with exported js bunldes (e.g. the
external_lib bundle in im_livechat).
This commit replaces breaking spaces by regular spaces.
Before this commit, when stroking "Enter" in the filter, a JS traceback popped, because no created lines where found
After this commit, we control that we have created lines
OPW 1814309
Before this commit, on the reconciliation widget in Firefox
filtering lines through the input triggered a Traceback
This was due to the use of the absence of a defined "event" parameter on the handler
After this commit, filtering does work as expected
opw 813791
Before this fix, the chatter always showed dates of messages in military time format.
This was not the expected behavior, as the user could have had customize
the date and time format in the settings of the current language.
Steps to reproduce the issue:
1. Set Odoo in English
2. Settings > Translations > Languages > English
2.1. Set Date Format to %m/%d/%Y
2.2. Set Time Format to %I:%M:%S %p
3. CRM > (Select any opportunity with at least one message) > Mouse hover on elapsed time (e.g. "an hour ago")
Expected:
- It shows the customized time format (e.g. 11/07/2017 5:33:36 PM)
Results:
- It shows the military time format (e.g. Tue Nov 07 2017 17:33:36 GMT+0100)
opw-781647
commit 2f3b469dee fixes a problem
where open balance had to be added in the lines to create,
however in the case where no line is selected, a new one is created automatically
(for usability purpose) and the balance was not update correctly,
resulting in the creation of a double entry.
Before this commit, when reconciling with a tax included line,
the journal entries were wrong as the amount taken into account was the one that was **already** computed with tax
e.g:
TAX: 20%
amount of the line (tax included): 1
tax amount: 0.17
base amount: 0.83
what was sent to the server was the basea amount, and since python re-computes the taxes
it reapplied tax included 20% on 0.83 instead of 1
After this commit, we send the right amount to the server,
at the small price of semantics change in the meaning of "amount"
OPW 783933
closes#21189
The rev. odoo/odoo@93bf26a modifies the way kanban record defines their size.
Kanban dashboards used to define a fixed size and reset it when grouping.
This fixed size should in fact only be set for ungrouped kanban as the column
size is fixed.
This fixes several problems with the reconciliation widget when used with multi-currency.
- company in EUR, create invoice 25 USD, statement of 25 USD (in journal USD), try to reconcile, the amount is not correctly converted, we see two different values, can't reconcile
- company in EUR, create invoice in EUR, statement in USD journal, the amount displayed for the EUR invoice is not correct
FIX: amount_currency can allow negative searches
IMP: can search on positive or negative amount only if use '-' or '+'
IMP: search for move lines based on the amount by clicking on the balance
amount. Search in 2 currencies if possible.
Display the 'money' icon in the balance amount line when the user is in
multi-currencies and there is a currency different from the one used in
current line.
issue: in the 'match' part of a reconciliation line, if the user uses the
search without any line as result and validate the selected proposition,
the line is removed but the account or partner reconciliation is maybe
not finished.