Commit Graph
100 Commits
Author SHA1 Message Date
Olivier Colson e270efff2e [FIX] account: tax lock date: avoid posting account moves that would impact the tax report before the tax lock date
The previous version of this verification was buggy and inadequate. It was for example impossible to post an account.move before the tax lock date, even if it did not impact the tax report in any way.

closes odoo/odoo#36289

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-09-06 11:00:17 +00:00
Olivier Colson 978af5c87e [FIX] account: lines onchange on account.move: remove the base tag when removing a tax from a move line
Before that, when removing a tax previously set on an account.move.line in tax_ids, the onchange event did not remove the corresponding tags from the base line, causing possible errors in tax report.

closes odoo/odoo#36283

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-08-30 12:51:16 +00:00
Olivier Colson 5bacf72319 [FIX] account: avoid rounding issues when using a tax with multiple repartition lines
- create an invoice with only one line with a price of 91.56
- assign a tax of 15% using two 50% repartition lines to this invoice line

==> The total tax amount computed was 13.74; it should be 13.73.

closes odoo/odoo#35412

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-08-02 13:50:35 +00:00
Olivier Colson 03daf7f360 [IMP] account: add constraint on tax report lines to avoid duplicate tag name in the same country
closes odoo/odoo#34172

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-07-29 11:37:35 +00:00
Olivier Colson b29c8d4dd9 [FIX] l10n_ae: avoid duplicate tag names in tax report
Having duplicate tag names is bad for usability, as the user will ne be able to differenciate between tags when performing tax configuration.
2019-07-29 11:37:35 +00:00
Olivier Colson 710c2b91b4 [FIX] l10n_de: reintroduce view, removed by mistake
closes odoo/odoo#35224

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-08-02 23:07:22 +00:00
Olivier Colson f5653603a5 [FIX] l10n_de: fix reference to an old field in tax form 2019-08-02 23:07:22 +00:00
Olivier Colson 333c22edd9 [FIX] l10n_*: fix taxes repartition so that 12.3 matches what is defined in 12.2
[IMP] l10n_*: don't define accounts or tags on tax repartition line templates anymore for 0% taxes

[FIX] account: remove old function used to migrate the former tax model, incompatible with the new one
2019-08-02 23:07:22 +00:00
Olivier Colson 1b1175556b [FIX] l10n_in: reintroduce tax tag removed by mistake at https://github.com/odoo/odoo/commit/451fd6cc90aaa14816376a0285334678df9ce484#commitcomment-34353283
closes odoo/odoo#35102

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-07-23 12:24:38 +00:00
Olivier Colson cfe2ee9341 [FIX] l10n_do: use the right sign on every tax tags
Some signs had been inverted when converting from 12.2 to 12.3 model.

closes odoo/odoo#34817

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-07-12 09:10:30 +00:00
Olivier Colson 9a09388618 [FIX] l10n_et: fix tags of some taxes (for consistency with 12.2 reports)
closes odoo/odoo#34829

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-07-12 11:24:14 +00:00
Olivier Colson 8cded5022e [FIX] l10n_at: fix tax repartition to keep it consistent with 12.2
There was an error in this tax's repartition. A tag was wrongly added to its base.

closes odoo/odoo#34245

Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-07-12 09:36:10 +00:00
Olivier Colson 056a266274 [FIX] l10n_at: make tag names unique in tax report 2019-07-12 09:36:10 +00:00
Olivier Colson 91a549dea6 [FIX] hr_expense: assign tags to move lines when using taxes on expenses
Before that, tags were not set at all on base and tax lines.

closes odoo/odoo#34376

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-07-03 14:20:26 +00:00
Olivier Colson 7dd718f0e5 [FIX] l10n_br: invoice and refund accounts had been inverted on some taxes
closes odoo/odoo#34693

Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-07-09 11:56:05 +00:00
Olivier Colson 2078fefdb1 [FIX] l10n_es: fix base tags for groups of taxes
Before that, groups of taxes defined in l10n_es only defined tags on child taxes. This is wrong: base tags of a group of taxes should always be set on the group itself; children should only contain tax tags (at least, if their type_tax_use is 'none'). Indeed, the tax_ids field of aml generated for these taxes will point to the group, while tax_line_id points to its children.

