No data leaves your machine — runs locally in your browser
No IT setup required · No vendor onboarding · Partner discretionary authority
15-point diagnostic protocol · Export Exception Summary on every diagnostic
Every SALT firm has had this: a return that tied at review — but still required hours of explanation or reconciliation later. That's not bad luck. It's a systematic gap in what standard review checks. Extension season is when that gap surfaces most.
Pre-Sign-Off Structural Diagnostic  ·  Entity-Level Validation Before Sign-Off

The factor tied.
The build couldn't
be explained.

Standard review confirms the math. Totals foot. Schedule R ties. It doesn't confirm that you can walk the build from components without rebuilding it.

Most firms validate that the factor ties. Very few validate that the build can be explained without rebuilding it.

The gap — present at every firm, every season

You don't lose time on returns that fail review. You lose time on returns that pass — but don't explain cleanly when revisited. During extension prep. During a client meeting when the CFO asks why CA doesn't tie to internal numbers. When a state examiner asks you to walk the factor from source to return and the workpaper can't answer independently. The factor is correct. The build isn't always provable.

Run this right now — no tool required.
If your export shows the numerator and denominator separately from the factor: divide one by the other. Does the result match the factor in that row — or only after explanation?
If it doesn't foot cleanly, something in the build isn't directly traceable from the export. That's the condition this diagnostic documents — across every entity-state pair, in 90 seconds.
When the cost surfaces  · typical review cycle
Apr 15
Return filedFactor ties. Schedule R foots. Partner signs off. File is complete.
Apr–May
Extension cycleTeam revisits structures with extensions. Apportionment factors get a second look. Something doesn't reconcile cleanly.
May–Jul
Client meetingsCFO asks why CA state-level numbers don't match internal payroll records. Reconciliation work begins without a clear root cause.
Jul–Sep
Workpaper rebuildTeam rebuilds apportionment from source data. Root cause: entity-level component doesn't trace cleanly from export to return. 4–8 hrs lost.
3 yrs+
State examExaminer asks for source-to-return walkthrough. The workpaper shows the factor tied. It doesn't show the build was independently verified.
Emmanuel Kyumba
Built by

Emmanuel Kyumba — Five years in state and local tax technology, working at the point where apportionment data moves from tax software into workpapers. The work was validating multi-state exports before they reached the review layer — confirming that entity names were consistent, state codes resolved correctly, factors footed from their components, and nothing was being silently excluded from the rollup. The gap this diagnostic catches surfaced repeatedly in that work: a payroll factor that tied perfectly at the Schedule R level, but when you looked at the entity-state rows individually, a subsidiary's CA factor was written with the wrong sign. The total was unchanged because the offsetting value cancelled it out. Standard review passed. The workpaper showed the factor tied. It just couldn't be supported from the exported components without going back to the software. That's the check that didn't exist. Based in Los Angeles.

LinkedIn →
This is the systematic gap. Present at every firm.
✓ What review confirms
The factor ties
  • Total apportionment factor matches the return
  • Schedule R cross-footing passes
  • State totals reconcile to federal
  • Formula-level errors are caught
  • Partner sign-off based on aggregate review
✗ What review doesn't confirm
The build traces
  • Entity-level factors foot from their exported components
  • Overrides at the factor level are documented
  • Export transformations between software and workpaper are explained
  • Rounding accumulated across rollups is within tolerance
  • The build can be independently walked from source to return
A factor that ties to the return but can't be walked back to source is a documentation condition — even when the math is correct. That's what surfaces in extension prep, client meetings, and state exams.
Pattern observed across
SALT consulting engagements
2020–2025 · CCH Axcess,
ONESOURCE, GoSystem RS
CCH Axcess · CA apportionment · QSSS structure · this is what the export looks like
CF-01 · Sign Inversion · CCH Axcess / QSSS · Column AP

The entity-level structure was broken.
The totals didn't show it.

In this export, SubCo I LLC shows −0.3420 for CA payroll in Column AP — while the parent entity shows +0.3420 for the same entity and period. The numerator and denominator are identical for both rows. Divide either one: $3,420,000 ÷ $10,000,000 = +0.3420. The subsidiary's factor should be +0.3420. The export wrote −0.3420. The values cancel in the column total. Schedule R ties. Standard review passes. The sign inversion is only visible when you divide the exported numerator by the denominator and compare the result to the reported factor.

