Define the CSV contract
| Text | UTF-8 or documented encoding, quoting and delimiter. |
|---|---|
| NULL | Distinct documented representation from empty text. |
| Dates/numbers | Locale-independent formats and preserved precision. |
| Memo/blob | Quoted text or separately named binary files, never silent loss. |
Export one file per table with stable columns and source identifiers. Flat files do not enforce keys, relationships, constraints or code lists, so deliver those separately.
Make it repeatable
- Read preserved source without modification.
- Log conversion rules and rejected values.
- Reconcile table row counts and representative totals.
- Test import using the documented dialect.
Use proprietary extraction first when access is unresolved. Choose SQL conversion when relational behavior is required, or see the database pillar.