Inferensys

Prompt

Fabricated Financial Figure Flagging Prompt for Audit Reports

A practical prompt playbook for detecting and flagging fabricated monetary amounts, financial ratios, and accounting figures in AI-generated audit reports before they reach reviewers or regulatory filings.
Legal team reviewing EU AI Act compliance documents on laptop in modern office, coffee cups and papers on table, casual meeting.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, the user, and the hard boundaries for a prompt that flags fabricated financial figures in audit reports before they reach a reviewer.

This prompt is built for a single high-stakes job: detecting monetary amounts, financial ratios, and accounting figures in a model-generated audit report that cannot be traced back to the source financial statements. The ideal user is an audit platform engineer, a financial compliance developer, or a product team embedding AI into an accounting workflow where a hallucinated number is not a minor error—it is a potential misstatement. The prompt assumes you already have a draft report and the underlying source statements. It does not generate the report; it audits the output for fabrication.

Use this prompt when the cost of a fabricated figure is high and human review is mandatory before any number reaches a client, regulator, or database. It is designed for post-generation validation, not for real-time streaming or low-risk narrative text. The prompt requires two concrete inputs: the model-generated report text and the source financial statements. Without both, the flagging logic has no grounding. It also expects a materiality threshold so the model can distinguish between a rounding discrepancy and a potentially material fabrication. Do not use this prompt for general fact-checking, for detecting hallucinated prose that contains no figures, or for reports where source statements are unavailable or incomplete.

The output is not a final answer—it is a structured flagging report that must be routed to a human reviewer. Each flagged figure includes the claimed value, the source evidence (or lack thereof), a materiality assessment, and a recommended action. The prompt is designed to fail safe: when in doubt, it flags for review rather than silently passing a suspect figure. Before wiring this into production, pair it with a schema validator that confirms the JSON structure, a retry loop for malformed outputs, and a review queue that prevents any flagged figure from proceeding without human sign-off. If your workflow cannot support human-in-the-loop review, this prompt is not the right tool.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Fabricated Financial Figure Flagging Prompt delivers value and where it introduces unacceptable risk. This prompt is designed for post-generation audit of model outputs that contain monetary amounts, ratios, or accounting figures. It is not a substitute for source grounding during generation.

01

Good Fit: Post-Generation Audit of Financial Reports

Use when: A model has already generated an audit summary, variance analysis, or financial commentary containing monetary figures. The prompt acts as a second pass to flag every figure not traceable to the source financial statements. Guardrail: Always provide the source financial statements as input context alongside the generated output.

02

Bad Fit: Real-Time Financial Advice or Trading Decisions

Avoid when: The output will be used for live trading, investment decisions, or client-facing financial advice without human review. This prompt flags hallucinations but does not guarantee correctness of non-flagged figures. Guardrail: Require a qualified human reviewer to sign off on any flagged or unflagged figure before it reaches a client or trading system.

03

Required Input: Source Financial Statements

Risk: Without the original financial statements (balance sheet, income statement, cash flow statement, notes), the prompt cannot verify traceability and will either flag everything or nothing. Guardrail: The input harness must include a structured or semi-structured representation of the source statements. Do not rely on the model's parametric knowledge of a company's financials.

04

Required Input: Materiality Threshold Configuration

Risk: Without a defined materiality threshold, the prompt may flag immaterial rounding differences or miss significant fabricated figures. Guardrail: Configure a materiality threshold (e.g., 5% of net income or a fixed dollar amount) as a [MATERIALITY_THRESHOLD] variable in the prompt template. Document the threshold used in the audit trail.

05

Operational Risk: False Negatives on Sophisticated Hallucinations

Risk: The model may fabricate a figure that is mathematically consistent with other reported figures, making it appear grounded. For example, a hallucinated gross margin that correctly equals (Revenue - COGS) / Revenue. Guardrail: Pair this prompt with a calculation verification step that independently recomputes derived figures from source data. Flag any derived figure that cannot be recalculated.

06

Operational Risk: Prompt Drift with Financial Terminology Changes