cch_qsss_apportionment_Q4_2025.xlsx
742 rows · CCH Axcess Tax
Schedule AP Export · Column AP = Payroll Factor
#Entity_IDEntity_NameStateEntity_TypeNumerator ($)Denominator ($)Col AP (Factor)
R11TC-001TechCorp LLCCAParent S-Corp$3,420,000$10,000,000+0.3420
R12TC-001TechCorp LLCNYParent S-Corp$2,180,000$10,000,000+0.2180
R13TC-001SubCo I LLCCAQSSS Sub$3,420,000$10,000,000−0.3420
R14TC-001SubCo I LLCNYQSSS Sub$2,180,000$10,000,000+0.2180
R52TC-001SubCo II LLCCAQSSS Sub$1,870,000$10,000,000−0.1870
TotalAll entities · CA column+0.2490
R13: $3,420,000 ÷ $10,000,000 = +0.3420 · Reported Col AP: −0.3420 · Sign inverted · Factor does not re-derive from exported components · Cause requires source system investigation: consolidation method mismatch between parent and subsidiary entity settings
Why this creates a factor gap
01 · THE EXPORT CONDITION
Numerator and denominator are correct. Sign is inverted.
Row R13 shows SubCo I LLC · CA · numerator $3,420,000 · denominator $10,000,000. Re-derive: 3,420,000 ÷ 10,000,000 = +0.3420. Reported factor: −0.3420. The arithmetic produces the correct magnitude — but the sign is inverted. The factor can be re-derived in magnitude, but not in direction. This is the specific signature of a QSSS consolidation method mismatch: the software wrote the subsidiary's factor with the opposite sign.
02 · WHY STANDARD REVIEW PASSES
The negative value cancels against the positive in column totals.
R13 (−0.342) and R11 (+0.342) are the same entity-state pair at different consolidation tiers. They cancel. The CA column total is +0.249 — which ties to Schedule R. Cross-footing passes. No formula error triggers. Review at the aggregated level sees a correct number. The inversion is only visible at the entity-component level.
03 · WHAT THE DIAGNOSTIC IDENTIFIES
Factor does not re-derive from export columns. Cause documented.
CF-01 flags R13 and R52: same Entity_ID, same State, sign inconsistent with peer rows and with the arithmetic result of the exported numerator ÷ denominator. Cause: CCH Axcess writes QSSS subsidiary apportionment factors with inverted signs when the subsidiary entity settings use a different consolidation method than the parent. This is a documented CCH export behavior — not a preparer error. The diagnostic identifies the condition, documents the cause, and produces a workpaper artifact before sign-off.
Verify in your own exports — no tool required
1. Open any apportionment export that shows
   numerator and denominator as separate figures
   alongside the final factor.
2. Pick any entity-state row. Divide numerator
   by denominator.
3. Does it match the reported factor?
   If yes — that row foots from its components.
4. If the signs differ, or the gap is larger
   than minor rounding: the factor can't be
   re-derived from the export alone. Document
   the cause before sign-off.
No change to your process. One additional layer of documentation.
01
Run the diagnostic on synthetic data — 90 seconds
See the CF-15 factor integrity check fire on a clean-looking export. See the four causes of factor gaps identified and documented. No login, no file upload, nothing stored.
02
Execute on your own exports — runs in your browser
Entity names hashed. PII auto-rejected. Results in 90 seconds. Zero server transmission — verifiable in your browser's Network tab. Your IT team can confirm in under 60 seconds.
03
Attach the Export Exception Summary to the workpaper file
One page. Scan ID, SHA-256 provenance hash, all findings with cause codes. If a state examiner asks for a source-to-return walkthrough three years from now, this is what you hand them alongside the workpaper.
Clean result? You still get the audit trail.
Run the diagnostic on 3–5 of your own files. Whether findings exist or not, you receive documented Export Exception Summaries for every file — the workpaper evidence that structural validation was performed. If our output isn't something your team would attach to a workpaper, you don't pay. This is the honest version of discovery.
CF-15 is the anchor check. CF-01 through CF-14 are the documented causes.

