Commit Graph
197 Commits
Author SHA1 Message Date
Denis Ledoux 31eb1438a1 [FIX] account: settings, prevent the re-write of the company currency
When applying the accounting configuration wizard,
the `currency_id` was being re-written on the company,
even if there was no change (if the currency remained the same),
because of the related.

This leaded as well to the re-write of the company currency
on all journal items, because the `company_currency_id` on
`account.move.line` is a related to `company_id.currency_id`as well,
and they were being recomputed due to the above re-write.

Meaning, when you had a bunch of journal items, applying the
accounting configuration wizard could have take a while.

opw-672400
2016-03-18 16:42:36 +01:00
qdp-odoo 4665216331 [FIX] account: when creating an invoice's journal entry, set the invoice_id on tax lines too. That isn't a big deal though, but for the data coherence and to define reports on invoices it'd be easier with that field. 2016-03-18 15:26:00 +01:00
Nicolas Martinelli 5c81327a5e [FIX] account: reset date
An issue occurs in the following use case:
- Create an invoice, validate.
- Cancel it, reset to draft.
- Change the invoice date
- Validate the invoice

The date of the account move is still the first date entered. This is
because the accounting date has not been reset on the invoice, and
therefore it is not updated.

opw-671672
2016-03-17 08:52:08 +01:00
qdp-odoo 0ccb98ca2a [FIX] account: refunds are valid outstanding debits/credits that we can add on bills/invoices. 2016-03-15 14:35:10 +01:00
qdp-odoo 003f2ee9bc [FIX] [tldr] account: multi-currencies fixes.
[FIX] account: fixed behavior in order to create the exchange rate difference entry at the full reconciliation only.

 This is needed in order to support the use case where an invoice in foreign currency is paid on a bank account in company currency,
 with the user encoding manually the difference due to the currency fluctuation (writeoff in the bank statement reconciliation interface): before
 this patch, Odoo was doing automatically the same, what results in a duplicated currency difference booking). ticket ID: 670876.
 A test has also been added in account/tests/test_reconcilication.py (test_statement_euro_invoice_usd_transaction_euro_full) to ensure that use case
 is now fixed.

[FIX] account_full_reconcile: a reconciliation is full as soon as either total_debit = total_credit OR if total_amount_currency is 0
[FIX] account: when registering a payment with a writeoff, always create the writeoff line exactly as entered by the user. Before, it was modified
 by the exchange rate entry, for some reason...
[FIX] account: on invoices, show the payment widget and outstanding payments in the invoice's currency always
[FIX] account: when assigning a payment in company currency on an invoice in foreign currency, save the amount_currency in order to create the correct
 exchange rate.
[FIX] account: show the currency difference entry on the invoice payments widget
[FIX] account: fixed the reconciliation methods in order to work with exchange rate entries that have debit = credit = 0
[FIX] account: fixed reconciled field computation. A line is reconciled only if its amount_residual AND amount_residual_currency are 0
[IMP] display the move name of payments on the invoice payments widget
2016-03-15 11:54:47 +01:00
Yannick Tivisse b1b8d0b353 [FIX] account: buggy typo in unused line
it was a tracback prone res
2016-03-09 14:09:37 +01:00
Yannick Tivisse 9a56bf5fe4 [IMP] account: email notification button for all users
The access/follow/actions buttons on the notification email template
are sent only to employee. For this particular business model when
want all the users to receive them, as the portal users.
2016-03-07 14:24:18 +01:00
Christophe Simonis e46f65ab26 [MERGE] forward port of branch saas-6 up to 62fc257 2016-03-04 15:03:39 +01:00
Denis Ledoux 66c1d18579 [FIX] account: Dasbhoard, balance of bank account in foreign currency
When a bank account is set within another currency
than the company currency
(the currency of the journal is set and is different
than the company currency),
the balance displayed was the amount within the company
currency, instead of the amount within the bank account
currency (despite the fact the currency displayed
was the one of the journal).

opw-670815
2016-03-02 17:53:53 +01:00
Nicolas Martinelli b21af52ed8 [FIX] account: payment sequence
The payment sequence should depend on the company, which is not possible
with the harcoded reference to the sequence ids.

