Last reviewed: 2026-06-24
Chart Import Contract
Canonical workflow: ChartImport
Required concepts: - import batch - source artifact name - source hash - original row values - normalized row values - validation issues - batch status - commit result - actor attribution
Rules:
- Chart import is staged and reviewable before commit.
- Staged imports must be durable before commit.
- Import batches must preserve source artifact name, source hash, actor attribution, original row values, normalized row values, validation issues, status, and commit result.
- A committed batch records the actor whose protected chart authority performed
the commit; staging attribution is not a substitute for commit attribution.
- Account codes are imported as strings and preserve leading zeros.
- Opening balances are not account master data.
- Import commit must not infer authoritative account behavior solely from account numbers.
- Initial chart import supports active account creation only; rows requesting inactive or retired status must be rejected until account maintenance workflows create those states deliberately.
- Import commit must use account maintenance behavior so account history, authorization, audit, and company-scoped uniqueness rules are preserved.
- Reusing a source hash for the same company must not silently stage or commit duplicate meaning.
- Recovery of a coordinated conversion chart commit must prove each resulting
account from the batch-correlated account history and durable result identity;
an account-code match alone is not completion evidence.
- abandoned is reserved for future review workflow support; v1 chart import may persist the status value but does not need to expose abandon behavior until chart import review UI exists.
- Completed imports are corrected through account maintenance, retirement, or replacement rather than deleting used accounts.
Related truth pages:
- account.contract.md
- ../accounting/accounts.md
- ../decisions/accepted/0017-chart-maintenance-surrounds-accounting-kernel.md