closes odoo/odoo#34557

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-07-03 12:50:53 +00:00
Olivier Colson 8c7d7e0c2f [FIX] account: correct default country on new tax repartition lines
When creating a new tax, before saving, the default-computed repartition lines had no country_id associated. It only 'appeared' when saving the record.

closes odoo/odoo#34359

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2019-06-26 08:11:17 +00:00
Olivier Colson c0643ac918 [FIX] account: make cash basis taxes work in case several account move lines are reconciled within the same account.move
Such move lines can be created by POS, when closing a session. Because of commit https://github.com/odoo/odoo/commit/d3453f7d152d486cb5df01b4e40dbde57f59b49e , the cash basis entries are now created *after* reconciling everything (and not during reconciliation anymore). This causes multiple lines of the move created for the sessions to be reconciled together in case a refund was made (partial or not).

Solves ticket 2008085

closes odoo/odoo#34237

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-06-19 09:24:26 +00:00
Olivier Colson 06d305b06e [IMP] l10n_ae: add tax templates for consistency with 12.3
Some taxes were declared as groups with some children having 'type_tax_use' different from 'none'. While this is totally correct from a technical point of view, this meant that the group actually had to stay a group in the new model introduced in 12.3. However, functionally speaking, it was not what was intended. We change that here for consistency with 12.3, and to ease the migration. Databases having installed l10n_ae's chart template before this commit will not be affected, and their groups will stay groups in the future (which makes no problem, they simply will be less easy to configure).

closes odoo/odoo#34189

Signed-off-by: Josse Colpaert <jco@openerp.com>
2019-06-18 12:06:31 +00:00
Olivier Colson 56cecc5b6e [FIX] l10n_be: add missing tags to repartition lines
Tax report line 88 has been modified in v10 by this commit in l10n_be_reports https://github.com/odoo/enterprise/commit/1fe60a9b35245dbdba7815f32ae9bdb4c2851a87 . It has not been forward-ported properly to the new tax model: a tag must be added on refund repartition lines of taxes referencing line 88.

closes odoo/odoo#34208

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-06-18 11:07:00 +00:00
Olivier Colson 13f5dc905b [IMP] l10n_lu: remove unnecessary space at the end of some tax report line name
closes odoo/odoo#34094

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-06-13 10:59:05 +00:00
Olivier Colson bd38c693f1 [IMP] account: stronger constraint on repartition lines
We now force tax repartition lines to use the same percentages for invoices and credit notes. Thanks to that, we are able to simplify the way manual modifications made on vendor bills' account.invoice.tax entries must affect the ones of the refunds created for them. This also prepares the code for the incoming big accounting revamping.

closes odoo/odoo#33577

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-06-05 14:04:42 +00:00
Olivier Colson 8f7b6d0d6b [FIX] account: fix the use of "tax_ids" field of account.move.line
Before this fix, in 12.3, with taxes affecting subsequent taxes' base, tax_ids was used to store the taxes whose tax lines impacted current tax line's base. Before 12.3, this field was used to store the taxes whose base line has to be impacted by the current tax line.

This old behavior was changed by mistake. We restore it for consistency.

closes odoo/odoo#33471

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-05-17 12:55:11 +00:00
Olivier Colson 3d97dfeb17 [FIX] account: fix default tax repartition lines creation
Before that, creating a tax without any repartition line with a company_id set in create() failed to create the default ones, because they did not receive the company they had to be created for (as 'company_id' was not passed to the default_get).

closes odoo/odoo#33617

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-05-23 12:44:22 +00:00
Olivier Colson cb5eea5914 [FIX] l10n_be: apply correct sign on refund repartition for grid 62
closes odoo/odoo#33525

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-05-21 11:06:53 +00:00
Olivier Colson 57feafd4d9 [FIX] account, hr_expense, point_of_sale: 'affect subsequent taxes' base" taxes
Consider the following use case:
- Two taxes:
-A: price included, affect base of subsequent taxes, 10%
-B: 15%, regular
- Create an invoice with a line applying A, then B, for 110€. Post it
- The following move lines are generated:
- base: 100€
- tax A: 10€
- tax B: 16.5€

Before this fix, line "tax A" only had the tax tags of tax A. It should also receive the base tags from tax B, in order to affect its grid total correctly in the tax report.