Risk: Changes in accounting standards, reporting frameworks, or company-specific terminology can cause the prompt to miss fabricated figures that use unfamiliar labels. Guardrail: Maintain a [TERMINOLOGY_MAP] variable that maps company-specific or framework-specific terms to standard accounting concepts. Review and update this map quarterly or when reporting standards change.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for detecting and flagging fabricated financial figures in audit report drafts, with placeholders for source documents, materiality thresholds, and output schemas.

This prompt template is designed to be dropped into an audit workflow where a language model has generated a draft report or analysis based on provided financial statements. Its job is to cross-reference every monetary amount, ratio, and accounting figure in the draft against the source documents and flag any value that cannot be traced back to the original data. The template uses square-bracket placeholders so you can swap in your own source content, risk tolerance, and output format requirements without rewriting the core instruction. Use it as the second pass in a generate-then-verify pipeline, or as a standalone audit step before any model-generated financial content reaches a reviewer.

text
You are an audit verification assistant. Your task is to review a draft financial report and identify every monetary amount, financial ratio, percentage, or accounting figure that cannot be traced to the provided source financial statements.

## INPUT

[DRAFT_REPORT]

## SOURCE DOCUMENTS

[SOURCE_FINANCIAL_STATEMENTS]

## MATERIALITY THRESHOLD

Flag any discrepancy or untraceable figure exceeding [MATERIALITY_THRESHOLD] in absolute value. For figures below this threshold, note them but mark them as immaterial.

## INSTRUCTIONS

1. Extract every discrete financial figure from the draft report (monetary amounts, ratios, percentages, growth rates, counts, and accounting metrics).
2. For each figure, attempt to locate the corresponding value in the source financial statements. A figure is traceable only if it appears explicitly or can be calculated directly from source values using standard arithmetic.
3. Classify each figure as one of:
   - TRACEABLE: Found in source documents with matching value.
   - DERIVED: Calculated from source values and the calculation is correct.
   - MISMATCHED: Found in source but with a different value.
   - FABRICATED: No corresponding value found in source documents.
   - ROUNDED_AMBIGUOUS: Approximate match but rounding prevents exact verification.
4. For each MISMATCHED or FABRICATED figure, assess materiality against the threshold.
5. Do not invent source references. If you cannot find a figure, classify it as FABRICATED.

## OUTPUT SCHEMA

Return a JSON object with this structure:
{
  "report_id": "string",
  "total_figures_extracted": number,
  "traceable_count": number,
  "derived_count": number,
  "mismatched_count": number,
  "fabricated_count": number,
  "rounded_ambiguous_count": number,
  "findings": [
    {
      "figure_text": "string (the exact text from the draft)",
      "figure_value": number,
      "figure_type": "monetary_amount | ratio | percentage | growth_rate | count | other",
      "classification": "TRACEABLE | DERIVED | MISMATCHED | FABRICATED | ROUNDED_AMBIGUOUS",
      "source_reference": "string or null (section, line, or statement where found)",
      "expected_value": number or null,
      "discrepancy": number or null,
      "materiality_assessment": "MATERIAL | IMMATERIAL | NOT_APPLICABLE",
      "requires_human_review": boolean,
      "notes": "string"
    }
  ],
  "overall_assessment": "CLEAN | MINOR_ISSUES | REQUIRES_REVIEW | UNRELIABLE",
  "human_review_required": boolean
}

## CONSTRAINTS

- Do not guess source locations. Use null for source_reference when untraceable.
- Flag all FABRICATED figures with requires_human_review: true regardless of materiality.
- For DERIVED figures, include the calculation in the notes field.
- If the draft contains no financial figures, return an empty findings array with total_figures_extracted: 0.
- Preserve the exact figure_text from the draft report for traceability.

To adapt this template, replace the bracketed placeholders with your actual inputs. The [MATERIALITY_THRESHOLD] should be set based on your audit standards—typically a percentage of revenue, net income, or total assets, or a fixed dollar amount. If your source documents are lengthy, consider pre-chunking them and running this verification per section, or use a retrieval step to supply only the relevant source passages. The output schema is designed to feed directly into a review queue: any finding with requires_human_review: true should block automated publication and route to an auditor. Before deploying, test this prompt against a golden set of reports with known fabrications, mismatches, and clean outputs to calibrate your materiality threshold and verify that the model does not hallucinate source references in the source_reference field.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Fabricated Financial Figure Flagging Prompt. Each placeholder must be populated before the prompt is sent. Missing or malformed inputs will cause false negatives in hallucination detection.

