Every company on Odoo has a list of questions it asks over and over. How did each branch do yesterday? Which customers are past due? What did we sell below cost last month? The answers are already in Odoo. Getting them usually means exporting to Excel, rebuilding the same pivot table, and emailing a file that is out of date by the next morning. Or it means asking IT for a new report and waiting.
BI Studio is for those questions. Pick the data, say what to count and how to split it, and the answer shows up as a number, a chart or a printable report. It lives inside Odoo, behind your normal Odoo login, and it shows you only what Odoo already lets you see. Next week, whoever asks the same question opens the same dashboard instead of asking again.
The Sales dashboard that ships with the Sales pack: this month's revenue, orders and order value against last month, then twelve months of history.
The screenshot above is the Sales dashboard. It comes ready-made with the Sales pack and fills itself in from confirmed orders. Nothing is copied out of your database to make it. Most teams start with the dashboards that came with their apps and build their own questions once they see what is possible. Four everyday jobs shows what that looks like in a real week.
Four things to know
Everything in BI Studio is one of four objects. Learn the names once, because the menus use them everywhere.
Object
What it is
Example
Dataset
A prepared table of Odoo data, with business names on every column
Sales Lines: one row per confirmed order line
Question
A saved calculation on a dataset, shown as a number, chart or table
Revenue per month
Dashboard
A page of questions with shared filters on top
Sales, CRM, Inventory
Report
A printable document with headers, groups and totals
General Ledger, Stock Count Sheet
A question and a report can sit on the same dataset. A report needs no dashboard, and a dashboard is only ever a page of questions.
Who does what
Your administrator gives you one of four BI Studio roles under Settings → Users → Access Rights. Each role includes the one before it.
Reader opens the dashboards, questions and reports shared with them. Most people in a company are Readers.
Author also builds questions, dashboards and reports of their own, on datasets shared with them.
Dataset Designer prepares datasets for everyone else and can place BI Studio entries in any menu.
Developer also sees the SQL behind each dataset.
One more thing decides what you see: your normal Odoo permissions. A salesperson who can only see their own orders in Sales sees only their own orders in BI Studio too. Sharing and row security explains how that works.
Picture a stationery wholesaler with a warehouse, a sales team visiting offices and schools, and a shop counter at each of its branches. Here is how four people there use BI Studio in an ordinary week, and the one thing each of them has to watch out for. Everything below ships with the app packs. Nobody had to build it.
The branch supervisor, every morning
Ani runs one of the branch counters. Before the shop opens she opens POS Revenue and sets Outlet to her branch. The top row shows this month's revenue, number of tickets and average ticket, each against last month. For yesterday alone she sets Period to that one day, and the charts below follow it. Sales by Cashier shows who rang up what, and Busiest Hours shows when customers actually pay, which is what she plans next week's shifts from.
Watch out for: profit on a day that is still running. Odoo works out the cost of what was sold when the POS session closes. Until then the POS Profit dashboard counts the whole of today's sales as profit. Read profit for yesterday and earlier. POS Profit is shared with POS managers and accountants only, so a cashier never sees it.
The salesperson and the sales manager
Rina sells to offices. She opens the Sales dashboard and sees her own orders only, because in the Sales app she is set to see her own documents. She did not have to filter anything. Her manager opens the same dashboard and sees the whole team. On Monday he looks at Top 10 Customers and Not Yet Invoiced by Customer, and clicks a bar to get the order lines behind it.
Watch out for: two figures that disagree because two people see different rows. On the day of the screenshot in Read a dashboard, Rina's 36,263 and her manager's 177,015 were both correct. Also, a few customers buy in US dollars. Sales amounts stay in each order's own currency, so split by Currency before adding them up.
The warehouse lead, before a stock count
Once a month Budi counts the warehouse. He runs the Stock Count Sheet, picks the warehouse and prints the PDF. Each warehouse starts on a new page, products are listed per location with the quantity Odoo expects, and the Counted and Notes columns are left empty for the counters to fill in by hand.
Watch out for: two things. The sheet lists only products Odoo thinks are there, so a box nobody received in the system does not appear and has to be added by hand. And the quantities are as of the moment of printing. Print right before the count, and stop receipts and deliveries for that warehouse until it is done.
Finance, at month end
Sari prepares for collection calls with Aged Receivables. She leaves Customer empty, sets Due Date up to today and gets every overdue invoice, customer by customer, oldest first, with what is still owed. At month end she runs the General Ledger for the month, straight from Invoicing → Reporting where the administrator placed it.
Watch out for: the General Ledger shows the movement in the chosen period. Opening balances are not included, so the closing figure on an account is not its balance. Aged Receivables shows amounts in each invoice's own currency, so a dollar invoice is listed in dollars.
What they did not do
None of the four exported anything to Excel to get their answer, and none of them asked IT for a report. When Sari wants overdue invoices per salesperson instead of per customer, an Author duplicates the report and changes the grouping. That takes ten minutes, not a development ticket.
Open BI Studio from the Odoo home screen. The top bar has three menus.
Dashboards opens the last dashboard you looked at. Under it, Manage Dashboards lists every dashboard you can see, with its category and who it is shared with.
Reports holds your Saved Questions and the ready-made report shortcuts, grouped by area (Accounting, Inventory, Sales Margin).
Build is for Authors and Designers: datasets, the report designer, categories, and import/export of definitions.
Switch between dashboards
The button with the grid icon and the dashboard's name, top right, lists every dashboard you have access to, grouped by business area.
The dashboard switcher groups dashboards by area: Sales, CRM, Point of Sale, Purchase, Inventory, Manufacturing and more.
Pick one and the page swaps in place. BI Studio remembers the last one you opened, so tomorrow morning you land straight on it.
Lists you will use
Saved questions, dashboards and reports all have a list view with a category panel on the left. Click Sales in the panel and the list narrows to sales work. The search bar works like any other Odoo list.
Saved questions, filtered by category in the left panel. Each row shows its dataset, how it is drawn, its owner and how many dashboards use it.
A dashboard is a grid of tiles. Each tile is a saved question. The strip across the top holds the dashboard's filters.
The numbers at the top
Single-number tiles carry a small label such as This month next to the title. That label is the tile's own period, and it wins over the filter bar. Under the big number you get a comparison, for example +33.3% vs previous period. Early in a month this compares the days so far against the same days of the month before, so the percentages swing wildly in the first week. That is arithmetic, not a bug.
The little ⓘ under a tile opens its notes: what the dataset includes and leaves out. "Confirmed orders only. Quotations and cancelled orders are not sales." Read these before you quote a number in a meeting.
Filter the whole page
The filters across the top apply to every tile they are connected to. Set Period to a date range, or click a sales team, and the tiles reload together. Tiles pinned to their own period (the "This month" ones) keep their period and still pick up the other filters.
Look underneath a number
Click a bar, a slice or a row and BI Studio opens the records behind it as an ordinary Odoo list. You can open any order from there, provided Odoo lets you open that order. Clicking a salesperson's bar on the Sales dashboard, for example, shows the order lines that make up their total.
Everyone sees their own slice
Two people can open the same dashboard and see different totals. That is on purpose.
Rina is a salesperson who can only see her own orders in Odoo. The same Sales dashboard shows her revenue only: 36,263 this month, against 177,015 for the whole company.
BI Studio applies the same record rules as the Sales app. Rina sees her own figures. Her manager, who sees every order in Sales, sees the company total. Nobody has to build a second dashboard for that.
Buttons on the top right
Refresh reruns every tile. Export saves every tile to one Excel workbook, using the filter values on screen. PDF prints the page as you see it. The square icon goes full screen, which suits a wall display, and the Refresh Interval on the dashboard settings can reload it every minute or so while it hangs there.
When a tile says "not shared with you"
The tile's question works, but its data has not been shared with you. Everything else on the page still loads. Ask the dashboard's owner to share the dataset with your group. Sharing has the details.
Dashboards
Build a dashboard
You need the Author role. Open Dashboards → Manage Dashboards, click New, give it a name and save. Then click Open Dashboard and Edit layout.
Edit layout mode. Each tile has its own controls, and the panel on the right lists widgets and your saved questions to drag in.
Add tiles
The panel on the right has two parts. Widgets are the non-data pieces: a text block, a section heading, an image (a logo, a floor plan) and a link to another dashboard. Saved questions lists every question you can use. Drag one onto the grid, or click it to add it at the bottom.
Each tile is 12 columns wide at most. Drag the corner to resize it and drag the handle to move it. Tiles snap to the grid, so a row of three KPI tiles at width 4 always lines up.
Change a tile without changing the question
Every tile can override its question for this dashboard only:
Show as draws the same numbers as a different chart. A bar chart question can be a line on this page and stay a bar everywhere else.
Period pins the tile to Last 7 days, This month, Last 12 months and so on, whatever the filter bar says.
Comparison adds "vs previous period" or "vs same period last year" under a single number.
Stacked, Legend, Values, Table and the colour swatch adjust the drawing.
The question itself stays untouched. Other dashboards using it see no change.
Filters across the top
Open the dashboard's settings (the Settings link) and go to Global Filters. Add a filter, choose its kind (date range, pick from a list, text search, number range), then tell it which column to filter on in each dataset the dashboard uses. A Sales dashboard built on two datasets needs the Period filter mapped twice: Order Date in Sales Orders and Order Date in Sales Lines. A dataset you leave unmapped simply ignores that filter.
Pages
A long dashboard can be split into pages. Click + next to Main in edit mode to add one. Each tile belongs to one page. Pages are handy for a management pack: Overview, Customers, Products.
Save, then share
Click Save layout. Until you share it, the dashboard is private to you. Sharing explains the rest, including the yellow warning you may see on the dashboard form.
Questions
Ask a question
A question is a calculation you can save: a measure, optionally split by a grouping, filtered, sorted, and drawn. Open Reports → Saved Questions → New.
The question builder. Left: what to calculate. Right: the answer, live, as you change it.
The builder answers as you click. There is no Run button.
Pick the data
Data source lists the datasets shared with you. The line under it says what one row means, for example "One row = one confirmed SO". That sentence matters. On a dataset where one row is an order line, counting rows counts lines, not orders. Use the dataset's distinct-count measure (Order Count on Sales Lines) when you want orders.
Measure and grouping
Measure is the number: Total, Average, Minimum, Maximum, Count or Distinct count of a column. Add more than one to get several columns side by side.
Grouped by splits the number. Pick Customer and you get one value per customer. Pick a date and choose how to bucket it: Day, Week, Month, Quarter, Year, or hour of day and day of week for patterns. Add a second grouping for a breakdown inside a breakdown.
Only include
Click add next to Only include to filter the rows before anything is calculated: one sales team, one country, orders above 5,000. These filters are part of the saved question. Dashboard filters stack on top of them.
Sort and size
Sort by orders the groups. Sort by the measure, largest first, and set Max rows to 10 and you have a Top 10. Leave the sort on the grouping and a monthly chart stays in date order.
Show as
Twelve ways to draw it: table, single number, bar, horizontal bar, stacked bar, line, area, pie, doughnut, radar, polar area and pivot. Show the rows underneath adds the table under any chart. Pick what reads fastest: months on a line, a ranking on horizontal bars, a share of a whole on a doughnut with five slices or fewer.
Name the question at the top and click Save. It lands in your Saved Questions, ready for a dashboard.
A new question starts empty. Choose a dataset and a measure and the answer appears.
Questions
Saved questions and export
Every question you save shows up under Reports → Saved Questions. The list tells you which dataset each one uses, how it is drawn, who owns it, whether it is shared and how many dashboards it sits on. Check that last column before you change a question that other people's dashboards depend on.
Export to Excel or CSV
Click Export on a question's row, or the Export button inside the builder.
Exporting a question. Choose the format, whether you want only the rows on screen or every row, and whether to add a totals row and the data-quality notes.
Only what is on screen gives you the same groups as the chart, capped at its Max rows. Every row lifts the cap, which is what you want before pivoting in Excel. Add a totals row appends the same totals BI Studio shows. Include data-quality notes writes the dataset's caveats ("Amounts are in each order's own currency") under the table, so the file still makes sense when it is forwarded twice.
Duplicate rather than edit
A question you own is yours to change. A question somebody shared with you opens read-only. To make your own version, click Duplicate on its form. The copy is private to you until you share it.
Categories
The category on a question (Sales, Inventory, Accounting) only decides where it appears in the left panel and in the dashboard switcher. It is set from the dataset by default. Change it if a question belongs somewhere else.
Reports
Run a report
Reports are documents: a General Ledger, an aged receivables list, a stock count sheet. You run one, choose what goes in, and read it on screen, as a PDF or in Excel.
Open it from Reports in the BI Studio menu, or from wherever your administrator placed it. The General Ledger, for instance, can live under Invoicing → Reporting next to Odoo's own reports.
The General Ledger's run page. The date range starts on This month, the Account list comes from the data itself, and you choose how to see the result.
Fill in the form
Each report asks only what it needs. A star marks the fields you must fill.
Date ranges come with quick picks under them: This month, Last month, This quarter, This year, Last 30 days. One click fills both dates.
Pick lists show values found in the data. Tick one or several, or type in the search box to narrow a long list. All and None save a lot of clicking. Leaving a list empty usually means "everything", and the hint under it says so.
Numbers, Yes/No switches and plain text boxes work as you would expect. The form tells you straight away if a number range runs backwards.
Choose the output
On screen opens a preview you can scroll and print from. PDF downloads the document. Excel gives you the same rows and totals in a spreadsheet. A report's author can switch any of these off, so you may see only one or two.
Press Show report (or Enter). Reset puts every field back to the report's defaults.
The General Ledger on screen: accounts as groups, journal items as rows, debit, credit and balance with a total per account.
The preview prints the parameters you chose at the top, so a filed copy always says which period it covers. Re-run takes you back to the form with your choices kept.
Same report, different people
Reports read through your Odoo permissions, like dashboards. If two printouts of the same report disagree, compare who ran them before you compare the numbers.
Reports
Design a report
You need the Author role. Reports live under Build → Report Designer. Click New, name it, pick a dataset and save. If you want something printable in a minute, click Start From a Simple Listing. That builds a header, one row per record and a totals line from the dataset's columns, which you can then trim.
A report's form. The top half sets the source and the page. The tabs below hold grouping, bands, parameters and the run dialog.
How a report is built
A report is a stack of bands, the way Crystal Reports and most accounting packages work.
Band
Prints
Report header
Once, at the very top
Page header
At the top of every page
Group header
Before each group, for example each account
Detail
Once per row of data
Group footer
After each group, usually with subtotals
Page footer
At the bottom of every page, often the page number
Report footer
Once at the end, with grand totals
Each band holds elements: fixed text, a column value, a subtotal, the group's value, a parameter's value, a page number, an image, a line or a rectangle.
Grouping
The Grouping tab sets the levels. Level 1 is the outer group (Account), level 2 nests inside it (Partner within Account). Pick the column from the list, and choose a date bucket if it is a date. Tick Page Break After to start each group on a new page, which suits one statement per customer.
Each level gets its own group header and footer bands. A subtotal in a group footer adds up only that group's rows, so nested subtotals come out right without extra setup.
Flow or canvas
Flow lays elements out in rows and columns. It is quick and handles long listings well.
Canvas lets you place every element where you want it on the page, in millimetres, with snap-to-grid, zoom, undo and an inspector for fonts and borders. Use it for invoices, labels and forms with a fixed layout. Click Design on Canvas to switch a report over. The switch is one-way on purpose, so try it on a duplicate first.
The canvas designer. Each band is a strip of the page. Drag elements, resize them, and set their properties on the right.
Conditions
A band or an element can carry a condition: print this row only if the balance is above zero, hide this label on the last page. Conditions are checked on the server for every row, the same way in the preview, the PDF and Excel.
Paper
Orientation, paper format, page numbers and the "printed on" stamp sit under Page on the form. The Subtitle prints under the title and is the place for the one sentence a reader needs, for example "Totals are the movement in the period. Opening balances are not included."
Reports
Build the run form
Every report can have its own run form, the page your readers fill in before it runs. You build it on two tabs of the report: Parameters decides what is asked, Run Dialog decides how the window looks.
The Parameters tab. Each line is one field on the run form.
Add a parameter
Click Add a line and fill in the popup.
One parameter, opened. The left side says what it filters, and the right side says how it looks.
Filters on is the dataset column the answer narrows. Pick it first. BI Studio then guesses the rest: a date column becomes a date range, a number becomes a number range, a related record or a fixed choice becomes a pick list, and the label is copied from the column.
Parameter Type can be a date range, a single date, a pick list, text, a number, a number range or Yes/No.
Required puts a star on the field and stops the report from running without it.
Technical Name is how you print the chosen value inside the report: a text element containing {date} prints the dates the reader chose.
Make it friendly
The right side of the popup is about the reader.
Section groups fields under a heading, say "Period" and "Who". Width puts two short fields side by side. Hint is the grey line under the field: "Leave empty for every account." Opens with fills a date range when the form opens (This month, Last quarter, Yesterday and eight more). Quick picks shows the one-click date buttons.
For a pick list, choose where its values come from. Values found in the data lists what is actually in the dataset, up to 500 values, and only those the reader is allowed to see. A list I type takes one value per line, as value:Label, for short fixed lists such as draft:Draft and posted:Posted.
The window itself
The Run Dialog tab: the window's title, the line of instructions, the button text and which outputs are allowed.
Dialog title and Instructions sit at the top of the form. Run button relabels "Show report", for example to "Print statements". Untick PDF or Excel to hide those outputs, and set Default Output for the one most people want. Try the dialog opens the form exactly as a reader will see it.
The finished run form for the General Ledger, opened from the report.
Sharing and menus
Sharing and row security
Everything you build starts private. You share it by adding groups to Shared With on the question, dashboard or report. Pick the groups that match the people, such as Sales / User: Own Documents Only for the sales team or Inventory / User for the warehouse.
Share the data too
A dashboard is a page of questions, and each question reads a dataset. A reader needs all three. When a dashboard is shared with people who cannot read some of its data, the form tells you:
The dashboard form warns when the groups it is shared with cannot read part of its data. Here, POS managers cannot read attendance data and attendance officers cannot read POS orders.
The warning names the datasets. Either share those datasets with the same groups (a Dataset Designer does that on the dataset's Access tab), or take the groups off the dashboard. Sometimes the split is intended. Staffing vs Demand puts POS sales next to attendance, and each group seeing its own half is the right outcome.
What readers see: row security
Sharing decides who may open something. Row security decides which rows they get.
By default every dataset follows the record rules of the Odoo model it comes from. If Odoo shows a salesperson only their own orders, BI Studio shows them only their own order lines, in every question, dashboard and report built on that data. Multi-company rules work the same way: people see the companies they are allowed to work in.
A Dataset Designer can switch a dataset to Dataset share only. Then everyone it is shared with sees every row of their companies, whatever Odoo would otherwise restrict. Use that for summaries you deliberately hand to people outside the app, a monthly sales total for the warehouse lead, say.
Names on charts
A tile grouped by warehouse shows warehouse names even to someone who cannot open the warehouse records. Odoo does the same in its own forms: you see the name on an order without being allowed to open the record it points to. BI Studio only names records that appear in rows you are allowed to read.
What a reader can change
Nothing that belongs to someone else. A shared question, dashboard or report opens read-only. Readers can still filter, sort, drill, export and print. To change a shared definition, duplicate it.
Sharing and menus
Put BI Studio in any menu
A dashboard, a report, a question or a dataset can sit in any menu in Odoo, not only under BI Studio. A sales manager finds the Sales dashboard under Sales. The accountant finds the General Ledger under Invoicing → Reporting, next to Odoo's own reports.
Add it
Open the record's form and click Add to Menu.
Placing the General Ledger under Invoicing → Reporting.
Menu name is the label people will click.
Placement has three choices. Inside BI Studio puts it in the BI Studio menus. Under another menu lets you pick any parent, from any app, in Put it under. As its own app on the home screen gives it a tile on the Odoo home screen with the BI Studio icon.
Sequence orders it among its neighbours. Lower comes first.
Visible to decides who sees the menu entry. It starts with the groups the record is shared with. If you leave it empty, BI Studio shows the entry to BI Readers, never to everyone.
The yellow note warns you when something will not work for the people you chose. In the screenshot, members of the accounting groups who are not BI Readers would see the entry but be refused when they click it. The fix is in the note: give them the Reader role, or pick a group that has it.
Click Save to Menu. The menu reloads and the entry is there.
Aged Receivables, placed the same way, under Invoicing → Reporting as "Aged Receivables (BI)", next to Odoo's own Invoice Analysis.
Move it or remove it
Once placed, the button reads Move Menu Entry. It reopens the same window on the current placement, so you can rename it or move it to another app. Remove from Menu takes the entry away. Deleting the record removes its menu entry as well.
Who can place what
Authors can add their own work inside BI Studio. Placing something under another app's menu, or on the home screen, needs the Dataset Designer role or Odoo administrator rights, because it changes what other teams see in their apps.
A report placed in a menu opens on its run form. A dashboard opens full page. A question opens in the builder.
Help
What comes ready-made
Each app pack installs by itself when its Odoo app is installed. A pack brings datasets, questions, at least one dashboard and sometimes reports. Everything is shared with the people who already use that app in Odoo.
Pack
Dashboards
Reports
Shared with
Sales
Sales
Sales users
Sales Margin
Profit
Product Margin by Category, Vendor Margin Comparison, Margin Leak
Receivables, Payables, Profit and Loss, Cash and Bank
General Ledger, Aged Receivables, Aged Payables
Invoicing and accounting groups
Employees
Employees
HR officers
Attendances
Attendance
Attendance officers
Time Off
Time Off
Time Off officers
Timesheets
Timesheets
Timesheet approvers
Expenses
Expenses
Expense approvers, invoicing users
Staffing
Staffing vs Demand
POS managers and attendance officers, each seeing their half
To open any of these, a person also needs the BI Studio Reader role.
Before the first look
The datasets arrive switched off. Building them creates database views, which takes a few seconds each and up to several minutes for all of them, so it is left to a person to start. A Dataset Designer opens Build → Datasets, selects the datasets, and chooses Generate from the Action menu. Dashboards fill in as soon as their datasets are ready.
Change them freely
The ready-made records are yours. Rename a dashboard, re-share a question, change a report's columns. Module upgrades leave your changes alone, and only adjust records still exactly as shipped.
Help
When something looks wrong
A tile says "not shared with you". The question works, but its dataset is not shared with any of your groups. The rest of the dashboard still loads. Ask a Dataset Designer to add your group on the dataset's Access tab.
A tile says the dataset "has not been generated yet". Somebody installed a pack or reset a dataset and nobody generated it. A Dataset Designer clicks Generate on the dataset.
"Regenerate this dataset to show this question." The dataset's columns changed after it was built. Regenerating rebuilds the view. Refreshing the dashboard will not help.
My total differs from my manager's. You are probably seeing different rows. Row security gives each person the records Odoo lets them see. Compare who ran it and which companies are selected in the top bar before comparing figures.
The KPI says +900%. Early in the month, "this month" is a few days against the same few days last month. Small bases make huge percentages. Look at the Revenue per Month chart for the trend.
A report will not run. Read the message under the field it points to. A required field is empty, or a number range runs backwards, or a value was typed that is not in the pick list.
The menu entry is there but clicking it is refused. Your group can see the menu but not the record behind it. Whoever placed it should share the record with your group, or give you the Reader role.
A total mixes currencies. Sales, purchase and invoice datasets keep each document's own currency, and BI Studio does not convert. A USD 1,000 order adds 1,000 to a rupiah total, and inside a total of billions you will never spot it. Group or filter by Currency before adding amounts up.
POS profit today looks too good. The cost of what was sold is filled in when the POS session closes. Until then, profit equals sales. Check again after closing, or read yesterday.
An open balance is several times too big. Someone put a per-invoice amount on a dataset with one row per invoice line, so the amount repeats on every line. Use the Receivables or Payables dataset for balances.
Today's figures are missing. The dataset is a snapshot (materialized or table) and has not refreshed since this morning. Snapshots refresh on their schedule or when a Designer clicks Refresh Now. The dataset form shows the last refresh time.
Something else. Note the dashboard or report name, what you clicked and the exact message, and send it to your administrator. The Odoo log on the server names the question or dataset involved in most errors.
Help
Glossary
Aggregate. How a measure is calculated: sum, average, minimum, maximum, count or distinct count.
Band. A horizontal strip of a report that prints at a set moment: once per row, once per group, once per page.
Comparison. The "vs previous period" line under a single-number tile.
Dataset. A prepared table of Odoo data with business names, built once and used by many questions and reports.
Dimension. A column you group by, such as Customer or Product Category.
Drill. Clicking part of a chart to see the records behind it.
Generate. Building a dataset into the database so it can be queried.
Global filter. A filter at the top of a dashboard that applies to several tiles at once.
Grain. What one row of a dataset represents: one order, one order line, one stock move. Totals depend on it.
Live view. A dataset that reads current data every time it is asked.
Materialized view. A dataset that stores a snapshot and refreshes on a schedule. Faster on big tables, a little behind.
Measure. A number you calculate, such as Sales Amount.
Pack. A module that brings ready-made datasets, questions, dashboards and reports for one Odoo app.
Parameter. A field on a report's run form.
Row security. The rule that each person sees only the rows Odoo would show them.
Trust level. A label a Designer sets on a column (Exact, Derived, Estimated, Fallback) that BI Studio prints next to numbers built from it.