Also, tax_base_amount field used to be computed, but its computation was too simple, and most of the time wrong when doing advanced use of taxes like the one we defined above. It is now not computed anymore, and directly takes its value from the compute_all's result.

closes odoo/odoo#33420

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-05-16 08:55:12 +00:00
Olivier Colson 3936d655c4 [IMP] account, l10n_*: v13 taxes
- Add repartition lines on taxes

- Link account tags directly to account.move.line; remove the tag_ids field from account.tag

- Add a new report engine dedicated to tax reports, directly generating account tags. It is called as an alternate mode of generic tax report, with a dedicated "Use tax grids" toggle.

>> The biggest change lies in the way the new tax report computes its values.
Everything is now aggregated directly using the tags set on the account move lines. Thanks to that,
modifying the configuration of a tax today will not impact the report for the previous periods anymore.
This is a big improvement, as it means the report will keep on reflecting the values that were submitted
to the state before, whatever the configuration change.

- Add an audit char field to account.move.line telling with tax grids are impacted by the line, with the corresponding amount

- Modify the behavior of cash basis taxes: the cash basis account is now used as the transition account, while the regular account given in tax declaration is used to store the final entry (it was the opposite before)

- Modify every l10n_* module in order to keep them consistent with these changes

closes odoo/odoo#32833

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2019-05-10 11:52:58 +00:00
Olivier Colson b1530265e4 [FIX] purchase: anglosaxon accounting: fix wrong computation of prod qty when multiple stock move
Have a PO with a product in automated valorization, and average as method of valorization
Validate and receive *partially* (create backorder)
invoice with a different price than the PO
Receive the backorder
Invoice the rest, also with a different price than the PO

Before this commit, wrong amounts were written in the account.move corresponding to the invoice.
In particular, the payable account's amount was erroneous because it is computed to balance the move
As a result, the bill showed an amount due different from its total, even though nothing was reconciled with it.

After this commit, the payable entry and hence the amount due on the invoice are correct

OPW 1967289

closes odoo/odoo#32920

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-04-24 13:17:22 +00:00
Olivier Colson b344c3c601 [FIX] l10n_jp: fix tax accounts
Forward port of commit https://github.com/odoo/odoo/commit/084246a54ed68e2898e9c713345192b2a33ddd81 (10.0) into https://github.com/odoo/odoo/commit/5e9ebe86bae53f019981361bbcc2f03a5d49e0cb (11.0) had wrongly replaced account code A21809 by its old version, A21807, in tax templates. It made the module uninstallable, as A21807 does not exist anymore.

closes odoo/odoo#32252

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-29 14:01:19 +00:00
Olivier Colson e0ba54331a [FIX] l10n_ca: add missing child to tax group
closes odoo/odoo#32144

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-27 09:21:55 +00:00
Olivier Colson 2fa9e881f4 [FIX] l10n_fr: fix wrong tag on tax
Before that, the tag set on this tag for its base amount was wrong; it caused it to be reported in the wrong section in l10n_fr_reports.

closes odoo/odoo#32103

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-25 15:08:55 +00:00
Olivier Colson 5091bc1df7 [FIX] account: avoid traceback when using the 'with tax' filter of reconciliation models
Field tax_id has been replaced by tax_ids by commit https://github.com/odoo/odoo/commit/4d7f0526122084e7be08212bd5ef9935603605ff . The filter had not been adapted properly and raised a traceback, as tax_id did not exist anymore.

closes odoo/odoo#32231

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2019-03-29 08:53:27 +00:00
Olivier Colson 7b91d3e020 [IMP] point_of_sale: accounting lock dates and POS sessions
Forbid locking the fiscal year or period in case there is an open POS session into it. Without that, it will be impossible to close these sessions, as the lock date will not allow posting accounting entries for them.

Also forbid to create a session before lock date, as it would be impossible to close.

closes odoo/odoo#28257

Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
2019-03-18 09:22:23 +00:00
Olivier Colson 5a8e35dc7a [FIX] account: properly manage multi currencies in invoices' outstanding payments
Before that, having a payment with amount_residual=0, but amount_residual_currency!=0 did not display it.

Also, 'outstanding credits/debits' label was displayed in case amount_residual was != 0 with an amount_currency=0 (and of course, a currency_id value was set on the aml). This could for example happen in case of partial reconciliation, were the amount_residual field is used to keep track of what will have to be written in the exchange rate difference entry when the reconciliation becomes full.

