Commit Graph
1442 Commits
Author SHA1 Message Date
Christophe Simonis 74033eb007 [MERGE] forward port branch saas-11.2 up to 90f8f17fb4 2018-04-16 19:50:50 +02:00
Christophe Simonis 5f2d080cf8 [MERGE] forward port branch 11.0 up to ad825b673b 2018-04-16 18:34:56 +02:00
Nicolas Martinelli 3b158b65c1 [FIX] analytic, hr_timesheet: recompute order
When creating a timesheet, several fields need to be recomputed:
- `currency_id`
- `group_id`
- `department_id`
- `is_timesheet`
- `validated`

When `validated` is computed before the other fields, the recomputation
will lead to an `AccessError` because of the rule
`hr_timesheet.timesheet_line_rule_user`.

Since the test `test_timesheet_validation_user` expects an
`AccessError`, the test succeeds. However, from time to time,
`validated` is computed last => the `AccessError` is not raised.

Actually, a `ValidationError` should be raised in this case (from the
`create` override in `timesheet_grid`).

This commit is a cherry-pick of 802339c12d
and dcca2e8b9d
2018-04-13 10:47:11 +02:00
Lucas Perais (lpe) 7b49f5836c [FIX] account: partner's fiscal position chosen within its company
Before this commit, a partner in a company could have a fiscal position belonging
to another company
Namely, the search view on the field property account position displayed every fiscal position

This could create problems afterwards, when managing an invoice from a restricted rights user
(with an access right error raising)

After this commit, we soflty constrain the choice of the fiscal position to the ones
belonging to the same company of the partner

OPW 1833848
OPW 1827831
closes #24056
2018-04-12 11:10:51 +02:00
Christophe Simonis 860dfb5586 [MERGE] forward port branch 11.0 up to d277adf4d5 2018-04-06 15:36:10 +02:00
Olivier Dony f5b00c11dd [FIX] account_payment: properly compute destination account without partner
When the `partner_id` is not set (it is not required at the model
level), we can still compute the default destination account based on
the company chart of account configuration.

This is necessary to allow creating "customer" or "supplier" payments without
selecting a specific partner.
2018-04-06 08:44:34 +02:00
mreficent 3754280a05 [FIX] account: don't require a company in tax_templates
We want to force the tax template to be blank always, because multiple companies can potentially use this template to create taxes. We want consistency company-wise.
2018-04-04 16:16:34 +02:00
Nicolas Martinelli dcca2e8b9d [FIX] account: fix test
Complement of 802339c12d
2018-04-03 14:10:09 +02:00
qdp-odoo 0afab2853b [FIX] account: fix previous commit
Field enaming introduced at https://github.com/odoo/odoo/commit/bfe362c87a2c058c9257166dca096d80c79d3dc3 left some references to old field name. #oops #cestpasmoicestlui
2018-03-29 21:54:13 +02:00
Christophe Simonis f2c3561334 [MERGE] forward port branch saas-15 up to b7f35428f4 2018-03-29 18:42:47 +02:00
Laurent Smet bfe362c87a [IMP] account: allow choosing a cash basis taxes account for base amount
When using cash basis taxes, the user has now the possibility to select a cash basis account containing the base amount during the generation of accounting entries.
This commit has been backported in v9 (in form of a module) in revision 1631889e91

  - task: https://www.odoo.com/web#id=40284&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
  - Was PR #22599
2018-03-29 18:15:38 +02:00
Christophe Simonis b7f35428f4 [MERGE] forward port branch saas-14 up to c1c10e2c4c 2018-03-29 17:56:29 +02:00
Christophe Simonis c1c10e2c4c [MERGE] forward port branch 10.0 up to 2b4bc45e58 2018-03-29 17:09:37 +02:00
qdp-odoo 9c4592761f [IMP] account: support of several payments linked to the same statement line.
This is needed to allow having a single bank statement validating 2 payments in case of our internal OGONE processing. An incoming commit in account_batch_deposit will explain more in-depth the use case covered
2018-03-29 12:12:33 +02:00
Nicolas Martinelli 1dbc655676 [FIX] account: reverse pair
Commit b6d4cd5deb introduced the auto-reconciliation when reversing
an entry. However, we should make sure to only reconcile non-reconciled
entries. Such an entry can be generated from an exchange rate entry.

