Multicurrency is ON
Your company in USD
Make a bank journal in EUR
Create a statement and push reconcile
In the widget, create a line with a tax and hit reconcile
Before this commit, the amount_currency field of the tax move line was not filled
After this commit it is
OPW 1885014
closesodoo/odoo#27592
Making a bank account reconcilable is a very common mistake, and leads to confusing and useless data (the move lines made on this account) to be displayed in the reconciliation widget. With this commit, we make sure the user cannot make this mistake anymore.
In a multicompany environment, if the user is not logged-in in the same company as the statement's company (even though he might have access to it), the reconcile interface was filtering on the user's company instead of the bank statement lines's company.
Was PR #26782
backport 1dbc655676
Company in USD
Invoice in EUR with rate A
Register a payment in EUR with rate B
Unreconcile them.
Before this commit, there was an error because we tried to reconcile the exchange items
with its reversal while the formers were already reconciled with the invoice
After this commit, there is no error
OPW 1864091
closes#26583
In the reconciliation widget, search for an amount like 5361.61
Before this commit, if the targetted line that you want to see was represented as 5361.61000001
you did not see it in the results of the search
After this commit, you do!
OPW 1872543
closes#26523
Steps to reproduce the bug:
- Create a journal "Temporary" with default account
(don't care about the names) with Fixed asset type and reconcile = True
- Create a vendor bill
- Create a payment from this vendor bill in the temporary journal
- Create a bank statement and with a line where you specify the vendor
- Try to reconcile the temporary account with the bank account
Bug:
Impossible because the temporary account item was not displayed
opw:1884376
- 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
- Set up a tax as 'Based on Payment'
- Create an invoice at date D with this tax
- Pay the invoice at date D+1
- Unreconcile
A reversal entry is made at the current date, while it should be at the
payment date D+1.
We make sure to use the payment date only if the payment period has not
been locked.
Fixes#25738
opw-1870467
Do not replace the day value without notifying the user.
In undetermined circumstances, a fiscal year last day and month can be
replaced by the default December 31st value. Since all settings are
re-written for any setting changed, this is likely to happen in the back
of the user.
Moreover, the `_verify_fiscalyear_last_day` is not correct since it
doesn't accept February 29th, while `compute_fiscalyear_dates` handles
it.
opw-1867978
opw-1873260
Create an invoice, validate it
Create a payment from athe account.payment model (not the register payment wizard)
click on the smart button payment matching, and match the invoice with the payment
Reconcile
Before this commit, the invoice was not part of the invoice_ids field of the payment,
So, when printing the payment receipt or check, there was nothing on there
After this commit, we associate the invoice with the payment, and the receipt prints
what is expected
OPW 1871575
closes#26245
Create an account_move, with at least one move line having an analytic account on it
AND no label
Save and Post
Before this commit, the post failed because an analytic.line should have a label (required)
After this commit, we fill in a default name for the analytic line, composed of the data of the line,
if available, or '/'
OPW 1863418
closes#26013
Make an invoice with a line having a cashbasis tax
Make a payment at a future date compared to the invoice's date
Before this commit, the cashbasis move attempted to post many times
which could lead to errors when posting is forbidden
(in the case of the french localization)
After this commit, the cashbasis move is posted only once
OPW 1865179
closes#25832
Company is in USD
Do an invoice in EUR with a specific rate (and post it)
Do a payment on this invoice with another rate (and post it)
revert the payment's move
Before this commit, the move_lines of the original/reverted move pair were not reconciled
to one another
This could cause problems in some reports (aged reports for example)
After this commit, the lines in the original/revert move pair are reconciled
provided that they *can* be reconciled
Which is either belonging to a reconciliable account, or to an account of type liquidity
OPW 1861273
closes#25592
This is essentially a backport of 7544c22de9
and
4f40c9da7b
Company is in USD
Do an invoice in EUR with a specific rate (and post it)
Do a payment on this invoice with another rate (and post it)
revert the payment's move
Before this commit, the move_lines of the original/reverted move pair were not reconciled
to one another
This could cause problems in some reports (aged reports for example)
After this commit, the lines in the original/revert move pair are reconciled
provided that they *can* be reconciled
Which is either belonging to a reconciliable account, or to an account of type liquidity
OPW 1861273
closes#25600
The code was actually alreadt made in this spirit, there was just as wrong call to the date_invoice field of the model instead of the local variable with the same name, which contained the right value.
Steps to reproduce:
- activate the EUR currency
- set a currency rate 1 USD = 1.2 EUR
- create a Bank journal in EUR with a EUR account
- create a Vendor Bill in EUR for 1200 EUR in total
- go in the Vendor Bill list view (Accounting > Purchase > Vendor Bills)
- select the created Vendor Bill
- click "Register Payment" in the action menu
- select the EUR Bank journal you created
Bug:
The payment amount is 1000 EUR instead of 1200 EUR.
opw:1870351
This field is used by the multiple payment wizard; the payments it generates are always individual and should never have multi=True. Before this commit, they did, because of the values given in context when calling the payment wizard.