PlaceholderPurposeExampleValidation Notes

[MODEL_OUTPUT]

The full text or structured output from the model that may contain fabricated financial figures

Q3 revenue reached $4.2M, a 12% increase driven by the new enterprise tier launch in June.

Must be non-empty string. Truncated outputs should be flagged upstream before hallucination detection. Max 32K tokens recommended.

[SOURCE_FINANCIAL_STATEMENTS]

The ground-truth financial documents, statements, or data tables the model was supposed to reference

{"income_statement": {"q3_revenue": 4100000, "q2_revenue": 3750000}, "notes": ["Enterprise tier launched August 15"]}

Must be valid JSON or structured text. Null or empty array triggers abort—cannot flag fabrications without ground truth. Validate schema before prompt assembly.

[MATERIALITY_THRESHOLD]

The minimum dollar amount or percentage deviation below which a flagged figure is considered immaterial and can be suppressed from the alert output

50000 or 0.05

Must be numeric. If null, default to 1% of total source revenue or $10,000, whichever is larger. Negative values rejected. String values coerced with warning.

[CURRENCY_CONTEXT]

The currency code and fiscal period context to normalize monetary values before comparison

{"currency": "USD", "fiscal_year": 2025, "period": "Q3"}

Must include currency code (ISO 4217) and period label. Missing period causes temporal misalignment warnings. Validate against source statement metadata.

[OUTPUT_SCHEMA]

The expected structure for the flagging report, defining required fields, types, and nullability

{"flags": [{"figure": "string", "claimed_value": "number", "source_evidence": "string|null", "materiality": "number", "verdict": "enum"}], "summary": {"total_flags": "number", "material_flags": "number"}}

Must be valid JSON Schema or TypeScript interface. Enum values for verdict must include 'fabricated', 'unsupported', 'partially_supported', 'verified'. Reject schemas missing verdict field.

[CONFIDENCE_THRESHOLD]

Minimum confidence score (0.0-1.0) for the model to auto-flag a figure. Figures below this threshold are marked for human review instead of automatic flagging.

0.85

Must be float between 0.0 and 1.0. Values below 0.7 increase false positives; values above 0.95 increase false negatives. Default 0.8 if not provided. Log warning if outside 0.7-0.95 range.

[HUMAN_REVIEW_REQUIRED]

Boolean flag controlling whether all flagged figures require human approval before downstream consumption, regardless of confidence score

Must be boolean. If true, output includes review_queue array with reviewer instructions. If false, only figures below confidence threshold go to review. Null defaults to true for audit use cases.

[ALLOWED_TOLERANCE_MAP]

Per-field tolerance overrides for rounding differences, estimation allowances, or known reporting lags that should not trigger flags

{"revenue": 0.02, "expenses": 0.03, "headcount": 0}

Must be object mapping field names to decimal tolerance values. Missing fields use global materiality threshold. Zero tolerance means exact match required. Negative values rejected.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the fabricated financial figure flagging prompt into an audit application with validation, retries, logging, and human review gates.

This prompt is designed to operate as a post-generation validation step within an audit report pipeline, not as a standalone chat interface. The typical integration pattern places it after a model generates draft audit commentary or financial analysis, but before that content reaches a human reviewer or a final report. The harness must supply the model's output text and the source financial statements as structured inputs, then parse the flagging results into a downstream review queue. Because the domain is high-risk, the implementation must treat every flagged figure as requiring human verification, not automatic removal.

