Three modes: no code, one shared code, or a unique code per candidate.
Codes are ten numeric characters with a hyphen at position five — 12345-67890. Generation retries on collision up to 100 times and raises rather than reusing a code.
The detail that matters to an exam office: codes live at test level, not at publication level. They persist across every republish, deliberately, so correcting an exam never forces you to redistribute codes to a cohort.
Format | Use |
|---|---|
Spreadsheet | Bulk handling, mail merge |
PDF table | One printed sheet for the invigilator |
PDF, one candidate per page | Slips to hand out at the door |
Two timestamps track staleness: when the codes last changed, and when they were last exported. Roster changes, regeneration and switching to unique-per-candidate all mark the codes changed. So you can see at a glance whether the batch you printed is still current.