Monday, June 20, 2022
2 changes · master
Enhancements to existing features
Purchasing teams can now manage and compare alternative supplier quotes directly from purchase orders, instead of creating a separate call-to-tender record. This streamlines RFQ comparison with visual price and date highlights, easier alternative quote creation, and options to cancel or zero out non-selected alternatives.
Original PR description
Feature Improvement Info: ==================== Previously the "call to tender" flow involved creating a `purchase.requisition` record, creating each RFQ via that record, and then manually going…
Feature Improvement Info:
====================
Previously the "call to tender" flow involved creating a
`purchase.requisition` record, creating each RFQ via that record, and
then manually going through each RFQ to compare the prices/dates/etc.
By linking the "call to tender" POs within the POs, we remove an
unnecessary `purchase.requestion` record and makes it easier to track
which RFQs are related to each other as an Alternative RFQ.
On top of this, we add some comparision features to make it easier to
determine the best RFQ, specificially the ability to compare PO lines in
the same view with some visual aids (best price/date colored green +
buttons to check these lines to make them easier to view). We also add
an extra feature to set the qty of non-selected PO lines to 0 to aid in
the RFQ selection process (only applies to non-confirmed/done/cancelled
POs).
Some other features included with this:
- option to cancel alternative POs when confirming one, which purposely
does not cancel ones that have already been confirmed/completed.
- new wizard for creating alternative POs so user can select whether or
not they want to copy the products/qtys from the original PO.
Important Notes:
- JS Customizations:
- custom many2many widget added so user can click between alternative
POs in same window + keep breadcrumb. Useful since all alt POs are
interconnected and long breadcrumb chain is possible (+ we want to
avoid windows within windows.) It is expected that user will be
aware that unsaved changes will auto-save when alt PO is clicked on.
- custom view js for Comparing Order Lines to help highlight best
options, including "Select" buttons that only check boxes in list +
feature to set "not selected" lines to qty=0 isn't possible via
normal python action, since we have to manually calc those res_ids.
- General implementation warnings:
- Anytime any button/alternative PO is clicked on within a PO, the
form will auto-save. This is due to how the current action service
handles changing views.
- POs created via "Create Alternative" button purposely:
- require a vendor to ensure correct lead times/prices
- show all vendor/product warnings in wizard because we cannot
reproduce the pop-up warning that would occur in the PO when
they are selected. We also purposely block the PO creation when a
blocking warning is set since we cannot remove the values
(especially in the case of a blocking vendor message) from a
newly created PO.
- Technical purchase.order.group model created to help with difficult
management of complicated behaviors:
- unlink from self if a PO is no longer linked to any other POs
- linkages must be symmetric (i.e. linkage PO1 => PO2 must
reflect PO2 => PO1 in their form views)
- don't lose existing linkages (i.e. PO1 => PO2 and PO2 => PO3
should auto-link PO1 => PO3)
These last two behaviors are difficult to do without grouping due to
possibility of remove and adding linkages at the same time. To avoid
complex code to ensure these complexities hold when when creating a
new PO, linkaging to alternatives is not allowed when PO is not yet
saved as a record.
Old Feature Removal Info
====================
Of course we remove the old call to tender flow and its associated modules/code.
This includes removing the 'tenders' option for products which means the
dropshipping + auto-create call to tenders use case no longer exists =>
purchase_requisition_stock_dropshipping module is no longer
needed.
Extra refactoring of onchange => compute
================================
Additionally, to avoid having to add more manual `onchange_quantity` calls to the
new flow, we convert it to a compute function and fix the associated code/tests
related to it.
Task: 2695116
Upgrade PR: https://github.com/odoo/upgrade/pull/3586Accounting users can now enable a fiduciary mode to enter invoices more quickly by editing invoice numbers, totals, payment details, and commonly used accounts with fewer steps. Partner records also gain searchable company registry numbers, improving identification and reducing duplicate or incorrect partner selection.
Original PR description
This PR: - adds a fiduciary mode which allows fast encoding of invoices. This is an Accounting setting which must be activated. This fiduciary mode allows one to edit directly the invoice sequence…
This PR: - adds a fiduciary mode which allows fast encoding of invoices. This is an Accounting setting which must be activated. This fiduciary mode allows one to edit directly the invoice sequence and enter the total amount of the invoice (by creating a single line which contains the base price, the tax amount, and the most frequent account) such that we match this 'quick total amount'. - adds a new test for this feature - adds a 'quick edit total amount' in the tax computation which verifies that the 'quick edit total amount' correctly matches sum of the base and the tax (in case of fiduciary mode) - sorts and filters the accounts suggestions in an invoice line. The most frequent accounts for a particular partner rank higher while filtering on the type of account suggested (this is disabled if the user searches itself for the account) - selects by default the most frequent account for a particular partner when creating a new invoice line - moves the "Company Registry Number" from `res_company` to `res_partner` (which might be different from the VAT in some localizations). This must be unique among all partners of the same country. - allows the search of partner by using their "VAT" or their "Company Registry Number" - modifies the invoice UI (new quick total, payment reference and partner bank id) to allow faster encoding (by typing TAB) of invoices - adds the option to hide some columns (label & quantity) - moves the car column after the account column in case the Fleet app is installed Task-id: 2857253 Community PR: https://github.com/odoo/odoo/pull/91938 Enterprise PR: https://github.com/odoo/enterprise/pull/27605 Upgrade PR: https://github.com/odoo/upgrade/pull/3570