Steps to reproduce
==================
- Open studio
- Go to reports
- Click on invoices
- Try do drag a text block at the end of the page after the table with
the total
Studio doesn't place a drop hook after the table.
Cause of the issue
==================
Studio only adds hooks before and after each direct child of the element
with a 'page' class.
Since [commit], the `#right-elements` and `#payment_term` elements are
outside the page and thus we can't place an element after.
Solution
========
- Move the `#right-elements` and `#payment_term` inside a new div since
they are part of the same line and we don't want to put an element
between them.
- Move that div inside the page.
- Add a clearfix class in order to have it's height correctly computed.
[commit]: https://github.com/odoo/odoo/pull/107714/commits/66373a538e123b29b983a8e02f302e7e258e084d
opw-3345430
closesodoo/odoo#127771
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
The aim of this commit is to add a warning when an invoice is uploaded and a duplicate of this invoice already exists in db.
It is the same behaviour that we already have for vendor bills
Previous to this commit:
When uploading duplicate vendor bill -> Warning
When uploading duplicate invoice -> NO Warning
After this commit:
Warning in both cases
closesodoo/odoo#126096
Task: 3378169
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Before this PR, the incoterm location was not present in the account module.
This pr does multiple things:
- Add the Incoterm Location field in Accounting on Customer Invoices and Vendor
Bills. The field already exists on Sale Orders and Purchase Orders. When you
create an Invoice from a Sales Order, or a Vendor Bill from a PO, copy the value
of the field on the invoices.
- Update the PDF to display the field value if present, and remove the useless
duplication
- Remove incoterm setting on sale
- Remove useless xpath since now it is displayed directly on invoice when
incoterm field is fill.
Task-id: 3273460
Part-of: odoo/odoo#118954
In the process of making bank statements optional, the usability of bank statement was reduced.
This PR aims improve that, by providing the ability to view and manage bank statements on the bank reconciliation widget.
See the Enterprise PR.
Task-3270046
Part-of: odoo/odoo#127630
Commit ee6e560415 probably forgot to wrap the
rounding data of the document_tax_totals_template in a table row `<tr />`
This commit corrects it
Part-of: odoo/odoo#126963
They have been removed in 3fea5b213, these must be left overs.
They don't really do any harm besides providing a bad example for devs.
closesodoo/odoo#127767
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
In this pr, we have improved the l10n_hu localization by adding a Tax rounding
(global) by default.
Also, a lot of localization will need a delivery date on invoices. We added a
field in account that can be overridden if needed. In this pr, we did an
override on l10n_sa and l10n_hu.
When creating a sale order and that the effective date is fill, we take this
value for the delivery date.
The delivery date field will always be displayed in the other info tab, and if
there is a delivery data, the field is also display in the header of the form
view. Exception for l10n_sa and l10n_hu where the delivery date is always
present.
Also for l10n_sa company there was a problem with the vat number, it was not in
the right format.
Task-id: 3191530
Part-of: odoo/odoo#116643
In this pr https://github.com/odoo/odoo/pull/121601, we did some modification on
the payment form but by doing that we change the label of the menu item.
So this PR will change the menu item back to what is used to be but keeping the
change on the action.
closesodoo/odoo#127626
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
- Improve performances, as the ir.rule restricting private partners
visibility is also applied on res.users by inheritance, on each
prefetch.
- Solve the issue of partners set as followers on records (eg: application
form) and then made private, making them impossible to contact via the
chatter.
- Solve the multiple access issues when trying to access the bank
account, or the private address for non HR people like the accountants
forcing the usage of sudo in the business code.
TaskID: 3101400
Add a read only field which enables to visualize the DSO ratio (days of sales outstanding) when determining a credit limit for a specific customer on the partner page. This helps the user to know in how many days its customers pay their invoices. In our case, we needed to adapt the computation of the DSO for a single customer. The computation is therefore: DSO = [(Total Receivable/Total Revenue) * number of days since the first account move] for this customer. The amounts used are tax included. If this number is large, it means this customer takes a large number of days to pay the invoices, while a short number means it pays fast.
task : 3196659
closesodoo/odoo#113296
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
* = account{_payment}, base, onboarding, payment{_stripe},
sale{_management}, web, website_sale
Use the dedicated onboarding module introduced in 16.0 instead of
the res.company model to store onboarding progress.
It allows
* onboarding steps to be reused across panels
* to support steps that should be completed per-database or per-company
* to clean the res.company model from many fields and methods,
* to remove many views, controllers, actions
Module-specific notes:
* account: We also clean the remaining two steps that are not
part of an accounting panel but make the most sense to be kept here.
* account_payment: Following 8e4e8eb8, the payment provider step is
added to the invoicing onboarding panel. We apply this change here too.
Also impacts the website_sale_dashboard panel (see related ENT PR).
(The "sale tax" one is currently used for to the website sale dashboard).
* payment: Note that the step was already not part of an onboarding
panel within this module.
* website_sale: We clean
* a field not used (The website_sale dashboard onboarding panel used
the payment_provider_onboarding_state field).
* a method that was only called from website_sale_dashboard, so it is
moved there. See related ENT PR.
Includes a few tests.
Moving views/templates/styling, as well as cleaning residual onboarding-related fields and methods in base, including populate.
This also includes restoring the "onboarding_complete" overlay panel
animating it to disappear after a few seconds so that it doesn't hide
text and block buttons to re-open steps.
Task-3025136
Part-of: odoo/odoo#104223
Currently, if we have a look at the field "Due date" Or "payment terms", the placeholder "terms" seems confusing, no one knows that it will open the "payment terms" list from there as a label of the field is "Due date"
closesodoo/odoo#126362
Task-id: 3340547
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Steps to reproduce:
- Go to Accounting > Vendors > Vendors > Accounting tab > Add a new bank account
- Enter a bank Account Number
- Toggle Send Money
- A validation error is thrown
This is because the widget `boolean_toggle` triggers a save
at each change of value by default, so it needs to be desactivated.
opw-3306639
closesodoo/odoo#126333
X-original-commit: 1717a3ee9d2455eaa61010765be08707a491c93f
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
The aim of this commit is:
- to bring back a feature that was wiped out during the refactoring of the chart
of account instantiation in commit 5125748616
- add a test that will solidify the feature
- Improve the instantiation by installing the required l10n module
directly instead of asking the user to install it manually
Previous to this commit:
The button instantiating the foreign taxes leads to a traceback.
After this commit:
The button instantiate the foreign taxes correctly
Note: To prevent xml_id collision on account, we prefix the xml_ids with their
module's name
closesodoo/odoo#118056closesodoo/odoo#125950
Community-pr: https://github.com/odoo/odoo/pull/118056/
Task-id: 3196556
X-original-commit: b66ebb78ec750a4657a6de6726deb9eea7e0c7d1
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
Steps to reproduce
==================
- Go to Accounting > Accounting > Journal Entries
The total at the bottom is not displayed and there is a `-` instead.
Cause of the issue
==================
The `amount_total_signed` field uses the currency_field
`company_currency_id`.
It should be present in the view for the web client to be aware of it's
value.
opw-3316448
closesodoo/odoo#125639
X-original-commit: eaec9f7c3c28e2ee9d42597052a21e6b2695cd60
Signed-off-by: William André (wan) <wan@odoo.com>
For the l10n_es localisation, we needed to print on the invoice the company id
of the partner we send the invoice to. To do that, I had to add some id to make
the xpath work.
Task-3281337
closesodoo/odoo#125596
X-original-commit: 845b275846e49a923a9e181ad37cee3c691f16d0
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Maximilien La Barre (malb) <malb@odoo.com>
Use the many2one_barcode widget for the product field in the account.move.line
list view, similar to the sales order and purchase order views.
X-original-commit: c8918e799b23bd4e57a63f354731be78d308b97b
Part-of: odoo/odoo#125464
The bills upload widget uses a custom attr "linkText". translate.py will only generate terms that are in the TRANSLATED_ATTRS constant, thereby not including these in the po template file.
To fix this, the attribute is changed to a recognised attr "title".
The JS widget will still recognize linkText, for databases that have not updated the module.
Task-3335585
closesodoo/odoo#125516
X-original-commit: 8569ceb101f6dfe5882c33c120b9ed6d76ccf5be
Related: odoo/enterprise#42755
Signed-off-by: Habib Ayob (ayh) <ayh@odoo.com>
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
- Create an invoice
- Sent it using the Send & Print wizard
- Remove the PDF manually
=> The Send & Print button is still secondary instead of primary
X-original-commit: ef9e266c86cbc4abc24e2a6f597a2014e6e3439a
Part-of: odoo/odoo#125302
Improves the cash rounding visualization in the account move view. At the bottom right of the view, a widget displays the detail of taxes and the possible rounding must also be included in this display. In all cases, whatever the cash rounding strategy, whatever the (withholding) taxes applied if any, the invoice/bill total must equal the total of the account receivable/payable respectively. This commit makes the 'Total' line always the total amount of the account move. There is no longer a 'Total Rounded' that is displayed when using cash rounding. Instead, a rounding line is added only when the cash rounding strategy is set to 'add invoice line', which is clearer for the user.
Two cash rounding strategies exist in Odoo. The new correct way to display data is the following:
When using 'add_invoice_line':
- a rounding line is displayed on the widget
When using 'biggest_tax':
- the biggest tax (the tax with the highest tax amount) is incremented with the rounding amount
task-3333052
closesodoo/odoo#124632
X-original-commit: ae1b1f62a53b03278ef5aec583fc75b6eb7950c4
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: hupo-odoo <hupo@odoo.com>
In case of error, the send & print wizard is crashing or log an error on the invoice chatter.
In that case, nothing is sent to the end-customer.
This is problematic for all flows in which we want to send a mail to the customer automatically.
For example, e-commerce with automatic invoicing or subscription/recurring invoices.
To avoid that, the current logic of the send & print has been reshaped. In case of error, a proforma
PDF is sent instead. This is exactly the same document as the PDF but without the legal layer.
To do that, a lot of refactoring has been necessary to always provide the cumulated data for invoices
to be able to access the generated proforma report and to allow the overrides to know exactly in which
mode the hooks are called.
Also, this commit renames the method by something less generic about invoices. Indeed, this wizard needs to be
usable for others documents than invoices. That's the purpose of the invoice_single/invoice_multi mode.
For that reason, all methods about invoices are now expricitely prefixed by 'invoice'.
Fix also a performance issue on multi-invoices since the invoice_pdf_report_id document was invalided for the
whole model instead of the current record. When dealing with X invoices, the whole model was invalidated X times.
Fix the managment of attachments:
- The manual attachments wasn't send when sending a mail 'invoice_single' mode.
- When changing to another mail template, the manual attachments were lost.
Fix the double generation of PDF using a web-service.
When opening again the send & print wizard, the PDF must not be regenerated but reloaded from the previous one.
Task: 3339352
X-original-commit: e9e90811aeee46989a83b21f9b59071a9c7bc362
Part-of: odoo/odoo#124436
Before this PR, there was a button in the onboarding dashboard to do a bank
synchronisation. But this step in the onboarding is not useful in invoicing app.
It is only relevant for enterprise accounting.
So this PR remove the step from the onboarding panel
closesodoo/odoo#120678
Task-id: 3302325
Signed-off-by: William André (wan) <wan@odoo.com>
Before this pr, it was not possible to do a search on the description of the
taxes. I've added the search filter for the tree view.
Also correcting a forgotten "or" in another search view and a missing uppercase.
closesodoo/odoo#123773
Task-id: 3332762
X-original-commit: 5e2e52f10131f0de19638c47347dbcc445a8c531
Signed-off-by: William André (wan) <wan@odoo.com>
The payment form for customer or vendor are very similar. To make it more clear
for user we have made a few changes.
- The breadcrumbs are renamed from "Payments" to "Customer Payments" or "Vendor
Payments"
- Remove warning and put it next to the checkbox instead
- Add placeholder for destination_journal_id
- Cancel button is only displayed when the payment is saved
closesodoo/odoo#121601
Task-id: 3326704
Signed-off-by: William André (wan) <wan@odoo.com>
When all accounting features are enabled manually (it should only be
enabled through the installation of the Accounting app), trying to
display the settings of Invoicing will raise an error.
This is because the `block` with `id` `accounting_reports` should be
displayed but has no content.
opw-3257708
closesodoo/odoo#123431
X-original-commit: 74fa5d5418e14e35dec68caa3c5de875c12bd4ce
Signed-off-by: John Laterre (jol) <jol@odoo.com>
The 'view_partner_bank_search_inherit' is inherited from 'view_partner_bank_search' and it is using replace value of position attribute. This is not letting the fields already added in the base view to display.
Steps to reproduce:
1. Go to Bank Accounts in Contacts' configuration.
2. Try to enter some value in search field.
Current Behaviour:
The search field will not work properly and will not even display the columns to search.
Expected Behaviour:
The search field should display the columns and search the table.
OPW-3340543
closesodoo/odoo#123328
X-original-commit: 6371bc5ce85f728fcaa6561bad4bef1aba161687
Signed-off-by: William André (wan) <wan@odoo.com>
- Add group bys, columns, and filters to Bank Reconciliation models for better navigation and organization
- Trigger auto-validate cron on saving Reconciliation model with auto-validate enabled
- Restore pre-filled elements when creating Reconciliation model through bank reconciliation widget (V15.2 functionality)
- Remove text ellipsis from Reconciliation model buttons in bank reconciliation widget for better readability
closesodoo/odoo#122657
Task-id: 3253304
X-original-commit: 6d0ffce1390d9c73042e39ab637c4c88ccb0e711
Related: odoo/enterprise#41570
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Erradi Mohammed (moer) <moer@odoo.com>
After the removal of the `balance` line in payment terms in 16.2, the
behavior was not the same as it was before when using a fixed line.
Example: $ 1000
| Amount | Type | Example Value |
| ------ | ------- | ------------- |
| 50 | Percent | $ 475 |
| 50 | Fixed | $ 50 |
| 50 | Percent | $ 475 |
We used to remove the fixed lines, then split the remaining amount
according to the percentages, and finally insert the fixed lines again.
Since this behavior is both different than before (where we had a
balance line) and not clear to the user, we changed it so that the last
line in a payment term (no matter the type) is behaving as a balance
line. After this fix, our example looks as follows.
Example: $ 1000
| Amount | Type | Example Value |
| ------ | ------- | ------------- |
| 50 | Percent | $ 500 |
| 50 | Fixed | $ 50 |
| 50 | Percent | $ 450 |
task-3270971
closesodoo/odoo#122552
X-original-commit: 1bc73bc9daff4fa9d88739ba49382971f2077e3f
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Dylan Kiss (dyki) <dyki@odoo.com>
The introduction of Milk has brought new app icons.
Using the svg format creates a lack of anti-aliasing on the edges of the
shapes, which makes the icons look bad.
Since the png size has been reduced, we can afford to use the png format
to have the best possible quality without having a lack of performance.
task-3326633
Part of task-3326263
X-original-commit: e07cb722f2b11407a3ad093bd688b7d37afd5a88
Part-of: odoo/odoo#121886
This commit refactors completely how deferred revenues and expenses are managed:
- they are now completely unrelated to the model of Assets:
- the link is directly done between the original move and its deferred moves
- no need to create an deferred models in advance
- a new option to group deferred entries together is available
- this is specially useful for big DBs with lots of subscriptions for instance
- two new reports are available to have an overview of all deferred revenues and expenses for each account
- where the user can also generate the grouped deferred entries manually
task-id 3225099
closesodoo/odoo#121812
X-original-commit: e3d5c06a59fae862add2f36373882f696c225310
Related: odoo/enterprise#41255
Signed-off-by: William André (wan) <wan@odoo.com>
With the recent changes "Odoo Milk", the tax definition view was a bit broken,
the list view was taking half the space she needed.
closesodoo/odoo#121439
Task-id: 3326941
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
* = account, sale
This commit allows users to modify the panel image for the
onboarding steps. This is especially necessary for additional
onboardings that can be/could have been created, or if the
appointment onboarding was modified, as it was chosen to not
overly complicate the upgrade and simply not modify these records.
We also customize the placeholder icon to be one of these icons
instead of the default "camera" image.
Finally, a few icons are renamed to be more generally usable.
closesodoo/odoo#121349
Related: odoo/enterprise#41031
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The manual reconciliation widget is too complex. We completely remove it and
replace it with a simple wizard `account.reconcile.wizard` that opens when
selected lines can't be directly/silently reconciled (then we need a
write-off whose data will be filled in the wizard).
To do so we had to refactor reconciliation methods to allow to shadow some
values and fake reconciliation to get correct values.
We also now use of the _reconcile_plan instead of the previous reconciliation
which should be more efficient and correct.
Refactored a bit common between `test_account_reconcile_wizard` and
`test_account_move_reconcile` to avoid duplication.
In this process of simplification we also separate the previous `automatic_entry_wizard`
in two separate interfaces from the user's perspective: one only handle the change of
period and the other will handle complex transfer that are not possible through regular
reconciliation process (i.e. through the wizard we are creating in Enterprise related PR).
closesodoo/odoo#120832
Task: 3060792
Related: odoo/upgrade#4674
Related: odoo/enterprise#40510
Signed-off-by: Laurent Smet <las@odoo.com>
This commit adapts the directional icons to improve the usability and
maintain consistency with the ui icons library.
task-2818586
Part-of: odoo/odoo#116641
*: onboarding, account, account_payment, sale.
Currently used in the appointment module (See c1cf8bfb).
Related Task-3297572
task-2818586
Part-of: odoo/odoo#116641
*: account, gamification, mail, mrp, note, project, website_blog,
website_event_track.
Uniform design defining a common element shared across different
modules.
task-2818586
Part-of: odoo/odoo#116641
Currently, the UBL/CII format (if enabled on the invoice) is checked by
default, which will trigger the validation checks upon generation. This
can be annoying (feedback: "error message when we want to send invoices
to customer. For some customer, there is a problem with the xml file. To
be able to send the invoice, we uncheck the box for the xml invoice. See
video:
https://drive.google.com/file/d/12IkhqQtHw0EUF3srqRX8uZjCXU2DYpns/view?usp=sharing)
To solve the issue, we add a new field `invoice_is_ubl_cii` to check or
uncheck the UBL/CII checkbox by default.
In addition, rename the field `invoice_is_print` to
`invoice_is_download` since it corresponds to the checkbox 'Download'.
Finally, make the `company_id` of account.move.send a computed field
instead of using the `_default_get`. Indeed, when creating the wizard
and passing a `move_ids` key, this key will not be detected as missing
by the `default_get`, and we will not enter the statement in the
`default_get` in `account_move_send.py` to set the `company_id`. As a
consequence, the `company_id` will not be set, and the subsequent
computed fields will not be correct (e.g.
`wizard.company_id.invoice_is_ubl_cii` will always be False inside
`_compute_checkbox_ubl_cii_xml` if `company_id` is not set).
task-3297308
closesodoo/odoo#119397
Related: odoo/upgrade#4581
Signed-off-by: William André (wan) <wan@odoo.com>
This commit adds buttons to existing documentation pages next to the
features' labels in the settings.
task-3297635
closesodoo/odoo#121155
X-original-commit: f184594a5e202fa12903304cc32cb0c4fccf6434
Related: odoo/enterprise#40943
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Display the totals and taxes on pdf invoices in the company currency when the invoice is in foreign currency. This is a requirement from some countries where local authorities need the VAT to be expressed on the invoice in the national currency even if the invoice has been issued in another currency. The tax groups details are also required. The new information is expressed using a rectangle at the bottom right of an invoice. It includes the same information as the detail of totals and taxes above, with the difference that it is in company currency. If cash rounding is activated, the total rounded must not be displayed in company currency.
task : 3256515
closesodoo/odoo#118234
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
This commit follows the addition of the OWL date picker and intends to:
- update views calling daterange widgets to use the new syntax (and
remove the end date field from the view in most cases);
- change the remaining components extending the previous DatePicker and
DateTimePicker components.
Part of task 3121497
Part-of: odoo/odoo#112171
This PR resolves an issue where it was impossible to save a bank account for a newly created partner (customer/vendor) without saving the partner details first. The solution implemented is to automatically save the partner when the user clicks on "add a bank account", thus ensuring a smoother user experience.
Problem Description:
When creating a new customer or vendor, users encountered difficulty when trying to add a bank account without saving the partner details first. The account holder field was required to save a bank account, but it didn't exist yet, creating a frustrating experience for users.
Solution Implemented:
We have implemented an auto-save feature for the partner when the user clicks on "add a bank account". This will force the save of the partner details before proceeding with the bank account addition, ensuring the account holder field exists and can be filled in.
closesodoo/odoo#120599
Task-id: 3266820
X-original-commit: d4defd079508e14b6a74c01a41868d3b57b2e0c0
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Erradi Mohammed (moer) <moer@odoo.com>
Improve some aspects of the recent res partner bank improvement:
- the url toward the docs open in a new tab
- fix the account creation by disabling the readonly when trusted
while the record isn't existing in the database yet
- improve the visual of the setting by putting it in the accounting
section
closesodoo/odoo#120423
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
This commit is adding the activity views and columns to a lot of the basic
accounting views.
closesodoo/odoo#120140
Task-id: none
Related: odoo/enterprise#40554
Signed-off-by: William André (wan) <wan@odoo.com>
Due to performance issues, the computation of the balance in GL was changed (odoo/odoo#103697)
Since it is computed in `_get_journal_dashboard_bank_running_balance` as the last statement balance (balance_end_real) + transactions (account.bank.statement.line since the last statement), we rename the label on the journal dashboard to "Running Balance".
Also, fix the order clause of the "Last Statement" balance as it has a problem when there are 2 statements on the same day.
OPW-3265511
closesodoo/odoo#119764
X-original-commit: 383f52ac2b75a839469323a1e71b4c2ea76f8393
Related: odoo/enterprise#40334
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Ayob Habib (ayh) <ayh@odoo.com>
In 16.2, we made a task (https://www.odoo
.com/web#id=3097097&cids=1&menu_id=4720&action=333&active_id=967&model=project
.task&view_type=form) to improve the layout of invoice. But the l10n_ec
localisation was wrongly impacted due to a xpath. This commit correct that by
adding an id on payment terms and the enterprise pr will change the xpath.
opw-3097097
closesodoo/odoo#119672
X-original-commit: 579c9f615db06f0581c3b6802cb695fafc8682cb
Related: odoo/enterprise#40291
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Before this PR, the filter on account root was present 2 times in the journal
items views. By removing one of the two, the problem is solved.
opw-3275279
closesodoo/odoo#119544
X-original-commit: bffa837a3b11144a53300e93249767ce4e9374d2
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Maximilien La Barre (malb) <malb@odoo.com>