Commit Graph
435 Commits
Author SHA1 Message Date
Nicolas Martinelli cba55c12e4 [FIX] account: 'Load More' on Manual Reconciliation
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

closes odoo/odoo#28959
2018-12-03 09:57:07 +00:00
Nicolas Martinelli 1a0f5a50af [FIX] account: domain on reconciliation model
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 e5c8071484

Fixes #28270
opw-1904475

closes odoo/odoo#28541
2018-11-09 16:14:33 +00:00
Nicolas Martinelli e5c8071484 [FIX] account: domain on reconciliation model
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

closes odoo/odoo#28474
2018-11-07 13:26:30 +00:00
Nicolas Martinelli be6bcae848 [FIX] account: reconcile error
- 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

closes odoo/odoo#27359
2018-10-02 11:15:51 +00:00
Nicolas Martinelli dee5ce3be1 [FIX] account: open balance account when partner change
`line.amount` is `undefined`, leading to an incorrect account selected.

opw-1878890
2018-09-13 11:44:21 +02:00
Nicolas Martinelli a2acef42a0 [FIX] account: reconciliation models
The reconciliation models are not available in the Manual Reconciliation
widget. This is simply because they were not loaded.

opw-1878944
2018-09-12 10:24:24 +02:00
Nicolas Martinelli 1b47575372 [FIX] account: cash basis in statement
- 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
2018-09-11 10:30:45 +02:00
Nicolas Martinelli 0f2292018e [FIX] account: manual reconciliation with tax
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
2018-09-10 10:10:46 +02:00
Goffin Simon 4a8d0b3484 [FIX] account: Rounding error with multi-currency payment
Fine tuning of this commit: a10ea93dbe

opw:1870351
2018-08-28 10:16:41 +02:00
Hiral Bhavsar 5830fcf506 [FIX] account: reconciliation: Pass context properly when making RPC call
This way, language formatting is always performed (123.30 becomes 123,30 in French for example).
2018-08-23 13:29:41 +02:00
Goffin Simon a10ea93dbe [FIX] account: rounding problem with Payment Matching in multi-currency
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
2018-08-09 13:43:38 +02:00
Wolfgang Taferner a4a9196c8d [FIX] account: regression - display partner_name as placeholder 2018-08-08 09:50:31 +02:00
Lucas Perais (lpe) 93e71d181e [FIX] account: reconciliation widget: Don't loose pager on adding last line
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
2018-07-31 09:18:31 +02:00
Lucas Perais (lpe) aa7bc410f0 [FIX] account: reconciliation widget: empty line should open write off
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
2018-07-31 09:18:31 +02:00
Lucas Perais (lpe) ebca7c3d37 [FIX] account: reconciliation widget: remove prop to attain balance
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
2018-07-31 09:18:31 +02:00
Lucas Perais (lpe) 92fed4a51e [FIX] account: reconciliation widget: partial reconcile 2 inv 1 pay
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
2018-07-18 09:31:26 +02:00
Cedric Snauwaert 775fbcda35 [FIX] account: fix select partner problem in reconciliation widget
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.
2018-07-03 13:42:49 +02:00
Xavier Alt 21b2617d6f [FIX] account: show statement line info popover on reconciliation widget
This popover is the only way to get extra information like the note or the reference of the bank statement line.

Was PR #25543
2018-07-02 09:40:45 +02:00
Nicolas Lempereur 8c250b73fa [FIX] account: batch deposit in reconcile uncut
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
2018-06-28 13:57:53 +02:00
Nicolas Martinelli 6fce298d70 [FIX] account: tax computation at reconciliation
- 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
2018-05-16 11:10:58 +02:00
Nicolas Martinelli 37a901c061 [FIX] account: reconciliation model with Tax 0
- 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
2018-04-25 12:50:03 +02:00
Rémi Rahir f1a884e046 [FIX] web,account,google_calendar: correcting previous commit
corrects error added in c3d1eda017 .
Non-breaking spaces were explicitely added in the tests. This commit
restores the proper behaviour.
2018-04-03 18:05:52 +02:00
Rémi Rahir c3d1eda017 [FIX] web,account,google_calendar: chasing breaking spaces
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.
2018-04-03 15:52:17 +02:00
Christophe Matthieu c077ed8866 [FIX] account: reconcile all the balanced items (when there is a pager)
Error when using CTRL-Enter to reconcile

opw-1816574
2018-03-20 11:57:58 +01:00
Christophe Matthieu f4bca15520 [FIX] account: Reconciliation display correct display_name in many2one
Issue: When using many2one select dialog, the the field (eg. Account)
display the previous value.

opw-1819832
2018-03-01 13:45:19 +01:00
Laurent Smet 5450c5c3f7 [IMP] account: allow partial reconciliation with write-off
Suppose you have an invoice of 3000. You want to pay with paypal
    3 x 1000 but having of fee of 10 in each transaction. So, you attempt
    to reconcile 3000 with 3 x (990 + 10) that is not possible with the
    reconciliation widget.