closes odoo/odoo#30362
2019-01-31 12:16:34 +00:00
Olivier Colson e230050562 [IMP] account: remove useless payment term option
'after_invoice_month' and 'day_following_month' options did the same thing.

closes odoo/odoo#29603
2018-12-18 11:06:57 +00:00
Olivier Colson 7754416cd8 [FIX] account: fix "post at bank reconciliation" option of bank journals
Before that, with "post at bank reconciliation option" activated on bank journal, the following scenarii did not work as expected:

1. When creating an invoice, making two payments for it, and then matching only one of them with a bank statement
=> the invoice was marked as 'paid' while it should have staid 'in payment' until the second payment gets a bank statement.

2. When directly reconciling a bank statement with an invoice for its full amount
=> the invoice staid in "in payment" state, while it should have been "paid"

[IMP] account: add tests for the aforementioned cases

closes odoo/odoo#28428
2018-11-07 09:18:51 +00:00
Olivier Colson 714bf1b0ab [FIX] account: reconcile each account only once when reversing an entry
Before that, when reversing an account.move, if two lines of the move shared the same account, we tried reconciling them once for each line: it worked the first time but triggered an error message the second, since the lines had already been reconciled.
2018-11-05 12:29:08 +01:00
Olivier Colson 053a023fc7 [FIX] account: apply correct currency rate for taxes at account move creation
Before that, taxes were only applied with the most recent currency rate, which caused problems in multi currencies, when reconciling statement lines made in the past with invoices, causing the amount currencies in the payment account.move to be wrong.

//Scenario to reproduce the issue (from customer ticket 1903497):

(for a company with USD as base currency)

1. Create a new bank journal for EUR payments

2. Create a new customer invoice for 90€

3. Create a new tax for the reconciliation model, price-included and amounting to 15%

4. Create a new reconciliation model using this tax

5. Use the currency rates from the demo data, add one that is closer to current date than the most recent one.

6. Create a new bank statement for the created EUR bank journal. Make sure that the transaction is less than the actual amount due on the invoice so that we can apply the reconciliation model. Also make sure to set a date on the transaction that lies in the past at some point when the currency rate was (significantly) different.

7. Hit the reconcile button, select the amount due from the invoice and apply the discount reconciliation model(take note of the amount on the created tax move line). Now reconcile.

What is the current behavior that you observe?

Now go back to the bank statement and check the created journal entries. You will see a difference in the amount currency values of the payment and the tax account move line. This difference should not exist.
2018-11-02 17:25:44 +01:00
Olivier Colson d9448d7389 [IMP] l10n_ch: also detect postal account type when using the shorten form with -
This shorten form is aa-bbb-x. The a characters are the first two digits of the number, x is the mod10r verification digit, and b characters consist of all the intermediate digits, without the leading 0s. The chain of b characters' length can range between 1 and 6 characters.
2018-10-30 16:46:55 +01:00
Olivier Colson ac08e2ba53 [FIX] mail: display both tracking values and body of the messages in mail thread
Before that, the body of the message was never displayed if the message had tracking values. This was annoying for account_asset module, were we prompt the user for some justification when she modifies the depreciation data of an asset, and then call message_post with this text as body, and tracking values reflecting the change that was made.
2018-10-26 11:37:52 +02:00
Olivier Colson e6228402e7 [FIX] purchase: fix anglosaxon valuation
Before that, when receiving, then invoicing with price diff, the value in interim account corresponded to the price on the invoice instead of the original valuation one.

Scenario to reproduce the issue:

* create PO with 1 product, FIFO valuation, price=10
* receive PO: the entry in stock interim account has debit=credit=10
* create invoice, with price=15 instead of 10
* the invoice entry should be: payable: C=15 ; price diff: D=5 ; interim account: D=10
  ==> Instead, we had payable: C=20 ; price diff: D=5 ; interim account: D=15 => this was wrong

Also added a test case for the same scenario, verifying the amounts written in the different accounts (and refactored a bit ValuationReconciliationTestCase for easiness)

Closes #27394
2018-10-25 18:03:27 +02:00
Olivier Colson 22f0da809e [IMP] account: Trigger a validation error when trying to set the same currency on a journal as on its parent company.
Until v12, doing this is wrong. The currency_id field of account.journal should only be used if the journal is in a different currency. Otherwise, this field should stay empty.

