> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qlero.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Revalidate vs re-import: when to use which

> Apply sales file corrections to the right rows and understand what happens to linked periods.

After correcting a sales file, choose the action that applies your fix to the right rows. **Revalidate** repairs invalid rows using information you've added in Qlero; **Re-import** reads the original file again and replaces its processed data.

<Note>
  Revalidating or re-importing sales files requires view and write access to Sales Files (+ Sales Explorer). If you don't see **Sales Files** or the file's menu, ask your administrator. See [User access and roles](/user-access-and-roles).
</Note>

## Choose by what changed

Start with revalidation when you've filled a gap. Use re-import when Qlero needs to read the file differently or correct rows that already passed validation.

| What you fixed                                                         | Action         |
| ---------------------------------------------------------------------- | -------------- |
| An unmatched track or release, or an unrecognised sales value          | **Revalidate** |
| A missing default date or file exchange rate                           | **Revalidate** |
| A wrong value mapping or file exchange rate already used by valid rows | **Re-import**  |
| Template column mappings, parsing rules, or skip rules                 | **Re-import**  |
| The cause of a failed import                                           | **Re-import**  |

A contract or royalty-term change needs period processing. Neither file action recalculates statements. Use [Sales row statuses](/labels/income/sales-files/sales-row-statuses) to distinguish invalid data from a contract's suspense reason.

## Revalidate after filling a gap

Revalidation revisits **Invalid** rows using the current value mappings, repertoire matches, file default dates, and file exchange rates. It doesn't reread the uploaded file. All other rows keep their existing data and reporting results.

For example, a sales file reports Nora Lane's *Midnight Run* under an ISRC that Qlero doesn't recognise. Link that ISRC to the existing track, then revalidate. If the missing track match was the only problem, those rows become **Valid**. The file's other rows stay as they were.

**Run revalidation.** Open the file in **Income › Sales Files**, open its menu at the top right, and click **Revalidate**. Processing starts immediately, with a **Revalidation started** message. When **Revalidating...** clears, open **Lines** to see the result. Rows that still need information remain Invalid; their **Invalid Reason** tells you what to fix next.

If you've just clicked **Save And Revalidate** in the mapping manager, revalidation is already queued for that file. There's no need to start it again. [Resolving invalid lines](/labels/income/sales-files/resolving-invalid-lines) covers those repairs.

## Re-import to read the file again

Re-import uses the original file stored in Qlero with the current template or another template you select. It applies the template's column mappings and processing rules to the whole file, including rows that were already valid.

Suppose *Midnight Run* matched correctly, but the template read gross receipts from the net receipts column. Correct the column mapping, then re-import. Revalidation can't fix that mistake because it doesn't read the columns again.

The same distinction matters when correcting a file exchange rate: revalidation leaves already valid rows at their existing converted amounts. Re-import applies the corrected rate when it rebuilds those rows.

<Warning>
  Re-import replaces the file's processed data. Every linked period is invalidated and must be reprocessed. Re-import is only available when every linked period is **Created**, **In Calculation Review**, or **In Final Review**. A **Published** or **Closed** period blocks it.
</Warning>

**Run re-import.** Open the file's menu and click **Re-import**. Keep the current **Template**, or select the one that should read the file. If the dialog lists linked periods, acknowledge that they must be reprocessed, then click **Re-import**. When processing finishes, **Overview** and **Lines** show the rebuilt data. Reprocess any affected periods next.

Re-import doesn't upload a replacement file. If the provider sends a corrected report, import it as a new sales file. Delete the old file if no period includes it, so you don't report the same sales twice. A new upload doesn't reverse royalties already reported from the old file. See [Manage your sales files](/labels/income/sales-files/manage-sales-files#archive-or-delete) for the deletion limits.

## When an action is unavailable

Revalidation requires a successful import, even if some rows are Invalid. After an import fails, correct the cause and use **Re-import**. Both actions are unavailable while the file or a linked period is processing.

Revalidation can still repair invalid rows in a file linked to a published or closed period. The period's statements stay unchanged.

## Apply a fix to several files

Value mappings saved in the mapping manager belong to the template. Revalidate other files using that template to apply those mappings to their invalid rows. Select the files in **Income › Sales Files**, then click **Bulk Actions › Revalidate**.

For re-import, click **Bulk Actions › Re-import**. **Keep current templates** uses each file's own template; selecting a template applies that choice to the eligible files. Only choose one template when it fits every file you're re-importing. The dialog lists affected periods for acknowledgement.

Both bulk actions skip files that aren't eligible. Re-import also skips a file if the chosen template can't be applied. The result message gives a skipped count, without naming the files.

## Next steps

* Supply missing matches and values with [Resolving invalid lines](/labels/income/sales-files/resolving-invalid-lines).
* Interpret the result with [Sales row statuses](/labels/income/sales-files/sales-row-statuses).