CF-15 (Factor Arithmetic Integrity) is the anchor check. It re-derives the apportionment factor directly from the export's own numerator and denominator columns and compares the result to the reported factor. If they don't match within a defined tolerance band, it flags the variance and documents the most likely cause.

CF-01 through CF-14 document the structural conditions that cause a factor gap. They are organized into two tiers: Critical (conditions that prevent re-derivation or produce materially wrong factors) and Flagged (conditions that require documentation before the build path can be confirmed clean).

All checks are deterministic or pattern-based with documented detection logic. No inferences about tax positions. No filing recommendations. Structural conditions only.

CF-15 · Anchor Check · Output example
Entity: TechCorp LLC · State: CA
Reported factor:   18.3286%
Re-derived factor: 18.2453%
Variance:           8.3 bps · FAIL (>5 bps)
Cause code:        OVERRIDE_SUSPECTED
→ Documented explanation: none found in export
Tolerance bands: PASS <0.5 bps (floating point) · FLAG 0.5–5 bps (rounding — explainable) · FAIL >5 bps (unexplained variance)
CF-15 · Anchor Check
CF-15 · New
Factor Arithmetic Integrity
Anchor — Run First
CF-01 through CF-07 · Critical — prevent re-derivation or produce materially wrong factors
CF-01
Sign Inversion
Critical
CF-02
Fiscal Period Misalignment
Critical
CF-03
Invalid State / Jurisdiction Codes
Critical
CF-04
Currency Format Inconsistency
Critical
CF-05
QSSS / C-Corp Consolidation Sign Error
Critical
CF-06
Hidden Whitespace / Control Characters
Critical
CF-07
Concealed Cancellation (Meta-Error)
Critical — Invisible in Totals
CF-08 through CF-14 · Flagged — require documentation to confirm build path is clean
CF-08
IC Elimination with State Attribution
Flagged
CF-09
NOL Classification — TCJA Vintage
Flagged
CF-10
Date Format Heterogeneity
Flagged
CF-11
Column Shift / Schema Corruption
Flagged
CF-12
Duplicate Ledger Injection
Flagged
CF-13
Entity Mapping Collision
Flagged
CF-14
Apportionment Factor Completeness
Flagged
What it detects
Impact on factor supportability
Why this breaks the build path
Detection method
What your team receives after every diagnostic review — click to explore
◆ PDF
Export Exception Summary
One-page workpaper artifact. Score, all findings with cause codes, attestation lines. Designed for partner sign-off and workpaper attachment.
◆ PDF
Data Consistency Scorecard
Full technical breakdown. Every finding with detection method, affected rows, variance in bps, and cause code. Manager review copy.
◆ XLSX
Corrected Workpaper Reference
Structural repairs applied. Values untouched. Diagnostic only — do not import back into source systems. Fix at source and re-export.
◆ PDF
Data Processing Log
SHA-256 hash. Chain-of-custody record. Scheduled deletion timestamp. Satisfies most firm data handling policies.
◆ TXT
Validation Workpaper Note
Pre-formatted. One-click copy into CaseWare, SharePoint, or CCH binder. Includes standard preparer attestation language.
Export Exception Summary
The document a partner attaches to the engagement workpaper file. One page. Designed to be shown to risk management, practice leadership, and — if it comes to it — a state examiner. Documents that structural validation was performed before sign-off, and what was found.
  • Data Consistency Score with four-dimension breakdown
  • CF-15 result: reported factor, re-derived factor, variance in bps, cause code
  • All critical findings with row references, detection method, and reconstruction impact
  • Scan ID and SHA-256 hash — proves what the file contained at the moment of diagnostic
  • Preparer attestation section with standard workpaper language
  • Valid 14 days from issuance — re-run if corrections made
