OpenChainGraph Suite · OCG v0.8.0 · Revenue Operations

Commission Integrity and Amortization

Gated three-step revenue operations chain. Step 1 validates the commission hierarchy structure (BFS split-sum, orphan detection, circular-reference guard per ASC 606). Step 2 reconciles commission statement lines against expected amounts (gate: if a discrepancy is found the chain exits early — the statement must be clean before amortization proceeds). Step 3 computes ASC 340-40 incremental commission amortization, applying the §340-40-25-4 practical expedient for contract terms of 12 months or less. No personal data is processed.

OpenChainGraph · 3 Steps compliance mandate · Gated Early Exit · has_discrepancy Hash-Anchored §4 chain_depth:3 Client-Side · Zero PII
Not accounting or legal advice. Commission reconciliation and amortization outputs require review by qualified accounting staff. ASC 340-40 practical expedient applicability depends on entity-specific accounting policy elections. Verify all outputs with your auditors before use in financial statements.
Chain Topology (gated) — Hierarchy Validation → Reconciliation Gate → ASC 340-40 Amortization
validate_commission_hierarchy ART-264 · Hierarchy Validation is_valid reconcile_commission_statement ART-266 · GATE has_discrepancy=true → END no discrepancy amortize_asc606_commissions ART-265 · ASC 340-40
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 3 Steps · Gated (early exit at Step 2)
1 ROOT node
Commission Hierarchy Validation art-264-validate-commission-hierarchy
BFS traversal validates agent hierarchy: per-level split percentages sum to 100%, no orphaned agents, no circular references. Emits is_valid (bool), violations[] with rule codes, and by_level breakdown. Passes to Step 2 for statement reconciliation.
MCP Call · validate_commission_hierarchy
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_commission_hierarchy",
    "arguments": {
      "hierarchy": [
        {"agent_id": "NP1",      "parent_id": null,   "split_pct": 100},
        {"agent_id": "ManagerA", "parent_id": "NP1",  "split_pct": 60},
        {"agent_id": "ManagerB", "parent_id": "NP1",  "split_pct": 40},
        {"agent_id": "AgentX",   "parent_id": "ManagerA", "split_pct": 50},
        {"agent_id": "AgentY",   "parent_id": "ManagerA", "split_pct": 50}
      ]
    }
  },
  "id": 1
}
2 GATED node gate
Commission Statement Reconciliation art-266-reconcile-commission-statement
Reconciles statement lines: expected = gross_premium × (commission_rate_pct/100) × (split_pct/100). Emits has_discrepancy (bool), total discrepancy amount, per-line results. Gate: if has_discrepancy=true the chain exits (discrepancy must be resolved before amortization). Default (no discrepancy) proceeds to ASC 340-40 amortization.
§21.4 Gate · RFC 6901 Pointer
input: /has_discrepancy  ·  rules: [{op: "eq", value: true, next: "end"}]  ·  default: art-265-amortize-asc606-commissions
MCP Call · reconcile_commission_statement
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "reconcile_commission_statement",
    "arguments": {
      "statement_lines": [
        {
          "agent_id": "AGT001",
          "gross_premium": 10000,
          "commission_rate_pct": 10,
          "split_pct": 100,
          "stated_commission": 1000
        }
      ],
      "tolerance_pct": 1
    }
  },
  "id": 2
}
default path (no discrepancy)
3 TERMINAL node
ASC 340-40 Commission Amortization art-265-amortize-asc606-commissions
Computes incremental commission amortization per ASC 340-40. Applies §340-40-25-4 practical expedient (expense immediately) when contract_term_months ≤12. For longer contracts, amortizes over the amortization period with optional renewal cost stacking. Returns apply_expedient, monthly_amortization_amount, total_amortization_periods, impairment check. Final stage.
MCP Call · amortize_asc606_commissions
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "amortize_asc606_commissions",
    "arguments": {
      "incremental_cost": 12000,
      "contract_term_months": 24,
      "renewal_commensurate": false,
      "renewal_cost": 0,
      "amortization_period_override_months": null,
      "impairment_indicators": []
    }
  },
  "id": 3
}
Export Chain Artifact
Download a §4-compliant chain artifact with execution hash, step definitions, and gate configuration. Hash is deterministic over canonical {policy_parameters, output_payload} per RFC 8785/JCS.