opw-1826024
2018-03-29 11:47:36 +02:00
Christophe Simonis 0b330bf04c [MERGE] forward port branch 9.0 up to 97fc813a1a 2018-03-28 18:58:10 +02:00
Yenthe V.G 97fc813a1a [FIX] account: fix performance issue with check_lock_date 2018-03-28 15:02:47 +02:00
Olivier Colson 98ee15977a [IMP] stock_account, anglo-saxon accounting: help to clear out interim accounts
Accounting entries made for invoices and stock valuation on the interim accounts (stock input/output accounts) are now reconciled together for both sales and purchases. This will definitively help to have those accounts zero-outed when all operations are processed.

The reconciliation is made as long as the stock valuation is set in real-time, whatever the costing method.

Note that change change also allow a particular use case to be solved: when a purchase is made in a foreign currency whose rate change between the incoming shipment reception and the bill validation (there will be an automated exchange rate entry created).

Was task 32331. Was PR #22483
2018-03-28 13:45:47 +02:00
ougc27 8327b67cf5 [FIX] account: fix wrong domain/default journal on account payment view.
Fixed use case:
When creating a new payment (not from invoice), the payment amount is zero and this value triggers an onchange method that set the first miscellanous journal_id as the payment journal_id and force the domain with only miscellanous journals.

This behavior was added in commit 3267e76 to be able to clear invoices by registering a 0 amount payment on it, but this has obviously only interest when registered from the invoices form view... To keep this functionality we only add a "AND" sentence to validate that the payment has invoices, if the payment has not any invoices the journal and the domain of this field will be for bank and cash.

Was task ID 1823023. Was PR #23609. Nice courtesy of Oscar Ulises Garza Córdova
2018-03-28 11:15:41 +02:00
qdp-odoo f7971a95c9 [FIX] account: yet another multicurrency fix
function create_exchange_rate_entry() has been build to potentially receive several aml_to_balance (all sharing the same currency_id), hence aml_to_balance.currency_id would be failing in that case since the ORM is expecting a singleton there.
2018-03-28 10:37:41 +02:00
Nicolas Martinelli 3a318e7c40 [FIX] account: initial balance
- Create manually an account move
- Add a line with a credit != 0
- Click on "Add a line" => crash

`line_ids` does not contain the credit since it was not filled in.

opw-782980
2018-03-28 09:25:10 +02:00
Christophe Simonis 3a537c789a [MERGE] forward port branch saas-11.2 up to 55a14f9ce8 2018-03-27 19:41:30 +02:00
Christophe Simonis 87a0f4dc4c [MERGE] forward port branch 11.0 up to b33d5af4a7 2018-03-27 18:22:18 +02:00
Goffin Simon 32421c4daa [FIX] account: Name of an account.payment
Steps to reproduce the bug:

- Create a bank statement with a blank name
- Reconcile any line statement with an invoice
- Review the payment that was made for this statement

Bug:

The payment had no name.

opw:182754
2018-03-27 17:14:14 +02:00
Olivier Colson ee281168e3 [FIX] account: substract total amount of credit notes in the counts reported on dashboard
The refactoring made for v11 at commit 414ea47fd5 summed the amounts of every invoice, credit note or not. This lead to wrong amounts in dashboard, as credit notes have positive total amounts, just like regular invoices.

