Bulk imports and exports are the slow lane of catalog management: you upload a file, wait, and check back later hoping it worked. We cleaned up that loop end to end so there is no more guessing about status, no more expired download links, and no more accidental price wipes from a misclicked column.
Live status as the job runs
Open the Uploads page after starting an import or export and you will see the job update in real time without refreshing. The row shows the current state (queued, running, completed, failed), the number of rows processed so far, and any errors that have been detected. If you leave the page and come back, the latest state is already there. This works the same way for imports you upload and for exports generated by reports.
Downloads generated on demand
Export download links used to be created when the export finished and they expired after a fixed window. If you opened the email link a day too late, the link was dead and you had to re-run the whole export. Now the download link is minted the moment you click "Download", so it is always fresh. The file itself lives in your account until it is automatically cleaned up. If a file has already been cleaned up, you see a clear message instead of a broken link.
Automatic cleanup keeps storage tidy
Old export files are removed in the background once they are no longer needed, so your Uploads page does not accumulate stale rows. The jobs table itself stays around as a history of what you exported and when, even after the underlying file is gone, so you always have an audit trail.
Confirmation before clearing prices on import
Importing a spreadsheet that has empty cells in a price column used to silently overwrite the existing prices with blanks. That is a fast way to lose your floors or your manual prices if a column was mapped by mistake. The import mapping dialog now detects that situation and asks you to confirm before submitting, with the exact count of affected cells in the message. You can cancel, unmap the column, or proceed knowing exactly what is about to happen.
Example
You export a 5,000-row CSV of your Walmart catalog with prices and costs to send to a teammate. The job appears in the Uploads table and runs in the background, updating to "running" with a row counter and then to "completed" without any refreshing on your side. Two days later, you open the email link, click "Download", and the file streams down cleanly because the link is minted right then. When you re-import the edited version, a column you accidentally cleared is caught by the new confirmation step before it can erase prices on those 5,000 listings.