opw-670491
2016-03-02 14:05:45 +01:00
Nicolas Martinelli 9af45ffa05 [FIX] account: post move in reconciliation
When an analytic account is specified in the reconciliation, the
analytic lines are not created. This is because the account move is
posted before the account move lines are actually created.

Fixes #10951
opw-670110
2016-02-29 11:29:18 +01:00
qdp-odoo bec9c19a2d [FIX] account: unreconciling a journal item partially that has a currency difference linked was not allowed because the exchange rate was still linked to another line, and thus couldn't be reconciled with its reversal 2016-02-26 11:23:26 +01:00
Denis Ledoux 4a65bc384e [FIX] account: better error message when emptying journal account number
The account number field on a journal is a related field to the
number of the bank account associated to the journal.

As the number of a bank account is a required field,
any attempt to empty it from the journal fails.

Besides, unlinking the bank account from the journal when emptying
the account number on the journal form doesn't seem to be
the appropriate behavior. Imagine you give an account number
to the journal, then empty it, then re-fill it, you probably
do not want the journal entries to be associated to a new bank account,
you probably wanted the same bank account, but renamed, while
it would be the case if we simply unlink it.

If you would like to delete the bank account, you have
to do it from the bank accounts list itself.

opw-670472
2016-02-25 12:56:57 +01:00
Denis Ledoux 2fe11b8a2a [FIX] account: bank statement currency
If there is no currency set on the journal,
the fallback currency must be the currency
of the journal company, not the currency
of the user company.

This would mean that when you change of company,
with another currency set,
the bank statement change of currency, this is non-sense.

opw-670187
2016-02-23 12:05:10 +01:00
Goffin Simon 0f7e6f4097 [FIX] account: Missing Partner in account move line
When creating account move lines from an account move, the partner
set on the account move lines has to be the same than the one on the
account move.

opw:668322
2016-02-23 09:52:10 +01:00
Denis Ledoux a04fce47e9 [FIX] account: methods calling reverse_moves expects a list
The methods calling `reverse_moves` expects a list
as returned result.
For instance, in `account_move.py`, `account.partial.reconcile`,
method unlink:
```
reversed_moves = exchange_rate_entries.reverse_moves()
for rev_move in self.env['account.move'].browse(reversed_moves):
```

If there was no reversed moves, the method returned a boolean,
and a list otherwise. It should always return a list, empty
in the above first case.

opw-669790
2016-02-18 13:44:54 +01:00
Goffin Simon 598856e1e0 [FIX] account : tax details in invoice report
When a tax with an amount of 0 percent was linked to an invoice line,
this tax didn't appear in the tax details in the bottom of the invoice
report.

opw669162
2016-02-17 09:33:10 +01:00
qdp-odoo d081fa4931 [FIX] account: fixed display bug in the manual reconciliation widget where currency difference entries where displayed with no amount (since they had a currency_id but not amount_currency). In that case, we now fallback on the company currency 2016-02-16 17:38:20 +01:00
qdp-odoo f862467ff2 [FIX] account: when a currency difference is reversed, we need to match together the origin currency line on the partner account and its newly created reversal otherwise they don't cancel each other completly since they still both appear on reports, followups... 2016-02-16 17:38:19 +01:00
qdp-odoo 11cdd5b841 [FIX] account: put the partner_id on the currency difference line otherwise the receivable account of the partner won't be equal to 0 2016-02-16 17:38:19 +01:00
Cedric Snauwaert cc319c0c08 [FIX] account: field code does not exist anymore on account_account_type 2016-02-15 12:01:51 +01:00
Christophe Simonis f7432efb95 [MERGE] forward port of branch saas-6 up to 07d7147 2016-02-10 18:17:21 +01:00
Denis Ledoux 4c4ccd7b14 [FIX] account: settings, Assets management & Revenue recognition
The checkbox `Assets management & Revenue recognition`
actually installs only the assets management. The revenue
recognition is not installed when checking this box.

Actually, the revenue recognition is not even
available within the community edition. This box
couldn't therefore possibly install this module.