Sample — Export Exception Summary
FINANCEOCR · PRE-SIGN-OFF EXPORT EXCEPTION SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DATA CONSISTENCY SCORE: 74 / 100 ⚠ EXCEPTIONS IDENTIFIED CF-15 FACTOR ARITHMETIC INTEGRITY TechCorp LLC · CA: reported 18.3286% · re-derived 18.2453% Variance: 8.3 bps · FAIL · Cause: OVERRIDE_SUSPECTED Documented explanation: none found in export CRITICAL FINDINGS (2) CF-01 Sign Inversion · SubCo I LLC · CA · Row R13 Component does not re-derive from the export columns CF-05 QSSS Consolidation Sign Error · SubCo II · R52 Opposing signs · same entity-state pair · nets to zero SCAN ID: DIAG-MNC4S4F1-63AA7836 SHA-256: c8a33bc6cae5ff63…3ac0 VALID: 14 days from issuance PREPARER ATTESTATION Exceptions reviewed with manager. Source data corrected in [CCH Axcess / ONESOURCE / GoSystem / Corptax]. Diagnostic used for structural formatting review only. Reviewed by: ___________________ Date: __________
Data Consistency Scorecard
Full technical detail for manager and senior review. Every finding with detection basis, affected rows, variance, and the factor supportability impact of each condition.
  • CF-15 result per entity-state pair: reported vs. re-derived factor, variance in basis points, cause classification
  • Tolerance band result per row: PASS / FLAG / FAIL with threshold documentation
  • Provenance: filename, SHA-256, diagnostic timestamp, scheduled deletion date
  • All CF-01–CF-14 findings with detection methodology and row references
  • Repair ledger with Open / Resolved in Workpaper status per finding
Sample — Data Consistency Scorecard · CF-15 section
CF-15 FACTOR ARITHMETIC INTEGRITY Re-derive: Numerator ÷ Denominator vs. Reported Factor Entity State Reported Re-derived Var (bps) Result ─────────────── ───── ──────── ────────── ───────── ────── TechCorp LLC CA 18.3286% 18.2453% 8.3 FAIL SubCo I LLC CA -0.3420% +0.1824% — SIGN SubCo I LLC NY 11.2000% 11.2000% 0.0 PASS SubCo II LLC CA -0.1870% +0.1000% — SIGN SIGN = sign inversion detected — re-derivation produces opposite direction. Refer to CF-01. FAIL = variance exceeds 5 bps. No documented explanation found in export. Requires source verification.
Corrected Workpaper Reference
The same export file with structural conditions flagged and safe repairs applied. No numeric values modified. Every change documented in the Exception Log tab. Diagnostic only — do not import back into source systems. Fix at source and re-export.
  • CF-15 variance table added as a dedicated tab — shows all entity-state pairs with reconstruction results
  • Sign inversions flagged in a dedicated column — not corrected, requires source system verification
  • Entity name variants normalized to canonical form — originals preserved in companion column
  • State labels standardized to USPS 2-letter codes — originals preserved
  • Exception Log tab documents every change with before/after and status
Sample — Exception Log tab
Row Field Before After Status ──── ──────────── ──────────── ──────────── ───────────────── R13 CF-15_Result — SIGN/FAIL FLAGGED — see CF-01 R52 CF-15_Result — SIGN/FAIL FLAGGED — see CF-05 R9 State "New York" "NY" RESOLVED R2 Entity_Name "ABC Corp." "ABC Co." RESOLVED All original values preserved. No numeric values modified. Source system correction required before reliance.
Data Processing Log
A timestamped record confirming the file was processed in-memory and scheduled for deletion. Satisfies data handling documentation requirements for most firm risk management policies.
  • Scan ID and Diagnostic ID for cross-reference
  • SHA-256 hash of original file — provenance fingerprint only, cannot re-derive file
  • Scheduled deletion timestamp — maximum 48 hours post-diagnostic
  • PII auto-rejection confirmation
  • Generated automatically on every diagnostic
Sample — Data Processing Log
FINANCEOCR · DATA PROCESSING LOG ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SCAN ID DIAG-MNC4S4F1-63AA7836 SHA-256 c8a33bc6cae5ff63d634dc…3ac0 DIAGNOSTIC 03/29/2026 12:07:07 PT PURGE 03/31/2026 12:07:08 PT DATA RETENTION Input file: NOT RETAINED — purged within 48h Row-level: NOT RETAINED PII fields: NOT RETAINED — rejected at ingestion SHA-256 hash: RETAINED — provenance record only
Validation Workpaper Note
Pre-formatted text block that pastes directly into CaseWare, SharePoint, CCH Axcess binders, or any workpaper index. Documents what the diagnostic found and what requires partner review before sign-off.
  • Diagnostic ID and SHA-256 hash for tamper-evident cross-reference
  • CF-15 factor result — reported factor, re-derived factor, variance, cause code
  • All findings with disposition required before sign-off
  • Standard preparer attestation language included
  • One-click copy to clipboard
