Skip to main content
Flexigo Warehouse Route Exception Dashboard

Flexigo Warehouse Route Exception Dashboard error messages: what they mean and what to do

The messages in Flexigo Warehouse Route Exception Dashboard fall into two groups: those that reject settings values breaking a rule (negative days, minimums of 1, thresholds out of order) and those that stop an action or a piece of data on an exception (ignoring it without a reason, a change that is not allowed, a source document that is no longer there or an invalid source identifier). In almost every case, the text itself tells you what to fix. Here you walk through them with a made-up example, from setup to daily follow-up.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the module's source code, version 20.0 · against the sources linked at the end
Reading time
5 min

Two families of messages

The easiest way to sort the module's messages is by what you are doing when they come up:

  • Settings values that do not add up: Day values cannot be negative., Scan interval and retention must be at least 1., Backorder threshold and lookback must be at least 1., Age bucket boundaries must increase strictly. and Major overdue threshold cannot exceed critical threshold.
  • Actions or data on an exception: Ignoring an exception requires a reason., Cannot change route exception from %(old)s to %(new)s., The source document no longer exists or is not accessible. and Source record id must be positive.

For Ignoring an exception requires a reason. the fix is to enter a reason before ignoring the exception.

If you would first like to see which menus the module adds and what a record goes through, see how the module works under the bonnet.

One example from start to finish

Example Illustrative case: the company and its figures are made up to explain the flow.

Garbí Distribution is a made-up distributor that has just installed the module in its Odoo. Marta, the warehouse manager, is in charge of setting it up and reviewing exceptions every morning. We follow what she does and which message she gets at each point.

Step one: the settings

Marta opens Inventory › Route Exceptions › Route Exception Settings, which holds a single record.

Route Exception Settings list with the Default Route Exception Settings record and its scan interval in hours
The settings list with a single record, Default Route Exception Settings; some columns are cut off at the edge

First she sets the scan interval to zero as a test, and the module responds with Scan interval and retention must be at least 1. The message states the minimum clearly: both the scan interval and the retention must be 1 or more. Marta puts a valid value back and saves.

Next she mistakenly types a negative number into a days value and gets Day values cannot be negative. Changing it to a value that is not negative is enough.

Something similar happens with the backorder threshold: she leaves it at zero and gets Backorder threshold and lookback must be at least 1. As before, the threshold and the lookback period must be at least 1.

Then she adjusts the age buckets and repeats the same boundary in two consecutive buckets. The module rejects it with Age bucket boundaries must increase strictly. Boundaries have to go up in order with no repeats, so Marta sets each one above the previous one.

Finally, she puts the Major overdue threshold above the Critical one. She gets Major overdue threshold cannot exceed critical threshold. The fix is to lower Major or raise Critical until the first no longer exceeds the second.

Step two: working the exceptions

With the settings saved, Marta moves on to Inventory › All Route Exceptions.

All Route Exceptions list with six exceptions and columns for severity, status, age, warehouse, route, assignee and dates
The Inventory exceptions list, with rows coloured by severity

There is one exception she decides does not need follow-up, and she tries to ignore it without writing anything. The module stops the action with Ignoring an exception requires a reason. Marta adds the reason and can then ignore it.

On another exception she attempts a change and gets Cannot change route exception from %(old)s to %(new)s. The message shows where the change starts and where it was trying to go, and it means the module does not allow that particular step. Marta checks which status the exception is in before choosing a different change.

On a third one, an action that needs the source document ends in The source document no longer exists or is not accessible. The text gives two possibilities: the document no longer exists, or it is not accessible to her user. Marta asks the administrator whether the document still exists and whether her permissions cover it.

Step three: follow-up

With no alerts outstanding, Marta reviews the dashboard and the report to see the open exceptions and the time to resolve by type.

Walkthrough from the exceptions list to the kanban dashboard, the trend report and the settings
From the All Route Exceptions list to the Route Exception Dashboard with the Open Backlog filter, then to the Route Exception Trend Report and finally to the settings list
Route Exception Trend Report pivot table with Critical, Major and Minor columns and rows by exception type
The Route Exception Trend Report with the Time to Resolve (hours) measure by exception type and severity

The message that did not come up in the example

Marta never saw Source record id must be positive., but it is worth knowing. If an exception is created with a source record identifier that is not positive, this message appears. Check which value is being assigned to that identifier.

Summary of messages and what to do

MessageWhat to do
Day values cannot be negative.Change the days value to one that is not negative
Scan interval and retention must be at least 1.Enter 1 or more for scan interval and retention
Backorder threshold and lookback must be at least 1.Enter 1 or more for threshold and lookback
Age bucket boundaries must increase strictly.Order the bucket boundaries from lowest to highest, with no repeats
Major overdue threshold cannot exceed critical threshold.Keep the Major threshold equal to or below Critical
Ignoring an exception requires a reason.Enter the reason before ignoring
Cannot change route exception from %(old)s to %(new)s.Check the current status and choose another change
The source document no longer exists or is not accessible.Check the document exists and that you have access
Source record id must be positive.Check which value is assigned to the source identifier

What to take from the example

Most of the messages in the example came up during setup, and every one was solved by reading the text: it states the minimum, the order or the relationship between thresholds that the module expects. Before touching the settings, be clear on which values you will enter and how the buckets are ordered.

In day-to-day work, the messages stop two things: ignoring an exception without a reason and making a change the module does not allow. When the alert mentions the source document or its identifier, the problem lies in the document or in the identifier's value, not in the exception.

How FlexigoTech can help

FlexigoTech implements Odoo 17, 18, 19 and 20 and builds bespoke connectors and integrations. The module is published on Odoo Apps for 17, 18, 19 and 20, at €9 excluding VAT per Odoo version, one-off payment. You will find more on the module page and its Odoo Apps listing.

Keep reading

How Flexigo Warehouse Route Exception Dashboard works inside OdooMenus, scheduled actions and records of Flexigo Warehouse Route Exception Dashboard in Odoo 17 to 20, explained as questions and answers.Spain CAE Certificates errors in Odoo: when each message appears and what to doSpain CAE Certificates error messages in Odoo, word for word: consumption, dates, ENAC verifier, audit notes and liquidation, and how to fix each one.Spain CAE Certificates: whether it fits, what it covers and which Odoo version to useWhat Spain CAE Certificates covers according to its listing, what the service leaves out, what to prepare before installing and which Odoo versions it is on.
Checked in the module's source code (version 20.0) and the linked sources

Sources