# Uploading and processing

After you confirm Remove PII, the upload moves to its **Upload** stage, which has two screens with opposite instructions. On **Uploading**, your browser cleans each file and sends it, and you keep the page open, because files can only be sent from an open tab. The moment the last file has arrived, the screen changes to **Processing**: Vintage reads the files and prepares a suggested column mapping on its own, and you are free to leave. Each screen has its own way of telling you when a file has failed and what you can do about it.

## The Uploading screen: stay on this page

The screen says it plainly: stay on this page until every file finishes uploading. Each file is cleaned in your browser (personal-information columns removed, identifiers scrambled) and sent as it is cleaned.

Each file shows its own status:

| Status | Meaning |
|---|---|
| **Waiting** | Not started yet. Shown still, with no progress bar. |
| **Reading**, **Scrubbing**, **Uploading** | Being read, cleaned, and sent from your browser, with a count of rows processed |
| **Finishing upload** | Every byte has left your browser and Vintage is closing out the file |
| **Uploaded** | The file's bytes have arrived. What Vintage does with it next belongs to the Processing screen. |
| **Paused** | Your computer is offline. Nothing is being spent; the file continues when the connection returns. |

Above the files, an overall bar shows how far the whole upload has come, as "3 of 12 files uploaded" and as the amount of data processed so far. The bar is weighted by **file size, not file count**, so one large file and many small ones are represented fairly.

Once Vintage has measured your connection, it adds a time estimate. It quotes a single figure ("About 20 minutes left") only once its measurements agree, a range while they disagree, and otherwise the plain "This can take a while. Keep this tab open." It never invents a number it cannot support.

While you work in another tab, the uploader's tab title shows the percentage sent.

## Interruptions are retried, not failed

A brief network drop, or your computer going to sleep, does not fail a file. The file says it is reconnecting, keeps the progress it has already made, and tries again: "Connection interrupted. Retrying, attempt 2. Nothing uploaded so far is lost." While your computer is offline the file reads **Paused** and no retry attempts are used up, and time a sleeping computer spends between attempts is not counted against the file. A connection that drops and returns resumes rather than starting over.

## Leaving while files are still uploading

If you navigate elsewhere in Vintage while any file has not yet reached Vintage, a dialog asks first:

> **Leave and lose this upload?**
> 2 files are still uploading. Files that have already finished are saved and keep processing, but the rest would have to be selected and uploaded again.

**Keep uploading** returns you to the upload. **Leave anyway** takes you where you were going. The count includes every file that has not arrived yet, including files still being read and cleaned in your browser and files that failed before they were sent. If the last file lands while the dialog is open, you are taken where you asked to go.

Closing the tab or reloading the page shows your browser's own generic confirmation instead, which cannot name the files. A browser crash or a forced quit cannot be warned about at all. In every case, files that had already finished are kept.

## When some files cannot be uploaded

One file failing never stops the others. If the batch ends with some files sent and some not, the screen replaces its progress with **Some files could not be uploaded**, says how many failed out of how many, and names the reason. You can:

- press **Retry failed files** to try again for only the files that failed, or
- press **Continue without them** to go on with the files that did arrive (offered when at least one file reached Vintage).

A single file that failed before it was fully sent can also be retried or removed from its own card.

## The Processing screen: you can leave

When every file has arrived, the screen changes to a calm, centered statement:

> Your files are uploaded and are being processed. You can close this tab or leave this page, and we will email you when they are ready for column mapping.

Behind it, Vintage reads each file's rows in and then analyzes its columns: it works out what kind of values each column holds and suggests a mapping. The screen shows how far along the whole upload is, as a percentage and as "4 of 12 files processed", with a count of rows read. Because files start being read as soon as they arrive, you often reach this screen already well through it.

When every file is done, you are emailed **Your upload is ready to review**, and **Column Mapping** opens. Mapping opens only once the **whole** upload has been processed, so no file can fail behind you on a screen you have already left.

The progress rail stays visible on this screen. It is the reminder that Column Mapping and Review are still to come, so "you can leave" never reads as "you are done".

## When a file fails during processing

Occasionally Vintage cannot read or analyze a file. The screen then withdraws its promise to email you (that email can no longer be sent for this upload), names the file, and offers the recovery that fits:

> **One file needs you**
> The rest of your upload is still being processed. Deal with the file below and everything finishes on its own.

You also receive **Your upload needs attention** by email, so a failure that happens after you leave still reaches you.

The actions offered depend on whether trying again could possibly help:

| What went wrong | What you are told | What you can do |
|---|---|---|
| **A problem in the file itself**, such as duplicate or blank column headings | A sentence written for you that names the problem and the fix | **Remove** only. A retry would fail in exactly the same way. Fix the file and upload it again. |
| **Vintage could not finish reading the file in** | "We could not finish reading in *file*. Your upload is still here." | Usually **Retry**, which picks up where reading stopped, or **Remove** to continue without it |
| **A failure of unknown kind**, such as a dropped connection or a server error | "We could not analyze *file*." | **Retry** or **Remove** |
| **Analysis has been tried repeatedly and given up** | The recovery, with no guessed cause | **Remove** only. Nothing would run a retry. |

Removing a file lets the rest of the upload go on without it. If you need that file's data, fix the file and send the corrected version in a new upload.

When nothing left in the upload can move without you, the percentage disappears altogether and the screen reads: "This upload cannot finish until you deal with the file below." A stopped upload is never shown as nearly finished. While other files are still genuinely being processed, the percentage stays, because that progress is real.

**An upload with no data rows:** If every file finishes processing but none contains a data row (an empty export, or one with only column headings), the upload is complete but has nothing to add. It is announced as **Your upload needs attention**, with a sentence saying why, and its Upload History row reads **Needs attention**. Start a new upload with an export that contains your loan data, and delete this one from Upload History.

## Coming back to an upload in progress

You can reopen an upload at any point after its files have arrived, even if you closed the tab mid-way. Open [Upload History](/uploading/upload-history/) and press **Resume** (or **Fix upload**, if a file needs your decision) on its row. While Vintage is still working, you see this same Processing screen with its live progress, and any file that failed is named and removable so the rest can go on. Column Mapping opens once every file in the upload has been read.

## Related

- [How uploading works](/uploading/how-uploading-works/)
- [Removing personal information](/uploading/removing-personal-information/)
- [Mapping columns](/uploading/mapping-columns/)
- [Upload History](/uploading/upload-history/)
- [Emails Vintage sends](/reference/emails-vintage-sends/)