Wire the prompt into your application as a gated validation service. The service should accept two required inputs: the generated audit text and a structured representation of the source financial statements (JSON with line items, balances, ratios, and period metadata). Call the LLM with the prompt template, passing both inputs. Parse the response into a typed object—expect an array of flagged figures, each with a figure, claimed_value, source_traceability status, materiality_assessment, and recommended_action. Validate the response schema strictly: if the model returns malformed JSON, retry once with a repair prompt from the Output Repair and Validation pillar. If the retry also fails, escalate the entire output block for full human review rather than attempting partial flagging. Log every flagging result with the model version, input hashes, and timestamp for audit trail purposes.

Build a human review queue that surfaces only flagged figures above a configurable materiality threshold. For each flagged item, display the original generated text, the claimed figure, the source financial statement excerpt that should have grounded it, and the model's materiality assessment. The reviewer must explicitly confirm, correct, or dismiss each flag before the audit text can proceed. Do not auto-correct figures based on the model's suggestions—the model can identify potential fabrications but cannot be trusted to compute corrected values. After review, store the reviewer's decisions alongside the original flags for governance and model evaluation. This feedback loop also creates a dataset for fine-tuning or prompt improvement over time.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the JSON structure, field types, and validation rules for the fabricated financial figure flagging output. Use this contract to parse, validate, and integrate the model response into downstream audit workflows.

Field or ElementType or FormatRequiredValidation Rule

flagged_figures

Array of objects

Must be a JSON array. If no figures are flagged, return an empty array. Schema check: validate each element against the figure object contract.

flagged_figures[].figure_value

String

The exact monetary amount, ratio, or numeric figure as it appears in the model output. Must not be null or empty. Regex check: match against currency, percentage, or numeric patterns.

flagged_figures[].figure_context

String

The surrounding sentence or clause where the figure appears. Must be a non-empty string. Length check: minimum 20 characters to ensure sufficient context.

flagged_figures[].materiality_assessment

String (enum)

Must be one of: 'material', 'immaterial', 'requires_review'. Enum check: reject any value not in the allowed set. If uncertain, default to 'requires_review'.

flagged_figures[].source_traceability

String (enum)

Must be one of: 'untraceable', 'partially_traceable', 'conflicting_sources'. Enum check: reject any value not in the allowed set. 'untraceable' means no source evidence found.

flagged_figures[].source_reference

String or null

If partially_traceable, provide the source document section or statement reference. If untraceable, must be null. Null check: enforce null when source_traceability is 'untraceable'.

flagged_figures[].recommended_action

String (enum)

Must be one of: 'remove', 'flag_for_review', 'replace_with_sourced'. Enum check: reject invalid actions. 'remove' only allowed when materiality is 'immaterial' and source_traceability is 'untraceable'.

audit_metadata.flagged_count

Integer

Total number of figures flagged in this output. Must equal the length of the flagged_figures array. Consistency check: count must match array length exactly.

audit_metadata.human_review_required

Boolean

Must be true if any flagged figure has materiality_assessment of 'material' or 'requires_review'. Logic check: auto-set to true if conditions met, else false.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when flagging fabricated financial figures and how to guard against it.

01

False Negatives on Immaterial Figures

What to watch: The model dismisses small fabricated amounts as rounding errors or immaterial, allowing invented figures to pass unflagged. This is especially dangerous when many small fabrications accumulate across a report. Guardrail: Require the prompt to flag all untraceable figures regardless of magnitude, then apply a separate materiality threshold in the application layer with human review for any flagged item.

02

Source Document Misattribution

What to watch: The model incorrectly maps a financial figure to a real source document or line item, creating a false sense of grounding. The figure may be fabricated but the model claims it came from a legitimate page or statement. Guardrail: Implement a two-stage verification: first flag untraceable figures, then require exact quote or cell reference from the source. If no exact match exists, escalate regardless of the model's confidence.

03

Context Window Truncation Masking Fabrication

What to watch: When source financial statements exceed the context window, the model cannot verify figures against the full document set but may still assert grounding. Figures from truncated sections appear fabricated but the model lacks the evidence to know. Guardrail: Require the prompt to output a source_coverage field indicating which sections were actually present in context. Flag any figure attributed to a section outside the provided context as unverifiable.

04

Normalization Errors Disguised as Fabrication

