THE SHORT ANSWER

A trustworthy import separates parsing, validation and final writes. Preview the mapping and exceptions so customers can understand what will change before they confirm.

Treat uploaded data as a proposal

In a fictional membership platform, a column called “date” might mean renewal date or date of birth. Ask for a mapping instead of silently inferring a business meaning. Preserve leading zeros in identifiers and make date interpretation explicit for customers using different regional formats.

Surface consequential choices

CaseWhat the preview should explain
Required column absentMissing field and remapping option
Ambiguous valueAffected row and proposed interpretation
Possible duplicateCreate, update or reject behaviour
Partial acceptanceAccepted and rejected totals before confirmation

Decide whether one invalid row cancels the entire batch or permits a partial import. Either policy can be appropriate; the product must state which one applies. A generic success banner cannot explain that half the records were skipped.

Design for interruption

Assign a batch identifier and provide a useful error report without unnecessary personal data. Retrying should not silently duplicate previously accepted rows. Long-running imports need a durable status page that remains available after the browser closes.

Is a downloadable template enough?

A template helps preparation, but customers still upload imperfect files. Test missing columns, unexpected delimiters, duplicate records and interrupted processing. The acceptance criterion is a reconciled final state with an understandable report, not merely a green notification after upload.

Currency without an implied conversion

If an imported amount includes a currency code, show that code alongside the value. Do not infer conversion from the user's interface language. An English interface may serve customers billing in several currencies, and the import must preserve that distinction.

Sources and further reading

From this guide to your project

Product ↗

The experience connects your promise to the job your user needs to get done. We design that journey before adding more screens.

Tell us about your idea

Examples are educational and do not describe client results. Content prepared with AI assistance; see our editorial policy. Our method ↗