Fixing Issues
Department menu → Import & Migration → (workspace) → Issues
The checks rarely find one problem at a time — usually it is 23 people have a phone number we couldn't read. So the Issues tab groups problems by kind, explains why each matters and how to fix it, and offers one-click fixes for the whole group. Every issue has a stable code (IMP-…) that support can look up; this page lists all of them.
Import & Migration is a Preview feature: it is off by default and Resgrid turns it on per department while it is being rolled out.
- The Issues tab of a workspace. Its badge is the number of open blocking issues.
- Issues to fix on the Overview tab (the five most important groups), the blocked count on each data set, and the Fix issues link on a data set page all open it filtered to that data set.
Filter by Data set and tick Show resolved issues to see what has been accepted or excluded. When nothing is left, the tab shows No issues — Everything we checked is ready to import and a button to Review and import.
## Turning it onPart of Import & Migration: the Onboarding.MigrationWizard flag on for your department and a department administrator signed in. See Overview → Turning it on.
Each group is a panel with:
| Part | Contents |
|---|---|
| Heading | A severity chip — Blocking, Warning or Note — and the title with the number of open rows, for example 12 dates couldn't be read. The code is shown on the right. |
| Where | The data set, the column and the first affected row numbers. |
| Why and how | The explanation and the fix, in plain words. |
| Actions | The fixes that apply to this group (below). |
Values from your file are never written into an issue; the rows are named by number.
| Severity | What it means |
|---|---|
| Blocking | The rows cannot be imported as they are. Fix them or exclude them — a data set with open blocking issues cannot be approved. |
| Warning | The rows can be imported, but something will be different from your file (a value left empty, a text shortened). Accept the warning to go ahead, or fix it. |
| Note | Information — for example that rows match records that already exist and will be linked rather than added. |
| Action | What it does | Offered when |
|---|---|---|
| Accept | Accepts a warning or note for every row in the group. | Warnings and notes |
| Exclude these N rows | Leaves the rows out of the import (you are asked to confirm). They can be included again later with Reopen. | The issue is on rows |
| Use this value | Replaces the problem cell in every row of the group with the value you type, then checks the rows again — for example the same station for every row with an unknown one. | The issue is on one column of some rows |
| Ask support about this | Opens the Support tab with the issue code attached. | Always |
| Reopen | Puts an accepted or excluded group back to open. | With Show resolved issues |
Other fixes happen elsewhere:
- Match columns or values — most value doesn't match and reference doesn't match issues are fixed on the data set's matching pages.
- Fix the file and upload it again — often quickest for many small problems. Upload the corrected file, then Exclude the old data set on Files & data sets so only the new one is imported.
- Change something in Resgrid — rename a duplicate record, switch on a module, add custom fields, upgrade the plan.
Every fix re-checks only what it affects, and the counts on the Overview tab update as it finishes. Accepting and excluding are remembered: a re-check does not bring back an issue you have already decided.
## Where issues show upThe Shown as column in the tables below says where you meet each code:
| Shown as | Where | What to do |
|---|---|---|
| Blocking, Warning, Note | On the Issues tab, before approval. | Fix, exclude, accept — as above. |
| Blocking if the field is required, otherwise a warning | On the Issues tab. A required field's value is needed; for an optional field the value is left empty if you accept. | Fix, exclude, or accept for optional fields. |
| File refused | On the Uploaded files list. The file was not read at all. | Fix the file and upload it again. |
| Upload stopped | While uploading, under the upload button. Nothing was stored. | Upload again, or fix the file first. |
| Run status | On the History tab, next to a run. | Mostly nothing — Resgrid retries or waits automatically; some need a new approval. |
| Row not imported | After an import, on the rows the import skipped. | Check the rows, fix them and import again, or ask support. |
| Warning after import | After an import, on the data set. | Check by hand; see Verify the result. |
| Check by hand | After a rollback, on the History tab. | Compare the record with your source and fix it in Resgrid. |
Grouped by the stage that raises them. Titles and explanations are the ones shown on screen; N stands for the number of rows or values.
File safety and storage
Checked when the file arrives, before anything in it is read. A refused file is never opened; upload a corrected copy.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-FILE-TOO-LARGE | The file is larger than your plan allows | Split the file into smaller files, or remove sheets and columns you don't need. Tip: Limits by plan are on Before you start. | Upload stopped |
IMP-FILE-SIGNATURE | The file's content doesn't match its type | Export it again from your system as CSV or Excel (.xlsx). | File refused |
IMP-FILE-MACRO | Files with macros can't be imported | Save the workbook as a plain Excel workbook (.xlsx) without macros and upload it again. | File refused |
IMP-FILE-ENCRYPTED | The file is password-protected | Remove the password in the program that created it, save it again and upload the new copy. | File refused |
IMP-FILE-EMBEDDED-OBJECTS | The workbook contains embedded objects | Embedded files and objects aren't read. Remove them or copy the data into a new workbook. | File refused |
IMP-FILE-EXTERNAL-LINKS | The workbook links to other files | Formulas that read other files can't be refreshed here. Paste the values in place and save again. | File refused |
IMP-FILE-EMPTY | The file has no data | Check that you exported the right report and that the first row holds the column names. | File refused |
IMP-FILE-ENCODING | We had to guess the text encoding | If names with accents look wrong, export the file again as UTF-8 CSV. | Warning |
IMP-FILE-FIELD-TOO-LONG | A cell is too long to read | One cell holds more text than Resgrid accepts. Shorten it or remove the column. | Blocking |
IMP-FILE-HASH-MISMATCH | The upload was damaged on the way | The file we received differs from the one you chose. Upload it again. | File refused |
IMP-FILE-INFECTED | The file failed the virus scan | Resgrid didn't open this file. Check your computer, export the data again and upload the new file. | File refused |
IMP-FILE-SCAN | The file couldn't be scanned | Try again later. If it keeps happening, ask Resgrid support. | File refused |
IMP-FILE-SCAN-PENDING | Waiting for the virus scan | The scanner is busy; Resgrid keeps trying automatically. | Run status |
IMP-FILE-SCAN-UNAVAILABLE | Virus scanning is unavailable | Resgrid keeps trying for a while. If it doesn't recover, upload a CSV file instead. | File refused |
IMP-FILE-SCANNING-REQUIRED | This kind of file needs a virus scan | Scanning isn't available here, so only CSV, text and JSON files are accepted. Export the data as CSV. Tip: Excel workbooks need virus scanning on the server; CSV always works. | Upload stopped |
IMP-FILE-TOO-MANY-ROWS | The file has more rows than your plan allows | Only the first rows were checked. Split the file into smaller files. | Blocking |
IMP-FILE-TOO-WIDE | The file has too many columns | Remove columns you don't need, or split the file. | Blocking |
IMP-FILE-UNSUPPORTED | This kind of file isn't supported yet | Upload CSV, Excel (.xlsx) or JSON. Tip: ZIP packages, KML, KMZ and GPX are recognized but not imported yet. | File refused |
IMP-FILE-CONTROL-CHAR | N cells contain hidden control characters | Invisible characters were found that Resgrid can't store. Remove them in your spreadsheet, or exclude the rows. | Blocking |
IMP-ZIP-ENTRIES | The archive holds too many files | Unpack it and upload the files you need one by one. | File refused |
IMP-ZIP-NESTED | The archive contains another archive | Unpack both and upload the files you need one by one. | File refused |
IMP-ZIP-PATH | The archive contains an unsafe file path | Unpack it and upload the files you need one by one. | File refused |
IMP-ZIP-RATIO | The archive expands to an unusually large size | Unpack it and upload the files you need one by one. | File refused |
IMP-ZIP-TOO-LARGE | The archive is too large | Unpack it and upload the files you need one by one. | File refused |
IMP-ARTIFACT-CORRUPT | The stored file is damaged | Upload the file again. | Run status |
IMP-ARTIFACT-KEY-INVALID | The stored file can't be read | Upload the file again. If this keeps happening, ask Resgrid support. | Run status |
IMP-ARTIFACT-KEY-MISSING | The stored file can't be read | Upload the file again. If this keeps happening, ask Resgrid support. | Run status |
IMP-ARTIFACT-MISSING | The file is no longer available | It may have passed its retention date. Upload it again. | Run status |
IMP-ARTIFACT-PURGED | The file was deleted after its retention period | Upload it again to continue. | Run status |
IMP-ARTIFACT-TAMPERED | The stored file failed its integrity check | Resgrid didn't use it. Upload the file again and tell Resgrid support. | Run status |
IMP-ARTIFACT-TRUNCATED | The stored file is incomplete | Upload the file again. | Run status |
IMP-STORE-UNAVAILABLE | File storage is unavailable | Resgrid retries automatically. You can close this page. | Run status |
Reading the file
The file passed the safety checks but its rows or columns could not be read cleanly.
Matching columns
What the file contains and which column fills which Resgrid field.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-DETECT-LOW-CONFIDENCE | We're not sure what this file contains | Choose what the file contains under Destination, then check the column matches. | Blocking |
IMP-MAP-REQUIRED-UNMAPPED | A required field has no column | Match a column to it, or set the same value for every row: the issue offers the field's value and Use for every row (see Same value for every row). | Blocking |
IMP-MAP-FIELD-TWICE | Two columns are matched to the same field | Match only one column to each Resgrid field. | Blocking |
Values
Each matched value is converted to its field's type. A value that cannot be read blocks the row when the field is required; otherwise it is a warning and the value is left empty if you accept it.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-TYPE-BOOLEAN | N values aren't yes or no | Use yes/no, true/false, 1/0, or x and blank. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-COLOUR | N colours couldn't be read | Use a hex colour such as #D32F2F. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-COORDINATE | N coordinates are out of range | Latitude is between -90 and 90 and longitude between -180 and 180, in decimal degrees. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-DATE | N dates couldn't be read | Use a full date such as 2026-03-04. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-DATE-AMBIGUOUS | N dates could be read two ways | Tell us whether the column is day/month or month/day; we ask once per column. On the Issues tab, answer Does 03/04/2026 mean 3 April 2026 or 4 March 2026? with Day first or Month first, or choose under How dates are written on the data set page. Tip: Dates written as YYYY-MM-DD (2026-03-04) are never ambiguous: fix the column in your spreadsheet and upload it again, or exclude the rows. | Blocking |
IMP-TYPE-DATETIME | N dates and times couldn't be read | Use a full date and time such as 2026-03-04 14:30. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-DATETIME-DST | N times fall in a daylight-saving gap | These local times don't exist on that date. Check them in your system. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-DECIMAL | N values aren't numbers | Use digits with a point or comma for decimals. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-INTEGER | N values aren't whole numbers | Use whole numbers without units. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-LANGUAGE | N languages weren't recognized | Use a language code such as en, es or fr. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-RANGE | N values are out of range | Check the allowed range shown with the field. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-TIME | N times couldn't be read | Use 24-hour times such as 14:30. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-TIMEZONE | N time zones weren't recognized | Use a time zone name such as America/Chicago, or leave it empty for your department's time zone. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-TOO-LONG | N values are too long | They are shortened if you accept the warning, or you can edit them in your file. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-UNKNOWN | N values couldn't be read | Check the values in your file. | Blocking if the field is required, otherwise a warning |
IMP-TYPE-URL | N web addresses couldn't be read | Use a full address that starts with https://. | Blocking if the field is required, otherwise a warning |
IMP-EMAIL-INVALID | N email addresses look wrong | Each person needs a working email address to be invited. | Blocking if the field is required, otherwise a warning |
IMP-PHONE-UNPARSEABLE | N phone numbers couldn't be read | Phone numbers need a country code, for example +1 555 123 4567. We assumed your department's country; check these numbers. | Blocking if the field is required, otherwise a warning |
IMP-CHOICE-UNMAPPED | N values don't match a Resgrid option | Match each value to a Resgrid option under Match values. Tip: See Matching values. | Blocking if the field is required, otherwise a warning |
Row rules
Rules that look at a whole row.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-REQUIRED-MISSING | N rows are missing a required value | Fill in the value in your file, set a value for these rows, or exclude them. | Blocking |
IMP-ROW-EXPIRES-BEFORE-ISSUED | N certifications expire before they were issued | Check the dates; one of them is probably wrong. | Blocking |
IMP-ROW-COORDINATES-PAIR | N rows have only a latitude or only a longitude | Give both or neither. | Blocking |
IMP-EXCLUDED-SENSITIVE | A column was left out on purpose | Resgrid never imports passwords, national ID numbers, card numbers or similar data. Nothing to do. Tip: See what is never imported. | Note |
File-wide rules
Rules that look across every row of the data set.
References
Values that point at another record: a row in another file of the workspace or a record already in Resgrid.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-REF-UNRESOLVED | N references don't match anything | The value names a record we couldn't find in your files or in Resgrid. Match it under Match values, or add the record. Tip: See Matching values. | Blocking |
IMP-REF-AMBIGUOUS | N references match more than one record | Make the names unique, or match the value under Match values. | Blocking |
Your department
Checks against what your department already has, your plan and the modules you use.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-MATCH-EXISTING | N rows match records that already exist | They are linked to the existing records, not added again. | Note |
IMP-MATCH-AMBIGUOUS | N rows match more than one existing record | Your department has two records with this name. Rename one in Resgrid, or exclude these rows. | Blocking |
IMP-PERSON-EXISTING-ACCOUNT | N people already have a Resgrid account | They are invited to join your department at activation instead of being added. Tip: See Existing Resgrid accounts. | Note |
IMP-PERSON-DELETED-MEMBER | N people were removed from your department before | They come back when you confirm it on Review & import, and can't sign in or receive anything until you invite them. Exclude their rows to leave them out. | Note |
IMP-PERSON-INACTIVE | N people are marked inactive | They are imported disabled and hidden. | Note |
IMP-PERSON-WILL-BE-ADMIN | N people will become administrators | You confirm each one before going live; until then they are normal members. | Note |
IMP-PLAN-CAPACITY | Your plan doesn't have room for everyone | Upgrade your plan, or import fewer people or units. Tip: Your plan's limits are on Subscription & Billing. | Blocking |
IMP-PLAN-CAPACITY-UNKNOWN | We couldn't check your plan's limits | Try again shortly. Nothing that needs a seat is imported until the check works. | Blocking |
IMP-ENTITLEMENT-MISSING | This data needs a feature your department hasn't turned on | Turn on the module, or ask Resgrid support. Tip: Points of interest need the Mapping module switched on under Department Settings → Module Settings. | Blocking |
IMP-CUSTOM-FIELDS-MISSING | Add these custom fields first: ‹field names› | Your department already has custom fields. Add fields with these names on the Custom Fields screen, then check the file again. Tip: The screen is User Defined Fields (Department menu). | Blocking |
Consequences
What Resgrid will do later because the imported data exists. Each one is a statement you tick on Review & import.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-CONSEQUENCE-UNDECIDED | A consequence needs your decision | Read the statement under Review & import and tick it to continue. Tip: See Consequences. | Blocking |
IMP-REPLACE-UNSUPPORTED | Replace isn't available for this kind of data | Replace works for call priorities and certification types. Choose Add only or Review updates, or leave this data set out. Tip: See Replace. | Blocking |
IMP-REPLACE-ONE-DATASET | Replace takes one file per kind of data | Another data set has the same destination. Exclude one of them, or put all the rows in one file. | Blocking |
IMP-REPLACE-CANNOT-RETIRE | Some existing records can't be retired | They are still in use, for example a certification type people hold, so Replace can't retire them. Add them to your file, or choose Review updates. | Blocking |
Import and approval
Shown on the History tab while an import runs, or on the rows an import could not write.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-APPROVAL-STALE | The data changed after it was approved | Review it and approve it again. | Run status |
IMP-APPROVER-NOT-AUTHORIZED | The approver can no longer approve imports | Another administrator needs to approve the import again. | Run status |
IMP-DEPARTMENT-LOCKED | Another operation is running for your department | Resgrid tries again automatically when it finishes. | Run status |
IMP-RUN-ERROR | A temporary problem interrupted the work | Resgrid tries again automatically. | Run status |
IMP-RUN-TRANSIENT | A temporary problem interrupted the work | Resgrid tries again automatically. | Run status |
IMP-RUN-NO-HANDLER | This kind of run isn't available | Ask Resgrid support. | Run status |
IMP-RUN-NOTHING-APPROVED | Nothing was approved for this run | Approve data sets under Review & import. | Run status |
IMP-RUN-STALLED | The work stopped making progress | Resgrid restarts it automatically from the last checkpoint. | Run status |
IMP-WORKSPACE-CLOSED | The workspace is closed | Start a new workspace. | Run status |
IMP-CHANGED-SINCE-PREVIEW | N records changed after the preview | Someone edited them in Resgrid. Review those rows again. | Row not imported |
IMP-TARGET-MISSING | N matched records no longer exist | They were deleted after the preview. | Row not imported |
IMP-ROW-WRITE-FAILED | N rows couldn't be imported | The rest of the import continued. Ask Resgrid support about these rows. | Row not imported |
IMP-PERSON-ACCOUNT-FAILED | N accounts couldn't be created | The rest of the import continued. Ask Resgrid support about these people. | Row not imported |
IMP-CERT-TYPE-SCOPE | N certifications use a type meant for units | Choose a certification type that people hold. | Row not imported |
IMP-UNIT-CERT-TYPE-SCOPE | N unit certifications use a type meant for people | Choose a certification type meant for units. | Row not imported |
IMP-REQUIREMENT-TYPE-SCOPE | N role requirements use a type meant for units | A role can only require a certification type that people hold. | Row not imported |
IMP-PROTECTED-WRITE-BLOCKED | N rows couldn't be saved with their protection | Advanced Data Protection could not protect these values, so they were not saved. Try the import again later, or ask Resgrid support. | Row not imported |
IMP-DEFERRED-FAILED | Some finishing steps didn't complete | Group parents, next statuses or roles may need a check by hand. | Warning after import |
IMP-REPLACE-RETIRE-FAILED | Some records weren't retired | They were taken into use after the preview, so they were kept. | Warning after import |
IMP-RECONCILE-MISMATCH | The check after the import found a difference | Compare the counts under History, and ask Resgrid support if they don't match. Tip: See Verify the result. | Warning after import |
Rollback
Items a rollback left in place for you to check by hand.
| Code | Title | What to do | Shown as |
|---|---|---|---|
IMP-ROLLBACK-ACCOUNT | An account couldn't be closed | Remove the person on the Personnel screen. | Check by hand |
IMP-ROLLBACK-CHANGED-SINCE | A record changed after the import | It was left as it is; check it by hand. | Check by hand |
IMP-ROLLBACK-FAILED | A record couldn't be undone | Check it by hand. | Check by hand |
IMP-ROLLBACK-HAS-ACTIVITY | A record is in use | It was used after the import (for example on a call, or the person signed in), so it was kept. Tip: See what rollback keeps. | Check by hand |
IMP-ROLLBACK-MANUAL | A record needs a check by hand | Compare it with your source and fix it in Resgrid if needed. | Check by hand |
IMP-ROLLBACK-MEMBER-UPDATE | Changes to an existing member need a check by hand | Something the import added to this person was changed afterwards, so it was left as it is. Review their group, roles and details on the Personnel screen. | Check by hand |
IMP-ROLLBACK-NO-COMMIT | The import to undo wasn't found | Ask Resgrid support. | Run status |
IMP-ROLLBACK-NO-WRITER | This kind of record can't be undone automatically | Check it by hand. | Check by hand |
Upload
Shown while a file is being sent. Nothing was stored; start the upload again.
121 codes, from the English UI text.