Daily updates from Odoo
Thursday, September 19, 2024
22 changes · master
Enhancements to existing features
Contact records now show a WhatsApp chat count when conversations exist, making it easier for users to find past customer WhatsApp interactions. Clicking the count opens the related conversations in newest-first order and lets users open each chat directly.
Original PR description
**PURPOSE:** As more and more WhatsApp conversations with customers happen, one needs to be able to easily retrieve what said in those, just as we do with the chatter for emails. **SPECIFICATIONS:** - Add a stat button on the Contact form showing WA chat count and hidden if 0 - The counter should display the number of WA chats linked with that partner - Clicking on stat button should open a list view of the conversations which were counted in the stat button counter. - Conversations should be ordered by newest to oldest (last message received goes first) - Clicking on each row should open the conversation in chat window **Upgrade:** https://github.com/odoo/upgrade/pull/6161 **task**-[3658331](https://www.odoo.com/web#id=3658331&cids=2&menu_id=6478&action=4043&model=project.task&view_type=form)
Studio exports are easier to configure and now include important app details such as custom stage behavior and app icons. Export errors are also shown inside Odoo instead of taking users away from their session, making the process clearer and less disruptive.
Original PR description
Specs: https://app.excalidraw.com/l/65VNwvy7c4X/7zj4XOg5eLg Task: https://www.odoo.com/odoo/project/133/tasks/3446301 ### [FIX] web_studio: pointer for home_menu_customizer - Before: no pointer…
Specs: https://app.excalidraw.com/l/65VNwvy7c4X/7zj4XOg5eLg
Task: https://www.odoo.com/odoo/project/133/tasks/3446301
### [FIX] web_studio: pointer for home_menu_customizer
- Before: no pointer cursor on home_menu_customizer entries
- After: fixed
### [FIX] web_studio: show traceback on export failure
- Before this commit
If an error occur server side while generating an export archive, the
browser will leave the Odoo webclient to display the received server
error page.
- After this commit
The server error is now displayed in an error dialog, without leaving
the Odoo webclient.
### [FIX] web_studio: add missing info in export
- Before:
When exporting a new app with custom stages, the stage field is not
marked as group_expand, leading to the imported app to only show
grouped stages having at least a record, leaving the empty stages not
shown.
Also, apply a custom icon to a new app and its icon will not get
exported.
- After:
Fixed by simply adding the proper fields in the export
-> [ir.model.fields] group_expand
-> [ir.ui.menu] web_icon_data
### [IMP] {test_}web_studio: exports v2
**Changes**
- simplification of the wizard's UX
- autofill renamed preset and logic changed a bit: only preset models
that have modified records (from the hardcoded list of preset models +
custom models "x_...")
- simplify xmlids for records from the generated module (no module name
needed for those records)
- no more filter out unmodified records for chosen studio.export.model
This means that you now need to filter out manually the records you do
not want to export by narrowing the studio.export.model's domain.Manufacturing teams can now configure accounts used to track work in progress and related overheads. Work order costs can also be calculated up to a chosen date, supporting more accurate period-based accounting for unfinished production.
Original PR description
Enterprise support of WIP accounting: - adds fields to settings to configure accounts (only needed in Enterprise due to only expecting it to be needed when Accounting is installed, i.e. not only invoicing) - adapt the WO cost calculation to be flexible with only calculating up to a specific date of recorded times
The generic Balance Sheet report now presents equity information more clearly, making financial statements easier to understand and review. This helps businesses interpret their financial position with greater confidence and consistency.
Original PR description
Clarification of the generic Balance Sheet Task [link](https://www.odoo.com/odoo/project/967/tasks/4057538) task-4057538
Companies can now set a tax closing start date that differs from January 1, helping support country-specific tax periods. Tax reports also get a dedicated tax period date filter so reporting and closing periods stay aligned and reduce filing mistakes.
The appointment validation page now shows a cleaner, better aligned card with rounded images and fewer visual separators. Resource details are presented more clearly, and simple resource-only cases avoid showing an unnecessary card.
Original PR description
Purpose ======= Improve the card display on the right of the validation page. Specification ============= - Remove the card border - Round the 4 corners of the image - Align the staff user/resource name with their details - Remove the separators that were set between each details line, and only display one below the staff user/resource name. Task-4141399
Adds a dedicated tool to help users find potential duplicate online bank transactions in a journal, using matching details such as amount, date, account number, or transaction ID. This helps accounting teams clean up duplicated imports from online synchronization and keeps reconciliation records more reliable.
Original PR description
Remove fetch missing transactions cog menu from jounal view (as it's only pertitnent on bank journals).
Add wizard to find duplicate online transactions in a journal.
This tool finds all transaction with
- same amount &
- same date &
- same account number
or
- same transaction id
where at least one of the transactions is an online sync transaction.
Task: 3648519Loyalty features have been improved for customers using the online portal, with related sales and point-of-sale flows aligned. This helps make loyalty benefits more visible and consistent across customer-facing sales channels.
Original PR description
_* : sale_loyalty, pos_loyalty, sale
Subscriptions can now be invoiced on the first day of the relevant billing period, giving businesses more control over billing timing. Generic subscriptions also handle partial-period invoicing only when a subscription ends, helping make final invoices clearer and more accurate.
Original PR description
Allow the invoicing of sale_subscription to be on the 1st day of the given billing period. This commit also change the behaviour of generic subscription to only invoice the partial period on subscription end. task-id: 4077820
Brazilian eCommerce orders can now automatically use the required EDI defaults for payment and delivery, reducing manual setup for consumer sales. The update also improves customer defaults, relocates Brazilian city data to the core Brazil localization, and refreshes translations for better consistency.
Original PR description
This adds default values for some EDI-specific fields on payment.method and delivery.carrier. They will be used automatically in the eCommerce flow. This also sets the appropriate default EDI values for B2C customers that create an account through eCommerce. B2B customers are supported but their EDI fields have to be manually configured in the backend. This is ok for now because in most cases B2B account creation is handled manually anyway. Brazilian cities are moved from l10n_br_avatax to l10n_br. The translations changed a lot because they were out of date and poorly maintained. Translations were generated from scratch. New terms were merged in properly with msgmerge (based on advice from TIC who redid the l10n_br translations in odoo/enterprise#67955). task-4061540
The Documents kanban view now loads spreadsheet thumbnails using a lightweight thumbnail checksum instead of reading large spreadsheet snapshot files. This noticeably speeds up opening folders with large spreadsheets, reducing wait times from around 1.4 seconds to about 35 milliseconds in the tested case.
Original PR description
In the Documents app, the `checksum` field can't be used has a "unique" value to invalidate browser cache when it changes. The reason is that the document attachment isn't actually changed when a new…
In the Documents app, the `checksum` field can't be used has a "unique" value to invalidate browser cache when it changes. The reason is that the document attachment isn't actually changed when a new spreadsheet revision is created The fix was to use the last revision uuid as this unique value. It has one major drawback though: if there is no active revision, the revision uuid is read from the snapshot, which is a json file which can be very large (tens or even hundreds of Mb). (see https://github.com/odoo/enterprise/commit/a055dfeb84abc34015b269422264534d97a83d8f) This is very slow. Before this commit, we use the checksum of the thumbnail. Open the Documents kanban with 8 relatively larges spreadsheets: - before: ~1.4s - after: ~35ms (5ms to compute `spreadsheet_thumbnail_checksum`) An alternative to the proposed solution here is to make `current_revision_uuid` faster by looking at inactive revisions instead of loading the json. But - the time complexity would grow linearly with the number of revisions - if there's no revisions at all (which happens when uploading a new spreadsheet file), the json still needs to be loaded. This idea is valid on its own, but is left for another commit, the field `current_revision_uuid` is not used in many situations anyway. Let's make the Documents kanban view faster in all cases. Task: 4193350
The purchase and vendor dashboards are now combined into a single clearer view, making it easier to review supplier-related performance in one place. The stock reporting experience is also improved by replacing Inventory Flow with a more useful Operation Analysis dashboard for monitoring operations.
Original PR description
Task: [4138346](https://www.odoo.com/web#id=4138346&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
The generic Profit and Loss report was updated to match Odoo's accounting cheat sheet and make totals easier to understand. This reduces confusion where some lines looked like summaries but did not add up their visible child lines.
Original PR description
Turns out that the previous version wasn't super intuitive, as a lot of feedback was pointing out: some of the report lines weren't summing their children, although it visually looked like they were (nonetheless the naming of these lines was accurate to what they were computing, as for the total). The old version was also different to what's in our own doc (at https://www.odoo.com/documentation/17.0/applications/finance/accounting/get_started/cheat_sheet.html). So to fix these, we adopted the same version as shown in our accounting cheat sheet.
The developer debug menu has been reorganized into clearer sections, with updated labels and ordering to make tools easier to find. The Data option now opens the JSON view for the current page, improving access to record details for troubleshooting.
Original PR description
This commit reworks the debug menu by organising the items by section, renaming some items and reordering them. The menu "Data" (previously "View Raw Record Data") now redirects to the /json route of the current view. task-4055746
WhatsApp setup menus and manual template-sending options are moved into a separate app, keeping the main WhatsApp module cleaner for users who only need simple invoice sending. Message replies and Discuss integration remain in the base WhatsApp module so incoming responses continue to work as before.
Original PR description
Users using our SAAS may want to simply send whatsapp invoices through whatsapp and not use their own account for anything fancy. We move the menus and views specific to setting up whatsapp and sending templates manually to a new module so that users won't have a bunch of menus they do not care about on SAAS. The discuss/replies integration remains in the base module as discuss is how responses are stored at all, and the technical module should still take care of responses. task-3645815
Cashiers can now leave the payment screen while a payment is still being processed, and the payment will continue in the background. This reduces interruptions at the point of sale and supports smoother handling of due settlements and Chilean electronic invoice payments.
Original PR description
Before it was not possible to leave the payment_screen during a payment. Now it is possible to leave the payment_screen and continue the payment in the background. taskId: 4128663
Indian tax reports now warn users when invoices with TDS or TCS taxes involve vendors or customers without a valid PAN. This helps businesses spot cases where higher withholding or collection rates may apply under Income Tax Act rules and quickly open the affected invoices.
Original PR description
Under Section 206AA/206AB of the Income Tax Act, 1961, if the PAN of a Vendor/Customer is unavailable, TDS/TCS should be at a higher rate. With this PR, if any invoices have TDS/TCS tax and their partner has empty/invalid PAN then a warning will be displayed with the action above report which redirects to all those invoices list view. **task**-4037680 related community PR: https://github.com/odoo/odoo/pull/172091
Enterprise accounting and localization features were updated to stay aligned with recent core changes for electronic document exchange between purchases and sales. This improves compatibility and performance for invoice and bill processing, with small related test updates for subscriptions.
Original PR description
This PR adapts the existing enterprise code to the community changes in `account` & `sale` made to introduce EDI from PO to SO. Community: odoo/odoo#172450 task-3791197
Customers can now pay subscriptions using payment methods that do not support saved payment details when online payment is required. If a subscription has no saved payment token for renewal, the system sends a payment reminder instead of creating an invoice automatically, helping avoid failed renewal flows and improving customer flexibility.
Original PR description
*= test_sale_subscription Before this commit, we only allow to pay subscription with payment methods which allow tokenization which can be used while auto renewal of subscription. after this commit, allow user to pay with non tokenize method if online payment is required. if no token on subscription then send user a payment reminder instead of creating invoice. task-3471687 --- I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr)
The Point of Sale flow now supports printing a basic receipt for gift transactions. This gives store staff more flexibility when handling gifts and improves the customer experience by providing an appropriate receipt format.
Original PR description
Enhanced the POS system by introducing a basic receipt option specifically for gift transactions. This allows users to easily print receipts for gift items, improving user experience and providing greater flexibility in handling various types of sales. Task ID: 4081593 related: https://github.com/odoo/odoo/pull/180459
Accounting users can now set dedicated accounts for inventory adjustments and scrap valuation from the Accounting configuration page. This helps businesses track these inventory movements more clearly and report their financial impact in the right accounts.
Original PR description
This commit enables users to specify two new accounts for inventory adjustment and scrap purposes. These accounts can be specified from the configuration page of the Accounting app. Task-4013809
Brazilian eCommerce orders can now use default electronic invoicing settings for payment and delivery, reducing manual setup for consumer sales. The update also improves Brazil localization data by moving city records into the core Brazil module and refreshing translations.
Original PR description
This adds default values for some EDI-specific fields on payment.method and delivery.carrier. They will be used automatically in the eCommerce flow. This also sets the appropriate default EDI values for B2C customers that create an account through eCommerce. B2B customers are supported but their EDI fields have to be manually configured in the backend. This is ok for now because in most cases B2B account creation is handled manually anyway. Brazilian cities are moved from l10n_br_avatax to l10n_br. The translations changed a lot because they were out of date and poorly maintained. Translations were generated from scratch. New terms were merged in properly with msgmerge (based on advice from TIC who redid the l10n_br translations in odoo/enterprise#67955). task-4061540 Part of the alternative "no zip ranges" approach. Alternative to https://github.com/odoo/enterprise/pull/68584, but unchanged from it.