CN IB Document Control
Create one auditable register that answers: what is required, what has been received, in what form, which version is current, who owns the gap, and what evidence closes it.
Principles
- Never equate
receivedwithcomplete,valid,signed,original, orreviewed. - Track each independently controlled item as a separate row.
- Preserve issuer/entity, document period, required form, and version.
- Do not delete superseded records. Mark them superseded and link the replacement.
- Close an item only with reviewable closure evidence.
- Do not upload or commit confidential deal materials to a public repository.
Workflow
1. Define the register scope
Identify:
- transaction and workstream;
- entities and persons covered;
- applicable period;
- source of the requirement;
- expected document form;
- responsible party and reviewer;
- delivery deadline and critical-path dependency.
Read references/document-categories.md to choose categories. Do not force unrelated items into a generic other bucket without explanation.
2. Create the register
Start with assets/document-control-template.csv or reproduce the same fields in an XLSX workbook.
Use a stable document_id. Keep the ID after revisions. Create a new row only when the controlled requirement is distinct.
Minimum fields:
textdocument_id, category, document_name, entity, period, requirement_source, required_form, version, status, original_status, signature_status, seal_status, scan_status, owner, reviewer, due_date, source_path, closure_evidence, notes
3. Apply controlled statuses
Read references/status-taxonomy.md. Track independently:
- overall workflow status;
- original received;
- signatures complete;
- seal complete;
- scan quality;
- review status;
- superseded status.
Avoid free-text statuses such as 差不多, 应该齐了, or 最新.
4. Reconcile received materials
For each delivery:
- match it to an existing requirement;
- confirm entity, person, period, document type, and version;
- inspect completeness, signatures, seals, pages, color, legibility, and validity period;
- record the source location without moving the original unless instructed;
- update the register and reviewer;
- create a new gap when the file only partially satisfies the requirement.
5. Run deterministic register checks
For CSV registers, run:
bashpython3 scripts/review_control_register.py register.csv --output issues.csv
The script checks duplicate IDs, invalid statuses, overdue items, unversioned files, and closed items without closure evidence. Confirm every result in context.
6. Prioritize follow-up
Classify open items by:
- filing or signing blocker;
- dependency on issuer, sponsor, counsel, accountant, government authority, customer, supplier, bank, or individual;
- time required to obtain;
- expiry risk;
- whether a scan, copy, original, notarization, translation, signature, or seal is missing.
Produce a concise follow-up list grouped by owner, not only by document category.
7. Close and archive
Before setting closed:
- confirm the exact requirement is satisfied;
- record the accepted file/version;
- record reviewer and review date;
- record closure evidence;
- preserve unresolved qualifications;
- link any superseded item.
Retain only final requested registers in the project directory. Keep previews and extraction files in temporary storage.
Outputs
Deliver:
- master document-control register;
- blocker list;
- owner-based follow-up list;
- upcoming deadline and expiry list;
- duplicate/superseded/version exception list;
- short completion statistics by category and entity.
Never report 100% complete when critical fields are blank, closure evidence is missing, or unreadable files were not inspected.