Sample — Validation Workpaper Note
Structural diagnostic performed. Diagnostic ID: DIAG-4C2E7A19. SHA-256: 9b81c2f7… Vendor: CCH Axcess. No PII retained. CF-15 FACTOR INTEGRITY: TechCorp LLC · CA · Variance 8.3 bps Cause: OVERRIDE_SUSPECTED. No documented explanation found in export. Requires source verification before sign-off. EXCEPTIONS — PARTNER REVIEW REQUIRED: CF-01 Sign Inversion · SubCo I LLC · CA · R13 · CRITICAL. Component: Numerator ÷ Denominator = +0.1824%. Reported factor: -0.3420%. Sign inverted. CF-05 QSSS Sign Error · SubCo II LLC · CA · R52 · CRITICAL. Exceptions reviewed with manager. Source data corrected in [CCH Axcess / ONESOURCE / GoSystem / Corptax]. Diagnostic used for structural formatting review only. Reviewed by: _____________ Date: _____________
Data Security Architecture

Designed to satisfy
InfoSec review
in under 24 hours.

The diagnostic runs entirely in your browser via WebAssembly. The file is processed in-memory and never transmitted to our servers. This is not a policy promise — it is a technical architecture fact your firm's IT team can verify in under 60 seconds.

Self-verify — no trust required
Open your browser's Network tab.
Run the diagnostic on any file.
Observe: zero outbound data transmission.
SHA-256 hash computed locally in-browser.
File never transmitted to external servers.
In-browser processing via WebAssembly
Analysis runs in your browser. The file is never uploaded. No server receives the data. Verifiable by any developer in 60 seconds using the browser Network tab.
SHA-256 provenance hash — no content retained
A cryptographic hash of the file is generated locally for workpaper integrity. The hash proves what the file contained at the moment of diagnostic. No file content is retained anywhere.
PII auto-rejected at ingestion
Entity names are hashed before processing. SSN, EIN, and other PII patterns are detected and rejected. The diagnostic operates on structure and values — not identifiers.
Pre-signed NDA + $2M E&O + $1M Cyber coverage
Engagement executed as professional services. Pre-signed NDA, coverage documentation, and W-9 provided same day. Designed to pass firm risk committee review without a custom legal process.
Engaged under partner discretionary authority
No vendor onboarding queue. No IT procurement ticket. Executed directly via engagement letter — same channel as outside counsel. 24-hour turnaround.
No IT ticket. No procurement queue.
Partner discretionary authority. Engaged as professional services — same channel as outside counsel. 24-hour turnaround on engagement letter.
Deliverables, not software.
Every engagement delivers a one-page Export Exception Summary formatted for workpaper attachment. No implementation. No training required.
InfoSec review in under 24 hours.
Technical architecture memo, pre-signed NDA, $2M E&O + $1M Cyber coverage documentation, and W-9 available as a complete packet. Designed to satisfy firm risk committee review without custom legal process.
Structural diagnostics only.
No tax advice. No nexus determinations. No filing recommendations. Professional judgment on all findings remains with your firm.
Engagement Structure
Six-month diagnostic engagement.
Your entire practice group.
Access immediate upon execution — run your first diagnostic the same day.
Unlimited diagnostic reviews through busy season and extension filing. Every engagement delivers a scored Export Exception Summary with CF-15 re-derivation results — workpaper-ready, formatted for risk committee review.
Partner discretionary authority — no procurement review
Executed via professional services engagement letter
Pre-signed NDA + $2M E&O + $1M Cyber + W-9 same day
What you receive per diagnostic
✓  Export Exception Summary (PDF) — CF-15 results + all findings + attestation
✓  Data Consistency Scorecard (PDF) — manager review copy
✓  Corrected Workpaper Reference (Excel) — reference only
✓  Validation Workpaper Note (TXT) — copy-paste ready for any binder
✓  Data Processing Log (PDF) — chain-of-custody record
✓  Pre-Sign-Off Structural Validation Control (PDF) — for risk committees
Two outcomes, both documented:
✓ Findings exist — cause code and estimated fix time before your team decides whether to act.
✓ Files are clean — one-page clean attestation for the workpaper. The audit trail that didn’t exist before.
If our output isn’t something your team would attach to an engagement workpaper before sign-off, you don’t pay.
Questions partners ask

