CN IB Cross-Document Check
Compare multiple filing documents without flattening differences in period, entity, scope, unit, or accounting definition.
Non-negotiable rules
- Compare like with like. Match entity, metric definition, period, scope, currency, unit, and pre/post-transaction basis before declaring a conflict.
- Preserve provenance for every extracted fact: document, version, page/location, source text, and extraction method.
- Treat rounding differences separately from substantive inconsistencies.
- Do not decide which document is correct merely because one is newer. Identify the likely source of truth and request confirmation.
- Distinguish a missing disclosure from a contradictory disclosure.
- Escalate legal, accounting, and regulatory judgments to the responsible professional.
Workflow
1. Build the document manifest
Read references/document-matrix.md. Record for every file:
- document type;
- filename and version;
- document date;
- reporting period;
- responsible owner;
- expected source-of-truth fields;
- whether the document is draft, signed, filed, feedback response, or registration version.
Never compare files until their versions are identified.
2. Define the comparison dictionary
Start with the high-risk fields relevant to the transaction:
- issuer and subsidiary names;
- incorporation and historical dates;
- share capital, ownership, and per-share figures;
- revenue, profit, cash flow, assets, liabilities, and margins;
- customers, suppliers, related parties, and contracts;
- market share, ranking, capacity, production, and sales volume;
- fundraising project investment, proceeds, implementation entity, and schedule;
- risk factors and material event descriptions;
- sponsor, counsel, accountant, and signatory details.
Define each metric before extraction. Read references/comparison-schema.md.
3. Extract an evidence ledger
Create one row per claim using:
textdocument, version, entity, metric, definition, period, scope, value, unit, location, source_text, extraction_method, reviewer
Do not normalize away the original text. Store both the original value/unit and the normalized value/unit.
4. Run deterministic comparison
For structured numeric claims, use:
bashpython3 scripts/compare_numeric_claims.py claims.csv --output conflicts.csv
The script normalizes common Chinese currency and share units and applies a configurable tolerance. It does not determine the authoritative value.
5. Review contextual conflicts
Read references/conflict-rules.md. For every script result or manually observed difference, decide whether it is:
- a true contradiction;
- a period mismatch;
- an entity or consolidation-scope mismatch;
- a pre/post-transaction mismatch;
- a currency or unit mismatch;
- a rounding difference;
- a definition mismatch;
- an intentional update;
- a missing disclosure;
- insufficient evidence.
Quote the minimum relevant source text from each document.
6. Identify the likely source of truth
Use the document matrix and transaction context. Examples:
- audited financial figures usually trace to the latest signed audit report and underlying ledger;
- share capital traces to current corporate records and the applicable transaction assumption;
- fundraising amounts trace to the approved project and filing version;
- legal entity names trace to valid registration documents;
- market data traces to the cited external source and specified date.
Phrase the conclusion as 建议以……为准,并由……确认, not as an unsupported final determination.
7. Produce the reconciliation report
Use this structure:
| ID | Severity | Topic | Document A | Document B | Difference | Classification | Likely source of truth | Required action | Owner |
|---|
Also provide:
- counts by severity and classification;
- unresolved P0/P1 items;
- documents or appendices not received;
- fields excluded from comparison and why;
- a closure column for corrected version and reviewer evidence.
8. Apply approved corrections
When asked to correct existing DOCX files:
- preserve each original and edit the identified authoritative version only;
- apply native Word tracked insertions and deletions by default;
- change the smallest necessary text, number, unit, or table cell;
- preserve existing revisions and comments unless instructed otherwise;
- do not simulate redlines with color or strikethrough;
- record the corrected version and exact location in the reconciliation report;
- structurally verify the revision markup, re-render changed pages, and rerun the comparison.
Use a transparent revision author such as Codex when none is specified. Produce a clean accepted copy only when explicitly requested.
Completion gate
Do not call the review complete until:
- every document has a recorded version;
- all P0/P1 items have an owner and action;
- every numerical conflict retains source locations;
- rounding and definition differences are distinguished;
- corrections are rechecked in the revised files;
- visual or scanned content excluded from extraction is disclosed.
Use temporary storage for extraction and comparison files. Keep only user-requested final artifacts in the deal directory.