Was PR #17489. Was task: https://www.odoo.com/web#id=23384&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
opw-815421
2018-02-26 10:37:39 +01:00
Lucas Perais (lpe) 801b02f0ce [FIX] account: reconciliation widget: avoid created lines proposition may be empty
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
2018-02-23 11:10:57 +01:00
Lucas Perais (lpe) e67d6f85c3 [FIX] account: event on onFilterChange
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
2018-02-09 14:42:57 +01:00
Christophe Simonis b42b9c936b [MERGE] forward port branch saas-16 up to 3b7bf3a4b8 2018-01-12 18:15:23 +01:00
Christophe Matthieu 05fe5384fe [FIX] account: manual reconciliation open the first line when validate
the opening is done even when there is still an open line
2018-01-12 14:28:45 +01:00
Christophe Matthieu d0a545df78 [FIX] account: hide 'Write-off' button if the currency balance is null
Issue: display the 'Write-off' button is very confusing for the user,
because in the bill, the amount is null but not in the converted value.
2018-01-12 14:28:45 +01:00
Christophe Simonis b37cc1f9b7 [MERGE] forward port branch saas-16 up to a2ea4ba095 2017-12-12 18:39:43 +01:00
Cedric Snauwaert e193926db0 [FIX] account: add some reconciliation tests
To test use case introduce by: https://github.com/odoo/odoo/commit/2f3b469dee6f18cbccce1cdf2a81cfe57960c533

and fix introduce by: https://github.com/odoo/odoo/commit/3549688b21eb65e16b9c3f2b6462eb8d8b52cd47
2017-12-07 15:10:57 +01:00
Christophe Simonis f96a797fe6 [MERGE] forward port branch saas-16 up to b8540eefe3 2017-12-06 11:59:38 +01:00
Alexandre Kühn 6cc5a9963b [FIX] web,*: time format from user's language
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
2017-12-05 09:13:31 +01:00
Cedric Snauwaert 3549688b21 [FIX] account: fix reconciliation that create double entries in some case
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.
2017-12-04 16:33:53 +01:00
Christophe Simonis 5851a69aa3 [MERGE] forward port branch saas-16 up to 3f66814a0d 2017-11-28 15:12:31 +01:00
Lucas Perais (lpe) 32730ef82b [FIX] account: reconciliation widget tax included
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
2017-11-27 09:25:39 +01:00
Martin Geubelle 0593fd8954 [FIX] *: correctly display grouped dashboard
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.
2017-11-21 16:41:09 +01:00
Christophe Simonis e918271f76 [MERGE] forward port branch saas-16 up to 8fdac4b6b2 2017-10-27 14:09:20 +02:00
Cedric Snauwaert 1c367e32d6 [FIX] account: reconciliation: fix trouble with reconciliation in multi-currency
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
2017-10-26 10:45:58 +02:00
Christophe Simonis 10128fa7e8 [MERGE] forward port branch saas-16 up to dc2a6c6cd2 2017-10-20 19:27:04 +02:00
Christophe Matthieu 99e14b96b3 [IMP] account: reconciliation: improve search based on amount
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.
2017-10-19 13:52:56 +02:00
Christophe Matthieu f495f68272 [FIX] account: reconciliation: balance amount in multi-currencies
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.
2017-10-19 13:52:56 +02:00
Christophe Matthieu ed79071293 [FIX] account: reconciliation: reset filter when validating a 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.
2017-10-19 13:52:56 +02:00
Christophe Matthieu c06aa12777 [FIX] account: reconciliation: small fixes
* reset pager when change filter
* display 10 lines in manual reconciliation (add limitMoveLines in action's
'params' options to choose the number)
2017-10-16 15:37:40 +02:00
Christophe Matthieu 2d0c3abd5c [FIX] account: reconciliation: loose the current view when reload
Todo in master: change action and add information in params
2017-10-16 15:37:40 +02:00
Christophe Simonis 1da064a1d3 [MERGE] forward port branch saas-16 up to 8ee9024a4c 2017-10-13 13:13:11 +02:00
Laurent Smet b44a482c53 [FIX] account: fix session.currencies in reconciliation js tests
In the JS tests environment for the reconciliation widget, session.currencies is missing.
Then, it causes some troubles for 2f3b469dee
2017-10-12 15:25:41 +02:00
Laurent Smet 2f3b469dee [FIX] account: fix unreconciled amount on reconciliation widget
Try to reconcile a bank statement of 1000 to an invoice of 650 amount.
The balance amount of 350 is missing on the resulting account.move and
the bank amount is 650 instead of 1000.

task: https://www.odoo.com/web#id=36342&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
2017-10-11 16:07:36 +02:00