Skip to main content
Master data review in Beebole is an admin table over your organization’s configuration data: the definitions your account is built on, not the time your team logs. Pick an entity, build the columns you want from its own fields and relations, and you get a live table you can filter, download, or edit in bulk. Use it to audit a setup before a cutover, hand a colleague a spreadsheet of your rates, or fix the same field on two hundred people in one pass.
Master data review is restricted to administrators. Open it from the button with your initials at the bottom of the sidebar, then Master data review.

What you can review

A review always starts from one entity. Beebole offers nine: For Projects, Tasks, and Tags you can also narrow the review to one category, and inside it to one hierarchy level — pick All categories, a category, then Lowest level or a named level. A review lists the lowest level by default, so parent rows never pad the table or the export; pick a named level when that is the one you want to read.
Master data review covers definitions only. Time entries, expense records, and absences are records, not master data — report on those with custom reports and data exports.

Building a review

1

Open Master data review

Click the button with your initials at the bottom of the sidebar, then Master data review.
2

Add an export

Click Add an export. Beebole creates one named New export and puts the name in edit mode — type a name and press Enter.
3

Pick the entity

The table’s first column is a column header like any other: it carries the entity currently reviewed, and its menu holds Filter on this column and Add a column… alongside the list of entities. Open it and pick another entity — or, for projects, tasks, and tags, walk into a category and a level. The first column always holds that entity’s name.
4

Add the columns you need

Click Add a column… and walk into the entity’s fields. Each pick appends a column; the table re-runs on its own.
Every review you save is personal to you, and the list of your saved exports is the page itself — click one to open it, click it again to close it.

Adding columns

The column picker walks the entity’s own fields and its relations, with no depth limit. A field becomes a column; an attribute or a relation opens as a branch you step into, so a person’s tags lead to the tag’s own fields, and a tag’s rates lead to the rate’s amount.
  • Type in Search a field… to search several levels down at once. Each match shows the path it sits on, so a hit reading Tags: Name is clearly the name of a tag, not the name of the person.
  • Press Backspace on an empty search box to step back up one level, or click a step of the path to jump back to it.
  • One column can hold several values — a person with three tags shows all three, stacked in the cell.
A column header carries its own menu: You can also drag a header sideways to reorder the columns. If the server refuses to run the review — a column that walks too many levels deep, or a request too heavy to serve — the table keeps the rows it was showing, a message says why, and the refused column is rolled back instead of being saved. The same goes for a refused Show Archived, category, or period change.

Custom field values as columns

When a custom field applies to the entity you are reviewing, a Custom field values branch appears in the picker with those definitions in it. Pick one and its values become a plain column, one value per row, blank where a record holds none. Only the definitions that actually apply to the entity are offered.

Narrowing what the table shows

Filters are chips under the command row. Each chip names a column, an operator, and a value: Show Archived next to the review’s name brings archived records into the table; click Hide Archived to leave them out again. Archived rows are shown dimmed. A period selector appears whenever the review holds a dated column — rates, costs, budgets, allowances, work schedule assignments, tag assignments. It decides which of those records the table lists: a record counts for the period when its validity overlaps it, so a rate that started in 2025 still shows for 2025 as long as its replacement starts after the period begins. The default period runs from today onwards, which lists the records in force now.

Reading the table

  • Rows line up item by item. When several columns walk the same list — an authorization’s name and its targets, for example — the row splits into one line per item, so the third authorization’s targets sit beside the third authorization’s name however long either wraps. Columns that walk another list, or none, span the whole row and stack their own values as before.
  • Every other row is banded. Rows alternate a light background, and the band covers every line of a row that has split.
  • Inherited values name their origin. When a value comes from the organization, a tag, or a parent record rather than the row itself, the cell shows the source on its own line right under that value, with the same clickable link the attribute panels use. A value set on the row itself shows nothing.
  • Stored codes read as words. Durations, work-schedule day times, colors, absence units, duration formats, weekdays, and permission names render the way the interface shows them, not as raw codes. A rate renders like its panel: the amount on the first line, then its method and start date beneath it — 120,00 EUR, then Hourly rate · 1 Jan 2026 — with its split lines below that.
  • Records are badges. A cell holding another record shows it as a clickable badge — click it to open that record’s panel and edit it in place.
  • A subtracted value is struck through. When a rule removes an inherited item instead of adding one, the cell shows it struck through in red, the same way the rest of Beebole marks an exclusion.
  • The table re-runs live. When anything on screen changes — your own edit in a panel, or a colleague’s — the review re-runs and rows that no longer match fade out.

Downloading a review

Hover the review in the list, click the ⋯ action menu, choose Export, then a format: JSON, CSV, TSV, Excel (XLSX), or PDF. The file carries the columns and rows on screen, plus a header noting the entity, whether archived records were included, and the period when the review has one. A file has no link to carry the origin of an inherited value, so the file spells it out instead: the value is followed by (inherited from …) and the name of its source.

Building a review in plain language