What to watch: The model flags a figure as fabricated when it is actually a correctly derived value expressed in different units, rounding, or accounting presentation. False positives erode trust and create unnecessary review burden. Guardrail: Include explicit normalization rules in the prompt (e.g., thousands vs. millions, rounded vs. exact) and require the model to explain its reasoning for each flag so reviewers can distinguish normalization mismatches from true fabrication.

05

Calculated Field Blind Spots

What to watch: The model fails to recognize that a figure was legitimately calculated from source data (e.g., a sum, ratio, or percentage derived from reported line items) and incorrectly flags it as fabricated. Guardrail: Instruct the model to check whether a flagged figure can be derived from any combination of source-reported values before marking it as fabricated. Require it to show the derivation path or explicitly state that no derivation is possible.

06

Audit Trail Omission

What to watch: The model flags figures correctly but fails to produce sufficient evidence for auditors to act on the flags, leaving reviewers with a list of warnings and no path to resolution. Guardrail: Require each flag to include a structured output with the flagged figure, the closest source match (if any), the discrepancy, and a recommended next action. This makes every flag auditable and actionable without requiring the reviewer to redo the investigation.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test whether the prompt reliably flags fabricated financial figures without generating excessive false positives or missing material misstatements. Run each criterion against a golden dataset of audit reports containing known fabrications and verified figures before shipping.

CriterionPass StandardFailure SignalTest Method

Fabricated figure recall

= 95% of known fabricated monetary amounts, ratios, or accounting figures are flagged

Known fabricated figures appear in output without a flag or materiality assessment

Run against a golden dataset of 50 audit excerpts with injected fabrications; measure recall

Verified figure precision

<= 5% of source-traceable figures are incorrectly flagged as fabricated

Output flags a figure that is directly traceable to a provided source financial statement

Run against 50 excerpts where all figures are source-verifiable; count false positives

Materiality assessment accuracy

= 90% of flagged figures include a materiality classification that matches auditor expectation

Flagged figure is missing materiality assessment or assessment is clearly wrong for the figure's magnitude

Spot-check 30 flagged outputs; compare materiality label against auditor judgment

Source traceability annotation

Every flagged figure includes a specific source-lookup instruction or null-marker when no source exists

Flagged figure output omits the source grounding field or contains a hallucinated source reference

Parse output schema for each flagged figure; confirm [SOURCE_GROUNDING] field is populated or explicitly null

Output schema compliance

100% of outputs parse as valid JSON matching the expected schema with all required fields present

Output is malformed JSON, missing required fields, or contains extra top-level keys not in schema

Validate every output against the JSON Schema using an automated parser; reject any parse failures

Confidence score calibration

= 85% of flagged figures have confidence scores that correlate with auditor-assigned severity

High-confidence flag on a trivially verifiable figure or low-confidence flag on a material fabrication

Compare confidence scores against auditor severity labels on 30 flagged items; measure rank correlation

Human review handoff completeness

Every flagged figure includes a review-ready payload with figure, context, materiality, and source status

Flagged figure payload is missing context snippet or review instruction, requiring manual lookup

Inspect 20 flagged outputs; confirm each contains [FIGURE], [CONTEXT_SNIPPET], [MATERIALITY], and [REVIEW_INSTRUCTION]

Batch processing consistency

Same input produces identical flagging decisions across 3 repeated runs with temperature=0

Flagging decisions vary across runs for the same input, indicating non-deterministic behavior

Run the same 10-excerpt batch 3 times; compare flagging decisions for exact match

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single financial statement. Use a lightweight JSON schema with only flagged_figures and traceability fields. Run against 5–10 known-clean and known-fabricated examples to calibrate sensitivity before adding materiality thresholds.

Prompt modification

Remove the materiality assessment block and the [MATERIALITY_THRESHOLD] placeholder. Replace with: Flag any figure not directly traceable to the source document. Return a simple array of flagged items with the figure, its claimed location, and a binary traceable/not-traceable verdict.

Watch for

  • False positives on rounded or derived figures that appear in summary rows
  • Over-flagging of immaterial rounding differences
  • Missing schema checks causing downstream parse failures
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.