# Premium Audit Processing

Read a mixed-document workers' compensation premium audit submission and produce a package-level reconciliation — payroll, class codes, officer inclusion, and audit exceptions already worked out — so the auditor opens a prepared true-up, not a stack of schedules.

## The business problem

A premium audit is an exposure true-up: payroll registers, audit schedules, owner/officer schedules, tax returns, and financials all have to be read and cross-checked against each other before the actual exposure — and the actual premium — can be confirmed. Done by hand, that means reconciling company identity, payroll jurisdiction, and class codes across documents that don't always agree, and catching the specific exceptions — a missing class-code assignment, an undocumented wage basis, an officer whose inclusion isn't stated — that change the audit result.

The **Premium Audit Processing** template automates that reconciliation. It classifies and extracts every document in the submission, synthesizes package-level findings across the full set, and routes to a human auditor when confidence or completeness issues are found.

> **Important: the analysis is decision support, not a decision.** The agent assembles the payroll and class-code reconciliation and lays out the reasoning and evidence. It does not finalize an audit. An auditor reviews and approves before the item is finalized, and can override any field or finding.

## Trigger and source data

The template ships with the **Manual File Upload** trigger. You can configure other triggers if you'd like. Inbound webhooks, scheduled/timer triggers, and SFTP are **not currently available**; drive runs from another system through the [Bevaya API](../api/flow-executions#run-a-flow). See [Configure triggers](../build-ai-agents/triggers.md).

Upload a premium audit submission containing one or more of:

- A **payroll schedule** or register
- A completed **audit schedule** (premium audit worksheet)
- An **owner/officer schedule**
- An **employer tax return** (for example, Form 941)
- **Financials** — an income statement
- A **subcontractor schedule**, if applicable

The flow works entirely from the documents in the submission — it doesn't look up policy or claim data from a system of record. A document with no auditable payroll data, such as a vehicle schedule, is classified "Other" and excluded from the reconciliation.

## Template starting point

Create an AI agent from the **Premium Audit Processing** template for a working flow that classifies, extracts, reconciles, and routes out of the box. Open it in the canvas, select an environment, click **Start Editing**, and tune it to your audit standards — the extraction prompts, the package-level summary prompt, and validation thresholds. See [Create an AI Agent](../build-ai-agents/create-agent.md).

## What the template preconfigures

| Step in the flow | Node it uses | Category |
| --- | --- | --- |
| Prepare the uploaded files | [Read Files](../build-ai-agents/utility-nodes.md) | Utility |
| Process each document in the submission | [For Loop](../build-ai-agents/control-nodes.md) | Control |
| Classify each document and extract its fields | [InsurGPT: Custom](../build-ai-agents/insurgpt-nodes.md) | InsurGPT |
| Route each document to the right extractor | [Switch](../build-ai-agents/control-nodes.md) | Control |
| Reconcile identity and generate package-level insights | [InsurGPT: Custom](../build-ai-agents/insurgpt-nodes.md) | InsurGPT |
| Summarize payroll and audit fields across the submission | [InsurGPT: Custom](../build-ai-agents/insurgpt-nodes.md) | InsurGPT |
| Check extracted and summarized values against rules | [Field Validation](../build-ai-agents/utility-nodes.md) | Utility |
| Route to review when validation finds more than one issue | [Switch](../build-ai-agents/control-nodes.md) | Control |
| Route the prepared analysis to an auditor | [Review](../build-ai-agents/utility-nodes.md) | Utility |
| Close out the item | [Complete](../build-ai-agents/action-nodes.md) | Action |

The summary step produces the findings shown to the auditor: a completeness check against expected document types, class-code and employee-count comparisons, a payroll and wage analysis by state, annual gross revenue, and an officer payroll summary.

## What builders must configure before deployment

- **Extraction, analysis, and validation.** Tune the classification and extraction prompts and fields, the package-summary prompt, and the validation rules to your audit standards.
- **Validation thresholds and review routing.** Set the confidence threshold, how many invalidated fields trigger review, and the reviewer assignment. See [Utility nodes](../build-ai-agents/utility-nodes.md).

## How the AI agent behaves

The agent classifies the submission and each document, extracts the payroll, audit schedule, officer schedule, tax return, and financial fields, and reconciles identity fields — company name, insured address, payroll jurisdiction — across the whole package rather than repeating them per document. It works only from the supplied documents: it doesn't invent values, and it won't infer a document's type from a filename or a spreadsheet tab name rather than its actual content. Low-confidence or missing fields are flagged by validation rather than fabricated. Every finding is presented for an auditor to confirm when validation surfaces more than one issue.

## Human review model

The auditor reviews the prepared analysis on the item in the Bevaya Platform, across two tabs:

- The **Insights tab** — an exception summary, an AI-recommended next step, key-insights cards (package overview, payroll summary, audit warnings), a completeness breakdown, and a payroll and wage analysis.
- The **Review tab** — field-by-field verification of company identity, payroll, audit schedule, officer, and tax return detail, each linked to its source document and page, where the auditor confirms, edits, and approves.

The flow pauses at the review gate only when validation finds more than one issue; a clean submission completes without a human touch. Reviewers can work items and reviews but cannot build or run flows. See [Human review](../monitor-review/human-review.md).

## Run status and reporting

Each submission becomes an item moving through **In Progress, Review, Complete, Failed, Canceled**. Watch runs in [Run history](../monitor-review/run-history.md) and live counts by status in [Item status reporting](../monitor-review/item-status-reporting.md).

## Example run

A multi-state field-services operator submits a premium audit package: a payroll register, an audit schedule, an owner/officer schedule, and two quarterly tax returns.

1. The flow ingests the package and prepares the files.
2. It classifies the documents and extracts the payroll, audit schedule, officer, and tax return data.
3. The package-level step reconciles company identity and checks the class codes and employee counts against each other.
4. The summary step reviews annual payroll by state and officer payroll, and checks completeness against the expected document types.
5. Validation checks the extracted and summarized fields; since more than one issue is found, the item routes to the auditor.
6. The auditor opens the item, reads the Insights briefing, confirms the payroll and class-code reconciliation on the Review tab, and approves.

## Common failure modes

- **A missing document type.** The completeness check names the specific expected document type that wasn't found, rather than a generic incomplete flag.
- **Low-confidence or missing fields.** Poor scans or incomplete packages produce values the agent can't confirm; these are flagged by validation rather than fabricated.
- **A misclassified document.** The auditor corrects the classification during review and resubmits so the agent re-runs extraction for the corrected type.

## Recommended rollout path

1. **Build and test on sample submissions** with **Run Draft**. See [Test and debug a draft](../build-ai-agents/test-debug-draft.md).
2. **Validate the payroll and class-code reconciliation** against audits your team has already done by hand.
3. **Pilot with the review gate lowered** to catch more, not fewer, submissions, so you build trust in the findings before relying on the default threshold.
4. **Promote to production.** See [Drafts and publishing](../build-ai-agents/drafts-publishing.md).

## Where to go next

- [Utility nodes](../build-ai-agents/utility-nodes.md) — Field Validation and Review.
- [InsurGPT nodes](../build-ai-agents/insurgpt-nodes.md) — classification, extraction, and the package-summary analysis.
- [Human review](../monitor-review/human-review.md) — the Insights and Review tabs the auditor works from.
- [Use cases overview](./overview.md) — the full catalog of supported patterns.
