Saturday, August 22, 2026
2 changes · master
Enhancements to existing features
The accounting dashboard now highlights key metrics and shows clearer monthly paid and unpaid invoice trends, helping users understand cash activity faster. Invoice layout setup is easier to find, available to regular accounting users, and no longer blocks invoice sending if users choose to configure it later.
Original PR description
Add top KPI cards and replace the sales/purchase journal graph with a monthly paid/unpaid stacked bar chart, this new graph is based on posted invoices and bills over the last 13 months. Add a…
Add top KPI cards and replace the sales/purchase journal graph with a monthly paid/unpaid stacked bar chart, this new graph is based on posted invoices and bills over the last 13 months. Add a debug-only journal option to disable sales/purchase dashboard charts as it's useful for large DBs where chart computation can slow down the dashboard rendering. Remove the last statement line from the bank journal card as it's redundant, the user can see this either by going to the statement list or in their transaction. --- Add an invoice layout configuration card to the kpis banner in the accounting dashboard as long as the layout is not configured. Also loosen the access rights and allow the normal account users to set this configuration themselves so now it's not just admins. --- When sending an invoice without a configured document layout, the layout configuration wizard currently blocks the send flow if the user discards it. Replace the discard action in this invoice-specific flow with a configure later action. This continues the original send flow using the default layout, while keeping the layout unconfigured. task-[6319113](https://www.odoo.com/odoo/project/967/tasks/6319113) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes VoIP call flows easier to build and maintain by simplifying the editor, improving record selection, and moving phone number and schedule management to clearer dedicated areas. It also refreshes configured nodes after edits and streamlines related forms such as audio messages, queues, call groups, IVRs, voicemail, and forwarding preferences.
Original PR description
## Purpose This PR revises the VoIP call flow editor and the configuration of its related resources based on FP's review. The objective is to make call flows easier to build, move routing and…
## Purpose This PR revises the VoIP call flow editor and the configuration of its related resources based on FP's review. The objective is to make call flows easier to build, move routing and scheduling concerns to the appropriate level, and provide more focused interfaces for selecting, creating, and configuring records. ## Call flow editor - Allow nodes to be added by clicking an item in the sidebar, in addition to drag and drop. - When possible, automatically connect a node added by click to the latest available output. - Simplify the `Start` node: - display it as a green circular phone entry point; - keep a single output; - remove phone number and schedule configuration from it. - Display `Hang Up` as a red circular endpoint with a hang-up icon. - Manage the association between phone numbers and call flows from the Phone Numbers list view. - Add explicit failure outputs to nodes where a failed call requires a separate destination. - Improve the visual hierarchy of call group and queue nodes: - display the selected record name as the primary information; - display members or agents using muted secondary text. - Refresh record-backed nodes after their configuration is edited. ## Record selection For every node backed by an Odoo record: - open the search dialog directly instead of opening an intermediate form containing a many2one field; - apply the selected record directly to the node; - keep record creation available from the search dialog; - keep unconfigured record nodes out of the graph when creation is cancelled. This applies to audio messages, contacts, users, call groups, queues, IVRs, extensions, and voicemail boxes. ## Time conditions Replace inline schedule configuration with standalone `Time Condition` records managed directly from call flows. A time condition contains: - a timezone; - one or more Open or Closed periods; - period selectors for weekdays, days of the month, months, and optional hour ranges. The node exposes two explicit outputs: - `Open` for calls matching an open period; - `Closed` for calls outside open periods or matching an exceptional closed period. A warning indicates when no open period is configured, as calls will then always follow the Closed branch. Time Conditions can be searched, created, duplicated, and reused from the call flow editor. Multiple conditions and orphan conditions are supported. Depending on their position in the graph: - a condition placed after Start controls the incoming call routing; - a condition targeting a Call Group or Queue attaches its PBX schedule to that resource. Schedule controls are consequently removed from Start, Call Groups, and Queues. ## Audio messages Replace the generic audio-message form with a focused interface supporting: - uploading or dropping a WAV file; - recording audio; - generating speech from text with a selected language and voice; - previewing the resulting audio before saving. Uploading or recording selects the uploaded-audio source and clears the text-to-speech content. Entering text selects the TTS source. Generating TTS from a creation dialog keeps the dialog open and reloads the generated audio in place. Sounds created from a call flow are correctly applied to their node instead of closing the dialog or leaving an invalid node in the graph. ## Call groups Simplify the call group form: - remove the description; - keep the group name, extension, and users prominent; - move the extension to the right side and hide it in the call flow context; - set the default timeout to 10 seconds; - clarify that a zero timeout disables it; - remove the user-specific timeout; - remove schedule configuration. ## Queues Simplify and reorganize the queue form: - remove the description; - move queue options into the main form; - keep Allowed Agents as the only tab; - reorganize the fields into two columns; - place connection codes after the allowed users; - move extension and music-on-hold settings to the right column; - hide the extension in the call flow context; - display timeout units explicitly; - remove schedule configuration. ## IVR menus Simplify the menu form and terminology: - remove the description; - keep inputs as the primary configuration; - regroup secondary settings under an Options tab; - clarify greeting, invalid-input, timeout, and abort behavior; - hide standalone destinations when configuring the IVR from a call flow. Menus now delegate to their Menu Sound: - the Menu name is also used as the Sound name; - upload, recording, TTS generation, and audio preview are embedded directly in the Menu form; - generated audio is reloaded without closing the Menu dialog; - PBX synchronization is deferred until call flow configuration is complete. ## Voicemail boxes Simplify the voicemail form: - place the user, greeting sound, and notification email in the left column; - place the mailbox number in the right column; - clarify the email label and provide field examples; - replace the embedded message list with a stat button opening the dedicated message view. ## Call forwarding Simplify user call-forwarding preferences: - replace the separate always-forward option with no-answer and busy forwarding rules; - use a zero-second no-answer timeout for unconditional forwarding; - allow forwarding to an internal resource, dialable extension, or external number; - default no-answer forwarding to the user's phone after 3 seconds, or to their personal voicemail after 20 seconds when no phone is configured; - keep busy-call forwarding disabled by default. ## Testing Tests are added or updated alongside each change, with coverage for: - call flow interactions and automatic connections; - record selection, creation, cancellation, and refresh behavior; - Time Condition periods, routing, and PBX synchronization; - audio upload, recording, TTS generation, and preview; - IVR delegated sounds and deferred synchronization; - Start and Hang Up node rendering and behavior. task-6472451