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.
Prompt
Fabricated Financial Figure Flagging Prompt for Audit Reports

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
textYou 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.
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.
| Placeholder | Purpose | Example | Validation 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. |
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.
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 Element | Type or Format | Required | Validation 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. |
Common Failure Modes
What breaks first when flagging fabricated financial figures and how to guard against it.
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.
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.
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.
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.
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.
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.
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.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Fabricated figure recall |
| 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 |
| 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 |
| 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 |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
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

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us