Skip to content
Get started

Excel plugin

The Grunddata Excel plugin brings your business data into Excel. Load a table, edit it like a spreadsheet, and upload your changes when you are ready.

The same validation, versioning and audit rules apply whether you work in Excel, the Grunddata web app, the Google Sheets add-on, or the API.

You can install Grunddata for Excel from the Microsoft Marketplace, or find it on the Add-ins page in Microsoft Excel. Your Grunddata or Microsoft 365 administrator may need to approve or make the plugin available to your account.

  1. Install the plugin from the Microsoft Marketplace, or open Excel and find Grunddata on the Add-ins page.

  2. Open or restart Excel if needed.

  3. On the Home tab, select Grunddata to open the task pane.

Sign in with the Microsoft account used by your organisation.

  1. Open the Grunddata task pane.

  2. Select Sign In.

  3. Complete the sign-in window.

  4. Select the environment you want to use. If there is only one environment, it is selected for you.

  5. Wait for the access check to finish. The model and table selectors appear when you have access.

The task pane shows your account and the selected environment. Select Change to switch environments or Sign Out to end your session.

Once you are signed in, choose the model and table you want to work with.

  1. Select Select a Model.

  2. Choose a model.

  3. Select Select a Table.

  4. Choose the table you want to load.

  5. Wait for the records to appear in Excel.

The plugin creates a worksheet for the table. If you open the same table again, it takes you back to the worksheet you already have. You can load several tables in one workbook; each one has its own worksheet.

Use Refresh Models & Tables when you need to update the model and table lists.

You can also start with a worksheet you have already designed and track it as a new Grunddata table. The plugin uses the worksheet name for the table and the header row for its attributes. It creates the table and the initial columns together before records are uploaded.

Excel formulas can be included when the worksheet is first tracked. The plugin translates supported formulas into Grunddata formulas that refer to stable table and attribute identifiers. The formula definition is stored on the attribute, while the calculated value for each row is saved in the record.

When you track a worksheet, Grunddata converts it into a managed Excel Table and adds system columns used to synchronise records. Formulas on another worksheet that refer to columns by position can break, or start pointing to different data, when that happens.

For example, this formula uses worksheet column letters:

=SUMIF(Products!$A:$A;[@ProductID];Products!$C:$C)

Use Excel Table structured references when one worksheet refers to another:

=SUMIF(tblProducts[ProductID];[@ProductID];tblProducts[PriceSEK])

tblProducts[ProductID] refers to the full ProductID column. [@ProductID] refers to the ProductID value in the current table row. Structured references follow the Excel Table and its named columns instead of fixed worksheet column letters.

Grunddata supports Excel formulas, including formulas that use values from other tables. When a worksheet is tracked, the plugin keeps the formula and translates its table and attribute references into stable Grunddata identifiers. This lets formulas continue to follow the right data when a managed table is rebuilt or its columns are rearranged. A reference to one specific worksheet cell, such as Products!C2, cannot be translated reliably because it depends on the worksheet position. Use table and column references instead.

Existing Excel Table names are preserved when a tracked worksheet is rebuilt, refreshed, uploaded, restored or deleted from Grunddata.

The worksheet contains your records and a few columns that help Excel keep track of them. The attributes appear in the same order as they do in Grunddata.

Column What it means
id The internal identifier for this version of a record.
source_id The permanent identifier for the record.
_status The result of the last upload or delete operation.
_message The message returned for the row.
code The record’s built-in code.
name The record’s built-in name.
Attributes The columns defined for the table.

The first four columns are hidden by default. On an AUTO table, code and name are hidden as well. The values are still there; hiding them simply keeps the worksheet easier to read.

Use Show System Columns when you need to inspect identifiers or read an upload message. Use Hide System Columns to hide them again. Settings includes Hide system columns by default.

Every record has built-in Code and Name fields.

Table What you do
MANUAL Enter both Code and Name. Both are required.
AUTO Leave Code empty. Grunddata creates it for you. Name is available when needed.

See Identifiers for more about source_id, Code and Name.

The plugin uses colours to show what is happening in the worksheet:

Colour Meaning
Light orange A row has changes waiting to be uploaded.
Light yellow A cell has been changed.
Light green The last operation succeeded.
Light red The row or cell has an error.
Pale yellow The row was skipped.

Edit the worksheet as you would any other spreadsheet. The plugin notices changes and marks the affected rows for upload.

  1. Change one or more editable cells in an existing row.

  2. Wait for the changed cell and row to be marked.

  3. Continue editing other rows if needed.

  4. Select Upload Changes when you are ready to save.

