Articles in this section

Preview a CSV import with a dry run

Published:
Updated:

The dry run is a preview of a CSV import that changes nothing in your data. This article explains what the dry run checks, how to read its results, and how it differs from the commit that actually creates the penalty notices (Strafmandate).

Dry run vs. commit

Dry runCommit
Writes data?No — read-only previewYes — creates notices
Idempotency-Key?Not requiredRequired
Duplicate detection?Yes — flags duplicatesYes — skips duplicates
Driver matching?NoRuns on each created notice
ResultSummary + per-row previewSummary of what was created

You can run the dry run as many times as you like while you clean up your file. Only the commit creates records.

What the dry run checks

The dry run first parses the CSV header and confirms all required columns are present. If a required column is missing, the whole run fails with a message naming the missing columns, and no rows are evaluated. When the header is valid, it validates every data row and compares it against your existing notices for duplicates.

Reading the summary

The dry run returns four counts:

  • Total rows — every data row in the file.
  • Importable rows — rows that are valid and not duplicates; these are what a commit would create.
  • Validation failures — rows with one or more field errors.
  • Skipped duplicates — rows whose Aktenzeichen and vehicle already exist, or that repeat earlier in the file.

Reading the per-row preview

Each row in the preview shows its row number, Aktenzeichen, and vehicle, plus four flags and an error list:

  • Is valid — the row passed all field checks.
  • Is duplicate — the row matches an existing notice or an earlier row.
  • Will import — true only when the row is valid and not a duplicate.
  • Errors — the specific reasons a row failed, such as "amount must be greater than zero" or "countryCode must be a 2-letter ISO code."
Tip: Row numbers count the header as row 1, so your first data row is row 2. Use the row number in the preview to find the exact line to fix in your spreadsheet.

Recommended workflow

  1. Run the dry run on your CSV.
  2. Fix every row listed under validation failures, using its error messages.
  3. Decide what to do about duplicates — they will be skipped, which is usually what you want for a re-upload.
  4. Re-run the dry run until the importable count is what you expect.
  5. Commit the same CSV with an Idempotency-Key.
Note: The dry run needs valid tenant context and at least a header row plus one data row; a file with only a header is rejected.

Related

  • Bulk-import penalty notices from CSV
  • Prepare your CSV file for import
  • Correct an imported or captured penalty notice
  • Required fields on a penalty notice
AH
Written by Alexander Hagemann
Updated:
Access denied
Access denied