opw-669093
2016-02-10 11:25:08 +01:00
Raphael Collet 8a2b172c3e [FIX] addons: fix usage of decorators api.v7/api.v8 2016-02-09 10:33:34 +01:00
qdp-odoo ce784ae933 [FIX] account: default value of refund_sequence boolean on journal is False, as the most common practice seems to share the same numbering for invoices and refunds 2016-02-05 12:32:26 +01:00
qdp-odoo f7b1466f7e [FIX] account: starting amount of bank statement was considering only closed statements which is wrong (+ made small refactoring for the default_value and the onchange) 2016-02-05 12:27:32 +01:00
Denis Ledoux 9fa73d10cf [FIX] account: set payment_method_code as readonly
The payment method code is not supposed to be changed
from an `account.payment`.

Besides, this field is only used for technical reasons,
as stated:
```
Technical field used to adapt the interface to the payment type selected.
```

There is therefore no reason to not set it as readonly.

Not setting it as reandonly could lead to a `write`
operation on the `account.payment.method` with the value
of the code, even if this is already that one set, and
such an operation could be prevented by the access rights.

opw-668624
2016-02-03 18:35:43 +01:00
qdp-odoo 967be70c52 [FIX] account: tax of type 'group' wasn't propagating correctly the base of computation for next taxes (in case one of the children had the field 'Affect Base of Subsequent Taxes' set). Fixes issue 641078 2016-02-03 16:37:41 +01:00
Nicolas Martinelli b6250eb7f0 [FIX] account: filter taxes
In a multi-company environment, a user from company A which is a parent
of the company B has access to taxes from both companies. The
consequence is that the method _set_taxes will automatically add the
taxes from both companies.
2016-02-03 08:28:34 +01:00
Nicolas Martinelli 932a83de32 [FIX] account: forward port typo
type is not redefined, so this comparison cannot work. Moreover, a lucky
combination made the test pass, while they should not have.

opw-667935
2016-02-03 08:28:34 +01:00
Nicolas Martinelli 628a6146d2 [FIX] account: keep only taxes of the company
If the SUPERUSER creates an invoice, we should make sure to keep only
the taxes related to the company of the invoice. This is for example the
case in the PoS, where the invoice is created with the SUPERUSER.

Fixes #10648
2016-01-29 13:16:53 +01:00
Nicolas Martinelli 9052bdc9cb [FIX] account: calculation of amount residual
When an account move line is reconciled with debits and credits, both are
subtracted from the original amount. This is not logical, since if the
line is a credit (debit) we should subtract (add) the debits and add
(subtract) the credits.

opw-667137
2016-01-28 13:33:43 +01:00
qdp-odoo d35e75f7eb [FIX] account: fixed computation of reconciled fields on account.move.line and account.invoice which were wrong due to bad usage of float_is_zero() 2016-01-28 10:58:38 +01:00
Christophe Simonis d2f8485323 [FIX] account: correct migration of tags and taxes 2016-01-27 15:56:56 +01:00
pvy 02d52fe7fc [IMP] account: add the possibility to filter by a reconciliation date in the _query_get() method 2016-01-25 16:21:28 +01:00
Nicolas Martinelli 1806ea1859 [FIX] account: write-off currency and sign
The write-off currency should be the currency of the first
account.move.line, since it is what is assumed in the interface.

Moreover, the sign of amount_currency should match the constrain
_check_currency_amount.

opw-667137
2016-01-22 09:58:19 +01:00
qdp-odoo a2ff33faac [IMP] account: added some functions to help updating VAT reports in localization modules. [FIX] l10n_ch: better tags on taxes in order to have an enhanced VAT report 2016-01-21 17:35:16 +01:00
Nicolas Martinelli 564fda4d8f [FIX] account, account_asset, purchase: extra field in auto fill
The Purchase module provides a functionality to add pre-filled invoice
lines to an invoice. The issue is that extensions of the accounting
modules might add fields on an invoice line, and one would like to see
these fields populated as well.

This is the case for account_asset, which adds an asset_category_id on
an invoice line. However, the Purchase module is not aware of the fields
added by account_asset, and therefore it cannot populate them.

This fix adds a method, _auto_fill_extra, which is intended to manage
these extra fields.

opw-667162
2016-01-21 15:51:20 +01:00
Goffin Simon 366980e550 [FIX] account: _prepare_analytic_line
In function _compute_expense_totals, the debit and credit of an account
move is computed in the right currency rate according to the date.
Then in function _prepare_analytic_line, the amount of an analytic line
must also be computed in the right currency according to the date.