//NOTE FOR FORWARD-PORT: this commit should not be ported to 12.0 and further.
2018-10-19 15:04:12 +02:00
Olivier Colson db21ef7578 [FIX] l10n_de, l10n_mx, l10n_nl: isolate account.tag creation by country
Before that, the specific account tags created in l10n modules were not only assigned when the company was in the right country.

closes odoo/odoo#29030
2018-11-26 13:17:10 +00:00
Olivier Colson 0ef7e7411f [FIX] account: allow creating a new line on an invoice without crashing if not pricelist is defined
This bug had been introduced in https://github.com/odoo/odoo/commit/154fc7d9dd550d35b7266af024e54c20e18938fc .
2018-10-02 09:02:46 +02:00
Olivier Colson a6d4a5bb15 [IMP] l10n*: add missing descriptions to models
Before that, installing these modules triggered warnings.
2018-09-28 13:39:26 +02:00
Olivier Colson 70028701b3 [IMP] l10n_lu: make 9.0 fix match the one done by mat in 11.5 2018-09-28 12:16:25 +02:00
Olivier Colson 7c9a3840f8 [FIX] l10n_jp: remove duplicate account code
Two account had the same account code. Because of that, one of them always failed to be created and logged a psql error. To fix that, we totally remove this account, as it never got created anyway.
2018-09-28 10:38:01 +02:00
Olivier Colson 51b7168d1b [FIX] l10n_lu: rename duplicate tax xml id
The second tax with the same xml id was never created, and caused a psql error to be logged.
2018-09-28 10:30:58 +02:00
Olivier Colson eeed14c2a3 [FIX] l10n_ro: remove double unaffected earnings account
Only one account of this type is allowed by COA. Before that, the module wouldn't install itself.
2018-09-26 15:56:11 +02:00
Olivier Colson bc14f30ecc [FIX] l10n_co, l10n_cr: make 'bank & cash' accounts not reconcilable
Accounts of this type should not be reconcilable. When making payments, only the counterpart line should be, in some receivable or payable account.
2018-09-25 17:31:55 +02:00
Olivier Colson 6b96e5024a [IMP] account: forbid making a 'bank & cash' account reconcilable
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.
2018-09-25 17:31:55 +02:00
Olivier Colson 7b8b477915 [FIX] crm: demo data: properly link attachment to lead and assign main attachment field
For consistency between the behavior of the platform and the demo data.
2018-09-21 13:10:16 +02:00
Olivier Colson 5c6673c462 [REF] mail: set message_main_attachment_id in message_post_after_hook function instead of directly in message_post
This kind of pos-processing should always be done in the hook method.
2018-09-21 13:10:16 +02:00
Olivier Colson c2177b81dd [FIX] account: don't make administrator part of account users group by default
Before that, the administrator could use accounting features by default. This is not what we want, the group only gets assigned by default when installing account_accountant, on enterprise.
2018-09-19 15:50:44 +02:00
Olivier Colson e2c28ed3d6 [FIX] account don't make administrator part of account users group by default
Before that, the administrator could use accounting features by default. This is not what we want, the group only gets assigned by default when installing account_accountant, on enterprise.
2018-09-18 16:20:53 +02:00
Olivier Colson 1656dc5a01 [IMP] web: list controller: put the buttons template name to render in a field of the ListController, so that it can be overridden
This will be used to add the 'Upload' button on the tree view of vendor bills, by extending the regular view.

Was part of PR #26740
Was part of task #1880089
2018-09-14 17:29:49 +02:00
Olivier Colson c4c3858856 [IMP] account: add "Upload" button in vendor bills tree view
Was part of PR #26740
Was part of task #1880089
2018-09-14 17:29:49 +02:00
Olivier Colson 3c2a92e820 [IMP] mail: add main attachment support on mail.thread
This is done by adding a new field on mail.thread objects and setting it when posting a message with attachments on a model inheriting from mail.thread.

Was part of PR #26740
Was part of task #1880089
2018-09-14 17:29:49 +02:00
Olivier Colson 82e1aed2e6 [REF] account: refactors the onchange product_id on invoices
get the product_name thanks to a function, so that we can reuse it somewhere else (account_predictive_account)