Only rows with changes are uploaded. Existing records are matched using their source_id, so editing a row creates a new version of the same record rather than a duplicate.

  1. Enter values in the first empty row below the existing records.

  2. Fill in the required fields.

  3. Leave the system columns empty.

  4. Leave Code empty for an AUTO table.

  5. Select Upload Changes.

The new row is assigned an identifier while you work. Grunddata checks the row when you upload it and reports any problems for you to fix.

A domain attribute points to a record in another table. In Excel, the cell shows a readable label such as SEK - Swedish krona, while Grunddata stores the referenced record’s source_id.

  1. Select a cell in a domain attribute column.

  2. In the Select value dialog, search by code or name.

  3. Select the value you want.

If there are more results, use Load more. The selected label is written to the worksheet and the underlying reference is prepared for upload.

You can also type or paste a domain code or label. When Grunddata can find an exact match, the cell is replaced with the standard label. If it cannot find a match, the cell turns red and you can choose a value from the picker instead.

Some domain attributes depend on another one. For example, choosing a country can limit the available regions.

When you change the parent value, the plugin updates the available child values and clears a child value that is no longer valid.

See Domain tables and Attributes.

  1. Select Upload Changes.

  2. Review the number of changes in the Publish Changes dialog.

  3. Enter a useful Commit Message, such as Add Q3 counterparties from finance.

  4. Select OK.

  5. Wait for the upload to finish.

The upload includes the rows you changed. While it runs, the upload button is disabled and a progress indicator is shown.

After the upload, the task pane reports how many rows were updated, inserted or rejected. Successful rows are cleared from the pending changes. Rows with errors remain so you can fix them and upload them again.

Every upload, delete, and restore creates a commit for the table. A commit records the change message, time, and user, so you can review earlier versions of the table.

Select Commit History in the task pane to browse the table’s commits. You can search commit messages and load more results when needed.

Select the preview action for a commit to open its historical records in a separate worksheet. The preview worksheet is not tracked by the plugin, so changes made there are not uploaded.

Use a preview when you need to inspect an earlier version without changing the current table.

Select the compare action for a commit, then choose one of these baselines:

Compare with What it shows
Current table The changes that restoring the selected commit would make.
Previous table commit The changes introduced by the selected commit.

The plugin opens a separate comparison worksheet. Added rows are green, removed rows are red and struck through, and changed cells are yellow. The comparison worksheet is not tracked by the plugin, so changes made there are not uploaded.

Restoring returns the table records to the selected commit and creates a new commit. It does not remove the existing history.

  1. Select Commit History.

  2. Find the commit you want to restore.

  3. Select the restore action.

  4. Review the warning and enter a restore commit message.

  5. Select Restore commit.

A restore can be blocked when other records still reference values that would be removed. Resolve those references first, then try again.

A failed row turns red. Read the _message column or the message in the task pane, correct the row, and upload it again.

Problem What to do
Required value is missing Fill in the required field.
Domain value cannot be found Use the value picker, or add the value to the domain table first.
Value is too long Shorten it or ask an administrator to review the attribute limit.
Duplicate value Check whether another record already uses the value.
Validation rule failed Correct the value according to the rule.
Date is rejected Use yyyy-MM-dd, or yyyy-MM-dd HH:mm for a datetime.

Valid rows from the same upload are kept. You only need to correct and resubmit the failed rows.

See Validations and Record audit and errors.

  1. Select one or more existing record rows.

  2. Select Delete Selected Rows.

  3. Review the confirmation dialog.

  4. Select Delete to continue, or Cancel to stop.

  5. Enter a Commit Message and select OK.

New rows that have not been uploaded cannot be deleted with this action. Deleting an existing record creates a deleted version while preserving its history.

Select Refresh Models & Tables when you want to reload the available environments, models or tables. After refreshing, choose the model and table again.

Select Refresh when you want to replace the worksheet with the latest data from Grunddata. If you have unsaved changes, Excel asks you to confirm first.

Action What it does
Autofit Columns Resizes the used columns to fit their contents.
Show System Columns Shows the identifier and status columns.
Hide System Columns Hides those columns again.
Change Switches to another environment.
Sign Out Ends your session.
Symptom What to do
Grunddata is not visible in Excel Ask your Microsoft 365 or Grunddata administrator to make the plugin available.
Sign-in fails Select Sign In again. If it continues, select Sign Out and try again.
No environments are available Contact your Grunddata administrator.
Access is denied Select Change and try an environment you can access, or contact your administrator.
Models or tables are missing Select Refresh Models & Tables, then choose the model again.
A table does not load Check your connection and access, then select the table again.
A domain value is red Use Select value and choose a valid value.
A row is red after upload Read _message, correct the row, and upload again.
Refresh asks about unsaved changes Select Cancel to keep them, or upload them before refreshing.