Before the first
diagnostic review.

01What exactly does CF-15 check? What if my export doesn't have separate numerator and denominator columns?
CF-15 requires that the export contains the apportionment factor, the numerator, and the denominator as separately exported columns. For multi-state apportionment exports that include entity-level detail — including certain CCH Axcess, GoSystem RS, and ONESOURCE export formats — these columns are present. For exports that don't include separate numerator and denominator columns, CF-15 is skipped and the diagnostic runs CF-01 through CF-14 only. The diagnostic tells you which checks fired on your specific file. No claims are made about files where the required columns aren't present.
02How do you determine the cause code — OVERRIDE_SUSPECTED vs. ROUNDING vs. EXPORT_DELTA?
Cause codes are diagnostic classifications based on variance magnitude and pattern — not definitive determinations. ROUNDING: variance under 5 bps with no sign change, consistent across multiple rows — consistent with rounding accumulation across a rollup. EXPORT_DELTA: variance pattern differs between states for the same entity — consistent with transformation between source system and export format. OVERRIDE_SUSPECTED: variance over 5 bps with no structural explanation found in the export columns — the most likely cause is a manual entry at the factor level not reflected in the exported numerator/denominator. All cause codes require human verification at the source system before action. The Export Exception Summary states this explicitly on every output.
03If the factor is mathematically correct, why does this matter?
Because "correct" and "documentable" are different standards. A factor is correct if it produces the right result on the return. A factor is documentable if the path from source data to that result can be independently verified. Standard review confirms the first. CF-15 checks the second. The gap matters in three specific situations: state exam — an examiner asking for a source-to-return walkthrough will find the gap if it exists; prior-year re-derivation — a restatement or amended return requires re-deriving the factor from source, which fails if the factor can't be re-derived from the export; client inquiry — a CFO or controller asking to reconcile the payroll factor against internal records will surface the variance. None of these situations are common. All of them are expensive when they occur.
04Does this integrate with CCH Axcess, GoSystem, or ONESOURCE directly?
No — and that's intentional. The diagnostic runs on exported files, not live connections to your tax software. This means no API keys, no IT coordination, no firewall exceptions, and no vendor integration process. More importantly, running the check inside the same software that produced the export would use the same transformation logic — which is exactly what CF-15 checks against. The value of running this check independently of the source software is that it's independent. Your team exports as they already do for review, runs the diagnostic in-browser in 90 seconds, and generates the workpaper artifact before sign-off.
05What happens to the file?
Nothing is uploaded. The diagnostic runs entirely in your browser via WebAssembly — the file is processed in-memory and never transmitted to our servers. This is a technical architecture fact, not a policy statement. Your firm's IT team can verify zero outbound data transmission in under 60 seconds by opening the browser Network tab during a diagnostic run. A SHA-256 hash of the file is computed locally for workpaper provenance. No file content leaves your machine.
06What if we find the condition in a return we already filed?
The diagnostic is a pre-sign-off tool. Its purpose is to identify structural conditions before the partner signs. For returns already filed, the professional judgment about whether a finding requires amendment, disclosure, or documentation is entirely the firm's call — the diagnostic does not make filing recommendations and does not provide tax advice. What the Export Exception Summary provides is documentation that a structural review was performed and what it found. That documentation has value regardless of when it's created.
Pre-sign-off · Entity-level · Every entity · 90 seconds

Verify the build —
not just the factor.

Run the diagnostic on synthetic data first. See CF-15 fire. See the four-step reveal. Then execute on your own exports and see what it finds on real files.

If your extension filings are in progress and you can't say with certainty that every entity-level factor can be proven from the exported components — this is a 90-second way to document the answer before the partner signs. Access is immediate. Run it on an extension workpaper today.

No finding creates work your team didn't already have. The diagnostic surfaces what exists — your team decides what to act on.
▶  Run Demo Test Your Own Exports →
Download the Security Packet  ·  hello@financeocr.com  ·  (916) 477-8427  ·  Book 15 min with Emmanuel