Part of PR #26876.
Part of task #1882329
2018-09-14 10:19:33 +02:00
Olivier Colson c568af83a2 [FIX] l10n_es: apply correct type to each account. 2018-09-13 16:28:46 +02:00
Olivier Colson 7dc13e237c [FIX] l10n_es: apply correct type to each account. 2018-09-13 15:49:58 +02:00
Olivier Colson 7da25a9239 [IMP] account: remove invoice communication automatic sanitization option 2018-09-13 15:17:08 +02:00
Olivier Colson 1a37c127d6 [FIX] account: bill import wizard: link attachments to the created invoices instead of the file chooser wizard 2018-09-10 14:10:11 +02:00
Olivier Colson e886c2edd3 [IMP] base: res.partner.bank: always display account holder name field (not only in debug) 2018-08-28 10:54:31 +02:00
Olivier Colson 40430699df [IMP] base: res.partner.bank : always display "account holder name" field
[IMP] account: partner form view: add a small link under the bank accounts list, allowing to open the tree view of the linked res.partner.bank, so that they can be fully edited

Before that, as the bank_ids field of res.partner is displayed as an editable tree view with only two columns, it was impossible to edit more specific fields of the bank accounts through the partner form view, such as acc_holder_name.
2018-08-27 15:30:19 +02:00
Olivier Colson 7ff979ebe9 [FIX] hr_expense: allow setting an employee on newly created expense without crashing.
Before that, clicking the field in the form view triggered a traceback.
2018-08-27 12:51:48 +02:00
Olivier Colson 12fbbacc6d [IMP] account: reconciliation widget: format dates depending on user's language preferences. 2018-08-23 14:53:25 +02:00
Olivier Colson 05a9a095fb [FIX] account: settings: remove wrong id on div 2018-08-22 13:56:43 +02:00
Olivier Colson 73fc643057 [IMP] account: draft entries creation through registering payments.
In some countries, it might be preferable not to recon the payments journal entries at the time they are registered in the system, but to do so at the date of the bank statement line they will be reconciled with.

Thus, to manage this we've added an option on bank journals to have payments generating draft account.move when they are validated, and posting them only after bank reconciliation (+overwriting their date)

Was task 1870892
Was PR #26349
2018-08-15 08:53:40 +02:00
Olivier Colson 74b6f84cc8 [IMP] account: make partner account selection easier for vendor bills payment
This is done by displaying this field on top of the vendor bills form view and using it as a default value when registering the payment. The use of a sequence on res.partner.bank also allows giving priorities to partner bank accounts directly from the tree view that is contained in res.partner form. In case payments are generated for multiple invoices at once, their account is set as the partner's most prioritary account.

[IMP] account: payment for multiple invoices: option to group + also group on account + hide memo

Add an option in the multiple invoices payment wizard to choose whether or not to group the generated payments. This is useful in case we want to keep one payment by invoice (even if they share the same partner, etc) so that each of them corresponds to a single communication.

The memo field of this wizard is now also hidden in some cases, when displaying it would allow entering wrong communication values (for example, when paying invoices from different partners ; it makes no sense that all the generated payments share the same memo).

[IMP] account: option to sanize invoice communications
2018-08-10 16:22:20 +02:00
Olivier Colson 87f0d2eefb [REF] account, account_check_printing, payment, l10n_do, l10n_de, l10n_fr, l10n_nl, l10n_mx: chart templates installation: remove old useless wizards and move everything to account.chart.template
Was task 1858974
Was PR https://github.com/odoo/odoo/pull/25243
2018-08-07 17:11:08 +02:00
Olivier Colson 3de7521174 [IMP] account: new setting to define a start for bank reconciliation
Payments older than the chosen date won't be proposed in the widget allowing to match payments with bank statements. This is useful if the db used invoicing for years and then installed accounting : users don't want to have to match all the old payments that were generated by invoicing with bank statements.