When AI features are enabled for your account, a text box sits above the table. Describe the table you want — for example people with their hourly rate and their tags — and click Build. Beebole picks the entity, the columns, and the filters, and runs it. With a review open, the same box refines it: Update adds a column, changes a filter, or swaps the entity. Asking about a different entity creates a new review instead of overwriting the one you built. The box keeps the whole conversation, so you can see how you got where you are: your last question and its answer stay on screen, and the turns before them open behind Whole conversation (Latest only folds them back). It is the same box the report builder uses, with Read your data and Change your data as its tabs, Apply and Cancel next to the sentence, and the undo of your last change always within reach. Plain language works on every list, the tag and project lists included. Naming a person in your question reads as a filter rather than as text to look up: ask who does Anna manage? and the review keeps the rows Anna manages and adds the column that shows it. When you ask for a value no column can hold — people and their external ID on an account with no such field — Beebole builds nothing and tells you in one sentence which value has no column for this entity and, for people, projects, tasks, tags, and time off types, that a custom field could hold it. It never asks which entity or which value you meant. A request that leaves the review exactly as it is reports Nothing changed.

Changing data in bulk

An open review is in one of two modes, picked with the tabs above the table: Read your data for columns, filters, and download, and Change your data for a bulk change. Click Change your data, describe the change, and click Preview. The change applies to every row the table currently lists, unless your sentence names the rows it is about: set Bob Wilson’s external ID to abc or archive Alice Martin and Bob Wilson reaches those rows alone. A name matches a listed row exactly first, then the first listed name that contains it; a name no row carries stops the preview with Nothing here is called followed by the name. A description such as the German ones is not a filter and Beebole never guesses one, so filter the table first, then run the change. What you can ask for:
  • Set or clear a value, including a custom field value.
  • Put text around the value each row holds today, such as prefix their external ID with ext-.
  • Number the rows with a counter, such as their external ID as ext-3, then ext-4, and so on. Beebole writes the prefix, the number, and the suffix to each row in the order the table shows them, one number per row; a row that already holds the number it would get keeps it and the next row gets the next number. Add for those without one to fill only the rows whose field is still empty — the rows already holding a value stay out of the change and are not listed as left out. Prefixes, suffixes, and counters work on free-text fields only.
  • Add or clear a billing rate, a cost rate, a time off allowance, or a public holiday — including a percentage change on the rate each row holds.
  • Link or unlink a related record, such as a work schedule, a tag, or a role.
  • Archive, unarchive, or delete the listed records, or create one new record.
1

Preview the change

Beebole replaces the table with a before/after view: the changed column shows old → new, records to be created appear as new rows, and records to be deleted are struck through. A one-line summary and the number of changes sit next to the buttons. A sentence that no listed field can carry gets an explanation instead, or That change cannot be made on this list.; one that leaves every row as it is reads Nothing would change.
2

Check what was left out

Rows Beebole will not touch are listed after Left out: with a reason — inherited from a tag or the organization, nothing to remove, no current value to change, or the field does not apply.
3

Refine or apply

Type another sentence and click Update preview to adjust, Cancel or Read your data to drop the whole thing, or Apply to run it. Rows tick off one by one as they go through, and a row that fails shows its error without stopping the rest.
Undo the last change, at the end of the mode tabs while you read the data, reverses the bulk action you just applied, and only that one. It is held in memory, so reloading the page loses it, and deleted records cannot be brought back at all — recreating one gives it a new identity and no reference to the old one survives.
A row whose value is inherited from a tag or from the organization is deliberately skipped: writing on the row would break the inheritance for its whole history. To raise rates on people who inherit them, run the change on the tag instead.

What reaches the AI model

The plain-language builder and Change your data follow the same privacy stance as the rest of Beebole AI: only definitions reach the model. It receives your sentence, the entity being reviewed, and the vocabulary of that entity — the labels and paths of its fields, plus the allowed values of a field that has a closed set. It never sees a value from your table: Beebole turns the sentence into an abstract instruction, and your browser computes the actual before and after values. The one thing about your records it learns is what you typed yourself — when your sentence contains the name of a listed row, Beebole confirms to the model that this name is one of the listed records, so it does not doubt it. Nothing you did not type reaches it.

Custom fields

Define the fields whose values become columns in a review.

Data exports

Export the time and expense records a review deliberately leaves out.

Beebole AI

How Beebole’s AI features work and what data they see.

Account settings

The organization-wide settings a review lets you check across records.

Frequently asked questions

Administrators only. The Master data review entry sits in the Settings menu, opened from the button with your initials at the bottom of the sidebar, and the page itself is closed to anyone whose role does not have Admin role (full access) checked. See Roles & permissions.
Nine: People, Projects, Tasks, Tags, Time off types, Expense types, Custom fields, Roles, and Work schedules. For projects, tasks, and tags you can narrow the review to one category and one hierarchy level, from the first column’s menu — the lowest level is what you get by default.
No. Master data review covers your configuration data — the definitions — not the records your team logs. For time entries, expenses, and absences, build a custom report and download it as described in Data exports.
Yes, but only the last one, and only while the page stays open — Undo the last change is held in memory and a reload drops it. Records deleted by a bulk change cannot be restored at all, so check the before/after preview before clicking Apply.
Beebole lists them after Left out: with the reason. The common ones are a value inherited from a tag or the organization (change it on the tag instead), a row that already holds the value you asked for, a row with nothing to remove, and a custom field that does not apply to that record. Rows your sentence did not name, or rows already holding a value when you asked for those without one, are simply out of the change and are not listed.