For small productions assembled by hand · what the spreadsheet must become before any platform will import it
Not every production comes out of a processing vendor. Small matters get assembled by hand: a spreadsheet of documents, a folder of PDFs, and a receiving party that expects a proper load file. The gap between "CSV I can edit" and "DAT the platform accepts" is small but full of traps — generic tools don't speak Concordance delimiters, which is why the conversion has to be done deliberately.
| Requirement | Detail | Spreadsheet trap |
|---|---|---|
| Field delimiter | ASCII 20 / DC4 (the invisible control char); some shops use the visible ¶ = 0xB6 variant | Excel exports commas; renaming the file to .dat changes nothing |
| Text qualifier | þ (0xFE in Windows-1252) wraps every field; a literal þ inside a value is written twice | Cells containing þ look identical to delimiters — they're not |
| In-value line break | ® (0xAE) stands in for CR/LF so one record stays on one physical line | Alt-Enter newlines in cells become literal line breaks and shred the record |
| Header row | First line: field names, same grammar, same order for every record | Excel headers with commas or special chars must be wrapped too |
| Encoding | One family for the whole file — Windows-1252 for legacy targets, UTF-8 (ideally with BOM) for modern ones | Excel re-encodes CSV on save and silently changes the family |
| Line endings | CRLF | Usually fine on Windows; Mac exports can arrive LF-only |
The image cross-reference is positional — seven comma-separated columns, no qualifier:
| # | Column | Content |
|---|---|---|
| 1 | Image key | The Bates number / page key of this image |
| 2 | Volume | Volume identifier (e.g. VOL001) matching the volume's folder |
| 3 | Path | Relative path to the single-page image file |
| 4 | Document break | Y on the first page of a document, blank otherwise |
| 5 | Folder break | Y when a folder boundary is crossed |
| 6 | Box break | Y when a box boundary is crossed |
| 7 | Page count | Number of pages in the document, written on the break row |
Empty trailing columns are preserved, not trimmed. Every Y row's page count must equal the inclusive span of keys in that document — the checker in the Bates checker verifies exactly that, along with gaps and duplicates across the whole run.
ABC0000001 survives as text, but numeric-looking Bates numbers get converted and lose padding. Format the column as text before entering anything.6/30/2017 per its locale, and review platforms are picky about date formats. Keep date columns as text.Sheet → CSV (deliberate encoding) → DAT/OPT via the converter → verify (field counts, Bates spans, page counts) → test import on the target platform. If you need to hand-edit afterwards, convert DAT→CSV, edit, convert back — never edit the DAT in a text editor that might re-encode it (see the encoding trap). The DAT format and OPT format guides have the full grammars.