Was task 1829536
Was PR https://github.com/odoo/odoo/pull/24728
2018-08-07 13:39:02 +02:00
Olivier Colson eb35ea557a [FIX] account: set 'multi' field to False for payments generated when choosing to register payment for multiple invoices with distinct partners
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.
2018-08-01 10:34:30 +02:00
Olivier Colson 1686ef8c04 Revert "[FIX] account: set 'multi' field to False for payments generated when choosing to register payment for multiple invoices with distinct partners"
This reverts commit 11a0dd58a7. It was made in wrong version.
2018-08-01 09:42:07 +02:00
Olivier Colson 11a0dd58a7 [FIX] account: set 'multi' field to False for payments generated when choosing to register payment for multiple invoices with distinct partners
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.
2018-07-31 17:16:47 +02:00
Olivier Colson 81a206fa38 [IMP] account: bank journal open in regular journal form view: don't show 'partner_id' field in account creation popup, and fill it with company partner by default. 2018-07-31 15:06:15 +02:00
Olivier Colson 068a8ec235 [FIX] account: bank journal form view: make 'bank' field writable again 2018-07-30 10:02:44 +02:00
Olivier Colson 691a5818ee [IMP] account: bank setup wizard: explicitly declare the implicit "res_partner_bank_id" field, automatically created by the use of _inherits, to remove a warning in the logs. 2018-07-25 17:10:06 +02:00
Olivier Colson 272bcadc92 [IMP] account: setup: opening balances tree view: highight accounts whose opening balance has been set 2018-07-25 11:53:41 +02:00
Olivier Colson a33961f229 [REF] account: recipient bank account available in payments
This field is somewhat generic, as anyone could want to specify it and as it is used by several batch payment methods. It is thus now factorized in the core module.
Enterprise module 'hr_expense_sepa' is thus not needed anymore as its code can be put in hr_expense

Was part of task 33323
Was PR #25562
2018-07-09 09:24:11 +02:00
Olivier Colson b81b9f9ca1 [FIX] account: use today's date as due date for invoices if there is no payment term and no due date was given manually
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.
2018-06-20 12:32:33 +02:00
Olivier Colson 9cc4c453d6 [FIX] account: creation of account.payment
Allow to give the value of the payment method by the key 'default_payment_method_id' of the context, as the regular usage wants.
2018-06-19 17:55:54 +02:00
Olivier Colson 440a6fe26c [IMP] account: batch payments aren't only for inbound payments
Enterprise module has been renamed and code adapted accordingly
2018-06-19 17:53:17 +02:00
Olivier Colson 85156a8e32 [IMP] account: new bank account setup wizard: remove label on journal name field, for better usability 2018-06-19 10:45:50 +02:00
Olivier Colson 4aa28921e1 [MOV] account_batch_deposit > account_batch_payment 2018-06-19 10:26:49 +02:00
Olivier Colson 042e7862be [FIX] account: properly link bank account created via setup wizard with existing journals when choosing to do so
[IMP] account_bank_statement_import: bank account manual configuration wizard: when linking to an existing journal, change its statements source if the journal had an 'undefined' source.
2018-06-11 11:18:57 +02:00
Olivier Colson 27c9705c00 [FIX] test_main_flows: fix tour, to make it work with the new stuff in accounting's dashboard 2018-06-08 22:53:47 +02:00
Olivier Colson b30fed7a7b [IMP] account: facilitate bank account and bank journal config
With this change,
 * some modules are now set to be automatically installed by default
 * the setup bar of accounting has been changed in order to allow more easiliy the configuration of bank accounts/journals (and the step to oversee the opening entry has been removed)
 * the kanban view in the dashboard has been enhanced (mostly for bank journals, but not only)

