# Handle duplicate and invalid rows

See whole-table validation refuse unsafe proposals while the saved version remains unchanged.

Source: https://help.smartfact.ai/configsheets/guides/configsheets-refused-values

Audience: Operator

Use an authorised SmartFACT account and synthetic practice data. This desktop guide follows the complimentary invited pilot. Background connections and Google Sheets synchronisation are outside its scope.

## Handle duplicate and invalid rows

1. **Open reference tables**

   Open reference tables.

   Start from the prepared saved reference table. The next changes are deliberate mistakes for training.

2. **Choose the shared table**

   Choose the shared table.

   Saved version one remains intact until a complete proposal passes review and is saved.

3. **Repeat an existing row identifier**

   Repeat an existing row identifier.

   Two rows cannot share row_id. The server must refuse the proposal, even when the other values look plausible.

4. **Review the duplicate proposal**

   Review the duplicate proposal.

   The complete proposal is refused. Correct the duplicate; do not remove an error merely to make a save possible.

5. **Restore the second row identifier**

   Restore the second row identifier.

   Restore the original distinct identifier before checking another problem.

6. **Remove a required key**

   Remove a required key.

   A matching key cannot be empty. Empty text and null are different values, and neither is valid for this required key.

7. **Review the invalid proposal**

   Review the invalid proposal.

   The invalid key is refused and saved version one is unchanged. Read the error and correct the draft before requesting another review.

[Watch or practise this chapter](https://help.smartfact.ai/configsheets/demo?guide=configsheets-refused-values&chapter=refused-values&audience=office)

Keep receiving-product review and activation separate from saving or exporting reference data.
