Preparing the file
- One row per record
- One question per row with options in their own columns; one candidate per row. A row that describes two things is the most common source of a silently wrong import.
- Headers that match the template
- Download the template rather than guessing column names. Renamed or reordered columns are the second most common failure.
- No merged cells, no trailing blank rows
- Both are invisible in a spreadsheet application and both confuse a parser.
- Consistent option counts
- If some questions have four options and some five, say so explicitly in the columns rather than leaving gaps that read as empty options.
- Text, not formulas
- Paste values before exporting. A formula exports as whatever it evaluated to at save time, which may not be what you see.
Why the preview is the important step
A validated preview turns a destructive operation into a reviewable one. You get a per-row summary with errors and warnings, and nothing is committed until you confirm.
The valuable part is the warnings, not the errors. An error stops a row and you will notice it. A warning — a duplicate, an unusual mark value, a candidate email that already exists — is where the quiet data problems live.
Import in batches
One paper at a time, or one batch of candidates at a time. A four-thousand-row import that fails validation gives you a wall of errors with no obvious starting point; forty rows at a time tells you exactly which sheet was wrong.
Batching also means a mistake is easy to undo. A bad import of one paper is a small cleanup; a bad import of a whole archive is a project.
Expect duplicates, and read the report
Overlap between old papers is normal and is the point of importing into a bank rather than a folder. Rows that match questions already in the bank should be linked to the existing question rather than creating a second copy.
For candidates, the equivalent is an existing record matched by email — you want the import to attach to the person who is already there, tags and history intact, rather than creating a second row for the same student.
Tag while you are in there
Topic, difficulty and language for questions; batch, centre and cohort for candidates. Adding these during the import is a column. Retrofitting them onto a thousand imported records afterwards is the part that never gets done.
How imports run here
Both question and candidate uploads are parsed and validated in the background, then presented as an editable preview with per-row errors and warnings. You can correct rows in place, import only the valid ones, and re-upload the rest. Question rows that match existing bank entries are linked through the same duplicate-detection pipeline the bank uses.
Common questions
What is the most common reason an import fails?
Headers that no longer match the template, and rows that describe more than one record. Both are easier to catch by importing in small batches than by reading a long error list from one large upload.
Will importing create duplicate questions?
It should not. Rows matching questions already in the bank are linked to the existing entry rather than copied, and the preview reports which rows matched so you can review before confirming.
More answers on the full FAQ.