(Fixes this ticket: https://www.odoo.com/web#id=1828003&view_type=form&model=project.task&action=333&active_id=49&menu_id=4720)
2018-03-26 13:32:52 +02:00
Romain Derie f8b05f52f5 [FIX] website_portal(_sale), base: prevent VAT edition if user has SO/invoices
This commit prevent VAT and company name edition if an user has already at
least one document (SO or invoice) for his partner or his related company
partner.
Any module can override this feature to add their own condition to prevent
campany name/VAT edition.

task-33088
Closes #23420
2018-03-23 14:47:16 +01:00
Olivier Colson 13899ca39d [FIX] account: correct signature of reconciliation method
This bug had been introduced by the last refactoring of the reconciliation widget, it's just a renaming error.
2018-03-22 13:03:43 +01:00
Laurent Smet 7859dee4fc [FIX] account: fix payment_difference computation
Bug introduced by https://github.com/odoo/odoo/commit/cdca5d4751a979f6b694f02d88160843f81a77f5

There is two problems:
- The payment difference is the difference between what you need to pay and what you pay.
=> The compute does the opposite.
- When the payment type is outbound, the payment amount is never negative.
=> Need to inverse the payment amount in the compute in this case.

E.G.

Suppose A a customer invoice of 25 and B a vendor bill of 50:

Payment on A will compute:
payment_type = 'inbound'
amount = 25

If you pay 20, the payment_difference computed was 20 - 25 = -5
It should be 25 - 20 = 5 instead.

Payment on B will compute:
payment_type = 'outbound'
amount = 50 (not -50!)

If you pay 40, the payment difference computed was 40 - (-50) = 10
It should be -50 - (-40) = -10 instead.
2018-03-22 11:01:20 +01:00
Christophe Simonis 76027a6e12 [MERGE] forward port branch saas-11.2 up to 6773bdbe32 2018-03-21 19:42:34 +01:00
Christophe Simonis 6773bdbe32 [MERGE] forward port branch 11.0 up to e8f630e44d 2018-03-21 19:36:58 +01:00
Christophe Simonis e8f630e44d [MERGE] forward port branch saas-15 up to 7a45296cf1 2018-03-21 18:20:22 +01:00
Christophe Simonis 7a45296cf1 [MERGE] forward port branch saas-14 up to 78dced6bc2 2018-03-21 16:49:15 +01:00
Christophe Simonis 78dced6bc2 [MERGE] forward port branch 10.0 up to c2b3ad1899 2018-03-21 15:55:26 +01:00
Christophe Simonis b51f2d38c2 [MERGE] forward port branch saas-11.2 up to 500e3f4970 2018-03-21 11:04:48 +01:00
Nicolas Martinelli 6d195ee603 [FIX] account: unreconcile payment
- Create a SO for a customer of 100 $
- Create Invoice for the Sales Order and Register the payment
- Create a Refund Invoice, Validate it and keep it in "Open" state
- Create a second SO for 5 $
- Create an invoice for this order and validate it
- It will show you outstanding payments
- Apply the credit and the invoice will be fulfilled => Now you have a
  credit left for 95 $
- Create a third Sales order for the same customer for 5 $
- Create an Invoice for it
- It will show you outstanding credit (95 $)
- Apply the credits
- Now 90 $ are left
- In the same invoice, the credit which you applied, Unreconcile it
- It should have shown you 95 $, but it shows you 100 $ which means it
  removed the credit which we applied to second SO

The unreconcile process does not filter the partial reconciliations of
the selected invoice. All partial reconciliations on the AML are
removed instead.

opw-1819602
2018-03-21 08:37:23 +01:00
Christophe Simonis e0345a4a3f [MERGE] forward port branch 11.0 up to 2835d29979 2018-03-20 11:45:11 +01:00
Christophe Simonis 4715d7e35a [MERGE] forward port branch saas-15 up to 0d55241185 2018-03-19 19:29:58 +01:00
Christophe Simonis 0d55241185 [MERGE] forward port branch saas-14 up to 82effcca83 2018-03-19 18:26:25 +01:00
Christophe Simonis 82effcca83 [MERGE] forward port branch 10.0 up to caf6b4a7c7 2018-03-19 18:25:41 +01:00
Olivier Dony 284c5ba50d [FIX] account: make Journal Item company read-only
PR #16826 (rev fa3ff5b41a) added the
`company_id` field in the Journal Entry form.

Unfortunately that field was not marked read-only, so creating a move
would write to this field, triggering a useless and possibly very long
recomputation of many related fields based on the company of the
account. It must be read-only, its value solely driven by the value of
the account_id field.
2018-03-19 17:43:33 +01:00
Goffin Simon d821f374af [FIX]account: Accounting reconciliation problem
Steps to reproduce the bug:
-Activate multi currency
-Set the receivable account with the same currency of the company.
-Create a customer invoice in the currency of the company
-Register a payment for this invoice

Bug:
The payment was not reconciliated with the invoice.

opw:1826121
2018-03-19 10:06:13 +01:00
Florent de Labarre 6dcfaae7d7 [FIX] account: fix help tooltip
The pro-forma state doesn't exist anymore on invoices
2018-03-19 09:37:34 +01:00
qdp-odoo 8bec4fa015 [FIX] account: reconcilation simplest case
The recent change (e130606602) broke the use case of an invoice/payment in the company currency without any secondary currency involved. Payment was recorded correctly but no full reconciliation was created (and it was not tested).

In order to fix that, we allow to test total_debit and total_credit also when currency has never been set (no secondary currency at all)
2018-03-16 17:23:02 +01:00
qdp-odoo e130606602 [FIX] account: multi-currencies fixes
Along with new tests, 2 things have been changed:

1) amount_currency field is not written anymore when matching an amount paid in company currency against some invoice(s) in secondary currency (see changes in test_reconciliation.py)
This was previously made to help computing the exchange rate difference entry, but we now instead completelly rely on the amount_currency field set on the partial reconciliation. Besides being wrong from a purely functional pont of view (we never received money in secondary currency so why should the ORM act as if it was the case), it was the root cause of the problem related test_partial_reconcile_currencies_02, in test_reconciliation.py.

