loyalty_data_field
The loyalty summary on a sale order: points, rewards, whatever the server computed. It is a display with no options at all, and it does not survive into the next version.
August 27, 2026Updated August 28, 20265 min read
| Technical name | loyalty_data_field |
|---|---|
| Field types | json |
| Views | form |
| Module | sale_loyalty, loyalty and rewards on sales |
| Used in core | 1 occurrence, the loyalty summary on the sale order form |
| Versions | Odoo 19.0, Odoo 18.0 |
| No-code setup | No. The summary is computed server side |
| Alternatives | html, popover_widget, statinfo, account_batch_sending_summary |
What the loyalty data panel does
What this means for your team
Working examples
Unwrapping the value before each render
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. The widget and its file are absent from the development branch. |
| Odoo 19.0 | Verified | Verified against the shipped source. Identical to Odoo 18. |
| Odoo 18.0 | Verified | First version. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget arrived in Odoo 18 and is unchanged in Odoo 19, so nothing needs attention within that range. Going to the next version is different: the widget is gone, so any customization of the loyalty panel should be reviewed rather than migrated.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The panel does not appear | The server computed an empty summary, which the widget treats as nothing to show. Check the loyalty program and the customer's card; an empty structure hides the block. |
| The figures do not update | They should; the value is re-read before every render. Confirm the server recomputed the field rather than a related one. |
| Raw data appears instead of a panel | The widget name did not resolve, so the field fell back to its type. Check the widget is installed and, on the next version, that it still exists. |
| Options are ignored | The registration has no extractor. Nothing to configure here. |
| Missing widget error | The loyalty module is not installed in that database. Install sale loyalty. |
| It disappeared after upgrading | The widget is removed on the development branch. Review how the loyalty summary is presented in that version. |
Loyalty data panel vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
loyalty_data_field | Showing a server-computed loyalty summary on an order | A display-only panel that unwraps its value before each render and hides itself when empty |
| html | A panel computed as markup server side | No JavaScript and no structure to match |
popover_widget | A JSON-driven note behind an icon | Configurable icon, color and template from the payload |
| statinfo | A single figure in a stat button | One number rather than a summary |
account_batch_sending_summary | Another read-only summary panel | Reads its value once rather than before each render |
Frequently asked questions
What does the loyalty panel show?+
Why does the panel sometimes not appear?+
Does it update as the order changes?+
Can I configure it?+
Does it exist in Odoo 20?+
Loyalty programs that change what gets sold
Points, rewards and the moment a salesperson sees them are what make a program work rather than just exist. We implement Odoo loyalty and promotions across sales and point of sale, on versions 16 through 19.
Book a free consultation