Back to portfolio
Workflow Automation · Finance

ASC 805

M&A Payment Classifier

M&A purchase agreements contain ambiguous payment structures → this workflow systematically applies an internal ASC 805 practice aid across 12 parallel analytical questions → auditors get structured work-paper entries with binary conclusions and supporting citations.

01The Problem

Classifying payments in M&A transactions as either purchase consideration or post-combination compensation is one of the most judgment-intensive tasks in acquisition accounting. Without a structured process, practitioners risk inconsistent application of ASC 805-10-55-18 through 55-25 — the same document reviewed by two professionals can yield different classifications depending on which indicators they prioritize. The stakes are high: misclassification affects goodwill, compensation expense, and earnout liability on the acquirer's financial statements.

02What the AI Does

Retrieves the target transaction document from a Vellum document index via a deployed subworkflow (get-document-by-id) Extracts contingent payment structures using a primary analysis node (BCPKIS301) scoped to a single gating question: are there payments contingent on future performance, employment, or timing? Routes conditionally — if contingent consideration is detected, the workflow branches into 12 sequential sub-analyses covering: units of account completeness, employment linkage, forfeiture provisions, golden parachute evaluation, settlement form (cash vs. equity), mandatory redemption, variable share obligations, equity indexation, and ASC 815 classification Scores each sub-analysis with a binary TRUE/FALSE sentiment node that applies ASC 805-10-55-18 and 55-25 indicators explicitly Generates structured work-paper entries for each question, formatted for a Big-4-level technical accounting audience Assembles a final consolidated analysis report combining all relevant entries Models used: gpt-4o-mini throughout (all prompt and sentiment nodes); structured JSON outputs enforced via json_schema with strict: true

03Design Decisions

01 · Choice

Sub-analyses run sequentially with conditional gates — later questions only execute if earlier conditions are met (e.g., employment arrangements must exist before forfeiture provisions are evaluated)

Why

Mirrors the actual decision tree in the firm's internal practice aid; asking "is consideration forfeited on termination?" is only meaningful if employment arrangements were first confirmed to exist. [Creator: add rationale if this also reflects a cost/token optimization decision]

Constraint

Prevents irrelevant work-paper entries from being generated for inapplicable fact patterns

02 · Choice

Every sub-workflow produces two outputs — a human-readable work-paper entry AND a machine-readable conditionMet boolean

Why

The boolean drives routing logic; the text entry feeds the final report. Separating these prevents the routing logic from depending on parsing narrative text. [Creator: add rationale]

Constraint

Enforced via json_schema with strict: true — the model cannot produce ambiguous outputs that break downstream routing

03 · Choice

Each sub-analysis uses a dedicated second LLM call to act as an "independent judge" that renders the TRUE/FALSE verdict, rather than having the analysis node self-classify

Why

Reduces anchoring bias — the analysis node is instructed to reason thoroughly; the judge node is instructed to apply binary standards against ASC 805 indicators specifically. [Creator: add rationale if this was validated against single-node approaches]

Constraint

The judge prompt explicitly cites ASC 805-10-55-18 and 55-25(a-h) as the evaluation framework, bounding the verdict to codified standards

04 · Choice

GETDocumentation passes a fixed document_id and dox_index_id rather than accepting them as workflow inputs

Why

[Creator: add rationale — is this scoped to a single engagement? A demo document? Intentional for controlled testing?]

Constraint

Limits the workflow to a single document without modification; not currently parameterized for multi-document use

05 · Choice

All 40+ prompt nodes use gpt-4o-mini

Why

[Creator: add rationale — cost optimization? Sufficient for structured extraction tasks? Speed for iterative testing?]

Constraint

May underperform on highly ambiguous contractual language where nuanced legal interpretation is required

06 · Choice

Several nodes contain state="DISABLED" blocks with the full ASC 805 framework instructions

Why

[Creator: add rationale — A/B testing? Preserved for reactivation? Intentional scope reduction for specific nodes?]

Constraint

These blocks do not execute but remain visible in the workflow for editorial review

07 · Choice

All report entry nodes explicitly require three sections: Initial analysis goal, Summary of finding, Detailed analysis with citations

Why

Matches the deliverable format expected in professional accounting engagements; output is designed to be inserted directly into work-paper documentation rather than summarized by a human

Constraint

Outputs are verbose by design (max_tokens: 2000); not suitable for executive summary use cases without a downstream summarization step

05Key Insight

When AI is applied to regulated professional judgment tasks, the highest-value design decision is not prompt quality — it is encoding the decision framework (the Practice Aid, the codified indicators, the sequential logic) directly into the workflow architecture so the AI cannot skip steps that a human practitioner is also required to follow.