Purpose
=======
When validation his first invoice/credit note, a billing user can choose which number will be the first on the invoice sequencing but it will raise a access right issue
Specification
=============
We want to allow a billing user to do it, but we can't give him the right to write on the ir_sequence.
For that reason, we won't modify the ir.sequence field on the journal and skip this part. The field won't be displayed too on the form.
Additional Point:
~~~~~~~~~~~~~~~~~
A cleaning of the code has been made to avoid raise conditions even when the first invoice has been created (2 users creating 2 invoices before having one validated).
Purpose
=======
We want to clear the accounting access groups when only the Invoicing application is installed as follows:
If only Invoicing is installed, we should only have 2 groups: `Billing` and `Billing Manager`
If Accouting and Finance is installed, we should have the current groups: `Billing`, `Accountant` and `Advisor`
Specification
=============
1/ If we have only Invoicing the should have the following hierarchy:
group_account_manager (Billing Manager) ---Implies---> group_account_invoice (Billing)
group_account_user (Accountant) is a technical group out the Accouting groups hierarchy
2/ If we have Accouting and Finance installed, we should then have:
group_account_manager (Advisor) ---Implies---> group_account_user (Accountant) ---Implies---> group_account_invoice (Billing)
The reason we want to keep the group_account_user is that we will hide the accouting fields (account_id,...) with this group, allowing the consultants to show the accouting related information on support.
fixed cases:
1) having more than one account.move.line with a residual amount. This can easily be achieved by
-make a first invoice
-partially pay it
-make a second invoice
-partially pay it
-make a payment of the remaining amount
-reconcile the lines together
2) having more than one foreign currency involved, with several ecxhange difference to book
Computation of the field 'Difference amount' was wrong as it was converting amounts in base currency in the following use case:
- company currency USD
- invoice currency EUR
- payment's journal currency USD but payment's currency EUR
- invoice of 100€, payment of 20€: difference was not 80€ because it was converting to USD
Purpose
=======
Projects and soon sales teams have a manual "favorite" button that calls a toggle_favorite method
It should actually be a widget on a boolean field
Specifications
==============
Develop a favorite widget for kanban view that allows to toggle a boolean field
Probably update boolean field to allow inverse method on it
Functionally nothing changed.
* [IMP] account, account_accountant: Move 'tax_cash_basis_journal_id' field from 'account_accountant' to 'account' module.
* [IMP] account: Few improvements in accounting settings,
- Set 'Invoicing' section as a last section.
- Add checkbox 'Cash Basis' in settings and make it company dependent and add multi company's icon to it.
- Disable the 'Tax Cash Basis Journal' field if 'Cash Basis' not active. Also add tooltip on 'Cash Basis'.
- Visible/Invisible 'Use Cash Basis' field in 'Taxes' form view based on 'Cash Basis' settings from accounting settings.
- Don't allow untick 'Cash Basis' settings if there are taxes using the configuration.
- When any CoA is installed which is creating taxes with configuration 'Use Cash Basis' set then make the 'Cash Basis' option in accounting settings checked by default.
Was PR #16516
This merge make the customer portal available independently from website
module. This implies moving some routing features from website to a new
http_routing module. Customer portal is located in a new portal module.
Sale and account customer portal are moved directly into sale and account
module, and in sale_payment and account_payment for the online payment
part. Most of website_payment code is moved to payment as it holds
customer portal features related to payment.
This merge removes website_portal, website_portal_sale and website_account
module.
This closes#17100.
When creating a customer invoice with description/reference with more than
64 characters, the description was cut to generate the name of the account move
lines. But it's possible to create an entry with more than 64 characters as name
by the interface. The limitation is deprecated.
opw:760316
This commit adds a new bridge module between account and payment. This
module is used notably to display payment related information on account
customer portal. It currently holds only a template but future commit
will add new features related to invoice payment on customer portal.
As already done for sale, customer portal for account is moved to account
module directly. Account now depends on portal module and website module
is not necessary anymore to display the account customer portal.
* [IMP] product: Clean product form view
* [IMP] website_sale: Remove old availability functionality
* [IMP] website_sale: Fix to get attributes details
* [IMP] website_sale_stock: Add inventory availability
- Warning messages:
- Don't show anything
- Show inventory
- Only show below a Threshold
- Show a custom message
- Add Default Inventory availability option in website admin under product catalog setting
- Show inventory availability message based on variant
- Block add to cart if product not available in stock (Block if Show inventory or Only show below a Threshold option is selected)
* [IMP] website_sale_options: Prevent user to buy optional product if stock is not available
* [FIX] product,website_sale_stock: details
- Corrects the display of the image on the product form when selecting a pre-existing image.
It was displaying a template and not the pre-existing one.
[FIX] website_sale_stock: sale_order
Condition was set on linked_line_id which is pointless as we iterate on each line of the order.
[FIX] website_sale_stock: fix import
Change import to proper form: from . import
* [ADD] website_sale_stock: default threshold
- Add available_threshold in website_config_setting view.
- Fix availability and threshold values to be directly
linked to product template instead of website config settings.
- Change custom_message to non-required.
* [ADD] Website_sale: Install checkbox for wbs_stock
-Add checkbox to install website sale stock as 'Inventory' in Website Settings
-Change 'Inventory Availability' to 'Inventory'
-Add help and tooltip for 'Inventory'
* [IMP] website_sale_stock: website product view
- Add Unit of measure in the stock information on the product page.
- rework get_attribute_value_ids method.
* [IMP] website_sale: Stock and Options
- bridge module to allow stock and options to interract together
- changes on the field names (follow pad), modifications.
* [FIX] product: revert on product_views and cleaning
Revert changes suggested on the task as it it scheduled on another one for a big clean-up.
Clean comments on code.
* [IMP] website_sale_stock: website product view
+[FIX] sale_stock: dependency
- changed strings and views for website and backend product view.
- change dependency of 'sale_management' to 'sale' in 'sale_stock'.
We don't actually need the sale menu when managing our stock. Sale if sufficient thix way.
* [FIX] website_sale_stock: triggers on js and ajax
The function inserting the avalability template in the web page was triggered by too much events,
this was triggering a problem with the deferred calls. This was raising an error in the website_sale_tour_buy test.
Now only change on data-attribute_value_ids will trigger the function. The test should run smoothly.
[FIX] website_sale, website_sale_stock: route tour_buy
- The improvements on the branch prevent a user to buy a product when there is no stock.
Adapted the route test to the new behaviour in order to add_cart/buy/pay a product.
--> now buying iPod (16Gb) instead of iPod (32 Gb)
- ajax.loadXML was called to often (each trigger of the function) and was making the runbot crash.
Only one call of the loadXML right now.
Use case:
- 2 invoices in foreign currencies, made at different times (and different exchange rates)
- 2 payments (same characteristics as invoices)
- allocate the 1st payment to inv A
- allocate the 2nd payment to inv A and then B so that A is fully paid, but B is not
- try to make the final payment on B to fully reconcile everything
Results (all in the payable account)
- let CB be the credit line of B
- let D2 be the debit line of 2nd payment
- let D3 be the debit line of the 3rd and final payment
Before this commit, the exchange difference computation dailed because:
- There were 2 amls that had an amount_residual and needed to be reconciled (CB and D2)
- Also, there was a structural flaw in the code that did not allow for multiple lines to have a residual
After this commit, we still make 1 move to log the exchange difference,
but we make exchange difference lines for each line that need to be reconciled: CB and D2
OPW 751710
Commit in master c36f70f6726e0c7ccca1002f78e4d402e27cae3d (2017-07-20)
Closes#18347
[FIX] account: testing partial and full reconciliation
To reproduce:
- Go Website Admin > Configuration > Settings
- Change the Website Name
- Click on 'Cancel'
The name is saved.
When the "Cancel" button is clicked, we automatically save the record
(which is a transient model). Since the field is a related to the
company, the name is changed even if we canceled.
opw-760749
Use case: click on "reconcile X items" on a journal which doesn't have its default credit or debit account set.
Result: Before this commit, a useless traceback popped to the user.
After this commit, move lines are searched without taking into account the journal's default accounts for debit or credit
OPW 760305
Closes#18485
When creating a customer invoice with description/reference with more than
64 characters, the description was cut to generate the name of the account move
lines. But it's possible to create an entry with more than 64 characters as name
by the interface. The limitation is deprecated.
opw:760316
the field data-max is supposed to be stored in the database.
Currently, the arg is 'stored=True' which is not recognised by the orm.
This fix ensures the field is correctly sotred and thus not computed at reading.
Purpose
=======
Accounting reports are quite confusing for an accountant as the menuitems doesn't to have a clear structure.
Specifications
==============
Move all the localizations menuitems to the first position under `Reporting`
Put the `US GAAP` report menuitem items under the localizations and rename it accordingly
PURPOSE
=======
Clean accounting new settings.
SPECIFICATION
=============
- When a setting is not active, I don't want to see the green arrow sending back to the configuration part.
Example : If I unactivate the follow-up levels, I don't want to see the green arrow "Follow-up levels" anymore
- Add checkbox to 'TaxCloud Connection'
- Also visible the label 'Fiscal Localization' and its text only if CoA is not set.
- Set '# of digits' always visible and relabel to '# of digits on accounts'. Also put it inside new setting 'Chart of Accounts'.