2) when registering a payment directly from an invoice, containing both an exchange difference and a write-off to force the full reconciliation, we now correctly create the accounting entries.
A weird behavior spotted in #21888 was introduced by 2093546, to deal with impossibility to full reconcile an invoice due to rounding errors. Fortunately, this use case (test_payment_and_writeoff_in_other_currency_3, in test_payment.py) can now be solved in the right way thanks to changes introduced in the previous point.
2018-03-16 15:30:54 +01:00
Nicolas Lempereur 87c09b8ebc [FIX] account: false complete_tax_set tax default
When setting a chart of account on a company, we have default taxes from
the default chart of account different from chosen one.

But if a chart of account is chosen, it should override them in the
onchange_chart_template_id function. This works as expected for a
truthy complete_tax_set chart of account template, but not for a falsy
complete_tax_set chart of account template.

The complete_tax_set indicates that we don't want to set default taxes
and the user should do it or modify the given tax rates himself.

opw-1824751
closes #23655
2018-03-15 09:52:13 +01:00
Christophe Simonis 69ebbeea06 [MERGE] forward port branch 9.0 up to f1608829a1 2018-03-14 13:48:57 +01:00
Laurent Smet f1608829a1 [FIX] account: add missing constrains dependencies
Create a move line having:

amount_currency = 1000
debit = 0
credit = 1000

The error is raised, it's ok.

Now, create a move line having:

amount_currency = 1000
debit = 1000
credit = 0

Then save, edit and write:

debit = 0
credit = 1000

No error raised, it's wrong!

-opw 1818714
2018-03-13 16:55:36 +01:00
Nicolas Martinelli b522ab5772 [FIX] account: tax rounding
- Set 'Round Globally'
- Create an excluded tax of 10 %
- Create an invoice for a product costing 34.55, and apply the tax.

The tax on the invoice is 3.46, while the tax on the tax line is 3.45.

When rounded in `compute_all`, the tax amount is 3.455, which is the
value expected. However, the `create` method won't round this value
before storing, leading to the inconsistency.

We make sure to round the amount to the currency precision, so the
value 3.46 is recorded.

opw-1819902
2018-03-13 12:42:54 +01:00
Christophe Simonis c921d94236 [MERGE] forward port branch saas-15 up to 3730a0d2df 2018-03-13 12:05:36 +01:00
Christophe Simonis 3730a0d2df [MERGE] forward port branch saas-14 up to 0e898eae35 2018-03-12 18:48:15 +01:00