Skip to content
Get started

Record audit and errors

Every attempt to write a record — successful or not — produces a record audit entry. This is how Grunddata tells you what happened, and it is the same mechanism behind the error messages you see in the web app, the Excel plugin and the Google Sheets add-on.

Field Description
Status success or error
Message A human-readable explanation
Operation insert, update or delete
Table Which table the attempt was against
source_id / version Which record and which revision
Code / Name So you can identify the row without decoding a UUID
Data The values that were attempted
Attempted by / at Who tried, and when

Per surface:

  • Web app — the record dialog stays open and shows the message inline. Fix and save again.
  • Excel plugin / Google Sheets — the upload reports back which rows failed and why. Your valid rows in the same upload are still processed; the failed ones are not.
  • API — the response contains a record_audits array with an entry per record.

An attribute marked required had no value.

The value in a domain attribute could not be resolved to a record in the target table.

Usual causes:

  1. The lookup value does not exist yet. Add it to the domain table first.
  2. A typo, or trailing whitespace in a spreadsheet cell.
  3. The value was typed by hand instead of chosen from the picker.
  4. The domain table record was deleted.

Another record already holds this value on an attribute marked unique.

The string is longer than the attribute’s max length. Either shorten the value or increase the max length on the attribute.

A validation rejected the value — a pattern, a range, a list membership, or a table-level comparison between two attributes.

The message names the rule that failed. If the message is cryptic, the rule probably needs a clearer description on the attribute.

Text in a numeric column, or a date in a format that could not be parsed.

Rather than discovering problems one upload at a time, you can run the current validation rules against every record in a table. The result reports:

  • The total number of records checked.
  • How many are valid.
  • How many are invalid.
  • A sample of failures, each with the record’s Code, Name and the specific messages.
  1. Run the table validation check and note the failing records.

  2. Download the table into Excel or Google Sheets.

  3. Correct the failing rows. Leave the hidden identifier columns untouched so the rows are recognised as updates, not new records.

  4. Upload with a commit message that says what you fixed and why, for example Correct 40 accounts failing the new account_number pattern.

  5. Re-run the validation check to confirm you are clean.