opw:666538
2016-01-20 12:58:32 +01:00
Nicolas Martinelli b01e24b6af [FIX] account: company currency in payment
The company currency should be the company currency of the invoice, not
the company currency of the account journal linked to the payment.

The following use case causes an issue:
- invoice in GBP
- journal of the invoice in AED
- journal of the payment in CHF

In this case, residual_company_signed will be considered to be in CHF
while it was recorded in AED.

opw-666595
2016-01-19 14:57:32 +01:00
qdp-odoo 5393638610 [FIX] account: when changing the number of digits for the account on the company settings, change all accounts. Was PR #10334
Previously we only changed the accounts of type liquidity and that had the prefix/suffix defined on the company settings.
We added to that the other accounts with the following heuristic:
    if #digits > len(account.code):
        add 0 after account.code,
    if #digits < len(account.code):
        remove 0 from end of account.code (if possible).

Behaviour for the accounts of type liquidity that start with prefix/suffix defined on the company settings does not change,
except for a bug correction that did not remove 0 when we set a smaller number of digits.
2016-01-18 15:12:06 +01:00
pvy ab800b4ea2 [FIX] account: internal_type should be read_only so that it's not in the 'create' vals and does not trigger the _compute_matched_percentage() function 2016-01-18 13:35:16 +01:00
Olivier Dony 3c12a59bff [FIX] account: _get_fpos_by_region should return wildcard position as fallback
Simplify the API and make it possible to detect fiscal positions based
only on geo information, without having to call `get_fiscal_position()`
which requires a specific partner record.

This commit simply moves the logic related to the global 'world' fiscal
position fallback (no country, no country group) into the low-level
method `_get_fpos_by_region()`, so that callers do not have to do it
themselves.
2016-01-15 16:44:25 +01:00
Cedric Snauwaert 91ac0a9d04 [FIX] account: when unreconciling a payment from a paid invoice, invoice should return to state open
This is done by changing the value of reconcile field on account_invoice which will trigger workflow
2016-01-14 14:20:41 +01:00
Goffin Simon 5adb4d1d02 [FIX] account: get_journal_dashboard_datas
In multi currencies, the different invoices linked to a journal can
be in different currencies, this is why the amount_total of each invoice
must be summed in the same currency.

opw:666311
2016-01-14 13:40:34 +01:00
Goffin Simon 60be34c3ee [FIX] account: _prepare_analytic_line
The field "amount" in 'account.analytic.line' must be in the currency
of the 'account.move.line' record because the "currency_id" field is over
written in "addons/account/models/account_analytic_line.py" and
this field is related to the currency of the move linked to the
analytic line.

opw:666538
2016-01-14 09:40:08 +01:00
Martin Trigaux bb56e484b7 [FIX] all: construction of translations lookup
When evaluated, the translation function never finds a match if a variable is
integrated into the untranslated text.

SHAME! 🔔 🙋
2016-01-13 14:46:30 +01:00
Nicolas Martinelli db638d8b33 [FIX] account: currency in analytic line
Once accounting is installed, the currency of the amount must be the
currency of the company, while the amount currency contains amount in
the original currency.

opw-665821
2016-01-11 17:05:42 +01:00
Cedric Snauwaert 4bb147b0f5 [FIX] account: in dashboard split menu invoices&refund in two distinct menu 2016-01-08 17:01:01 +01:00
Nicolas Martinelli ef6116bfb5 [FIX] account: exchange difference date and amount
The use case is the following: the currency of a customer invoice (e.g.
EUR) is different from the currency of the company (e.g. USD). An
invoice is created in EUR, and a payment is done in EUR on the
receivable account which is in EUR.

Between the invoice date (e.g. 2015-01-01) and the payment date (e.g.
2015-02-01), the rate has changed. The reconciliation between the
invoice and the payment is done afterwards, for example 2015-03-01.

When the write-off related to the exchange difference is created:
- the date should be the max date between payment and invoice if the
  corresponding fiscal year is not closed (otherwise, today's date).
- the amount currency on the receivable/payable account should be zero,
  since the amount currency on the foreign exchange account is zero.

opw-659289
2016-01-08 08:11:24 +01:00