Was task: 32668
Was PR #23049
2018-06-08 17:48:03 +02:00
oco-odoo d4cd8be48f [IMP] web: add decoration support for all field widgets (#25160)
It is sometimes useful to be able to customize slightly the color of a
field depending on some conditions on the current record.

For example, imagine that we want to show a VAT number field in green/red, if
it was validated or not. To do that, we can add a field with an
onchange, and simply add decoration-danger and decoration-success
attributes to the field.
2018-06-08 15:20:49 +02:00
Olivier Colson 68cb70a81d [FIX] purchase: anglosaxon valuation: Use invoice_date when date is not set on invoices 2018-06-08 10:06:09 +02:00
Olivier Colson c00df14654 [FIX] purchase: anglosaxon reconciliation test: delete rate demo data at the beginning of the test
This is mandatory to ensure consistency of the data generated by the test, as stock pickings created from a PO are by design always created for the current date (there is no way forcing this), meaning that they always use today's exchange rate for their valuation.

Despite the fact we rewrite the date of the valuation moves artificially, we cannot correct the debit and credit values, since the anglosaxon entries get automatically reconciled (and you cannot modify a reconciled entry).

So, we have to make sure that "today"'s rate will always be the last rate we created in order to ensure complete control of the test. This deletion will have no further impact, as the transaction will be rollbacked at the end of the test.
2018-06-07 10:01:17 +02:00
Olivier Colson 976499ac78 [FIX] purchase: anglosaxon valuation: use date instead of date_invoice for currency conversions. 2018-06-06 15:24:59 +02:00
Olivier Colson 6e51f4cdd9 [FIX] purchase: anglosaxon reconciliation test: set proper date to generated credit note
The date of the invoice is used for currency conversion in anglosaxon stock valuation. Before this fix, the tests crashed between june 6th and december 31th, as the demo data define a currency rate for USD on june 6th. Using the proper date on the credit note ensures the good rate (the one in application when making the credit) is always applied.
2018-06-06 15:12:34 +02:00
Olivier Colson 1040ce9231 [FIX] account: dashboard: display latest statement balance for bank and cash journals only if it is different from the balance in GL.
The condition to do that was already present, but it wasn't evaluated; the t-if needed to be oustide of the div.
2018-06-05 16:51:03 +02:00
Olivier Colson cda8bdc8b3 [FIX] base: res.currency: use company_id context value as an integer id (not as a model reference) as it used to be before refactoring.
The use of id and model reference was inconsistent for this variable, depending on the content of the context. Doing this caused a failure when trying to load some financial reports (> Balance Sheet, Spanish reports, ...) of accounting in multi company, if both companies had not the same currency.
2018-05-30 15:01:01 +02:00
Olivier Colson 4a1bc45934 [FIX] base: set vat number field as readonly on children partners; as it is a commercial field, it should always have the value defined on the parent partner.
(this is a manual forward port from https://github.com/odoo/odoo/commit/98b1fffd4e99cc8ad2862c56fbd727979c38c48b , as a new view is defined in 11.0, needing this correction too)
2018-05-30 10:50:50 +02:00
Olivier Colson 98b1fffd4e [FIX] base: set vat number field as readonly on children partners; as it is a commercial field, it should always have the value defined on the parent partner. 2018-05-30 10:37:28 +02:00
Olivier Colson bc0173c2d5 [FIX] purchase_stock: use currecny rate at move date when computing move unit price
Error introduced when using new res.currency API at 7a282c9965
2018-05-29 16:25:35 +02:00
oco-odoo c9b7cf140c [IMP] account: always properly display the invoices reconciled with payments
See https://github.com/odoo/odoo/issues/20804

We don't turn invoice_ids into a computed field, because we need it erverywhere for technical reasons. Instead, we use a new computed field only there to ensure consistency of the displayed data.

Was task: 1819501
Was PR #24290
2018-05-24 10:00:53 +02:00
oco-odoo 943075fd94 [FIX] purchase: anglosaxon stock valuation: use correct currency rates to determine whether or not to create a price difference line for invoices. (#24815)
Before that, the following scenario (tested in purchase/tests/test_anglosaxon_valuation_reconciliation.py) failed:
- create a PO
- change of currency rate
- create and validate vendor bill in foreign currency
- receive goods
- change of currency rate
- return the goods
- change of currency rate
- refund the bill

At the end of it, both invoices (bill and refund) were not in 'paid' state, but they should have been! The anglosaxon stock valuation code had some issues in the way it managed currency rates. The main one was that we converted the computed valuation_price_unit variable in company currency using the date of the invoice as a reference, which was wrong in case the invoice was a refund, as it should then use the date of the valuation for this. This problem caused the code to detect an exchange rate difference between refund and valuation as a price difference, hence generating a line in the price difference account, which caused the debtor account line of the associated account.move to be wrong, and hence impacted the residual field of the invoice ("amount due", in GUI). Finally, as this field contained an inconsistent value, the refund invoice was not marked as paid after reconciling it with the original one.

Solving this needed to refactor the code quite a bit, so that we don't convert everything in invoice currency in the end, but rather do it directly everytime we compute a part of valuation_price_unit. The test had also to be partly re-written as it was too naive in the way it used currency rates, we needed something closer to a real utilisation of the program.
2018-05-22 10:20:49 +02:00