TotalApp Docs

Transaction Audit & Reconciliation

The 4 screens that audit invoice matching, multi-source bank reconciliation, fraud/anomaly detection, and ledger variance.

What this group does

Transaction Audit & Reconciliation is the transactional-integrity layer of the Financial Audit & Fintech Ops add-on: a 3-way invoice match ledger, a multi-source bank/gateway/POS/ERP reconciliation ledger, a fraud/anomaly triage ledger, and a chart-of-accounts line variance ledger. All 4 screens use the identical direct-per-record two-stage hybrid engine (Stage 1 embedding infrastructure, unwired to the UI; Stage 2 AI-engine-routed synthesis) described on the Overview page.

Invoice Matching Audit
→
Multi-Source Audit & Reconciliation
→
Fraud Detection & Anomaly Audit
→
Ledger Variance Audit

Screen preview

A quick look at the screen. Use the toggle in the corner to switch between the dark and light themes.

app.totalapp.app/finaudit/bank-reconciliation
Reconciliation Match Ratio86%
REC-2026-0417
Stripe payout batch
Statement $184,220.00 vs book $184,220.00
Matched
REC-2026-0418
HSBC operating account
Variance $2,140.00 — pending clearance
Pending
REC-2026-0419
POS terminal — Boston
Unmatched variance — $612.40
Variance

Bank reconciliation with match ratio and variance flags

1. Invoice Matching Audit

Purpose: A 3-way match audit ledger — compares a supplier invoice against its purchase order (PO) and goods-receipt note (GRN) amounts, so AP teams can see match risk before approving payment.

Ledger columns / key fields

  • ID format INV-YYYY-XXXX
  • matchId, invoiceNo, vendorName, poReference, invoiceAmount, poGrnAmount, currency
  • matchStatus — fully_matched / price_discrepancy / quantity_mismatch / unlinked_po
  • countryCode, auditDate, aiDiscrepancyBreakdown

Gauge

3-Way Match Ratio Meter — the percentage of records fully matched out of the total, rounded. Standard status-count pattern. Bar color: ≥80% green, 50–79% amber, below red.

Key actions

  • New Record — opens the record modal.
  • AI Analyze — runs the invoice matching audit, producing a discrepancy breakdown plus a confidence score; disabled while invoice number or vendor name is blank.
  • Approve / Approve for Payout (row action) — updates the record’s own match status to fully matched only; disabled once already fully matched.
  • Delete — permanent, with inline confirmation.

Known limitation

Approve does not touch a real accounts-payable ledger. The app does have a real Accounts Payable module with real supplier invoices, but there is no link/lookup between those records and this screen’s invoice match records. Approve only updates this add-on’s own record.

2. Multi-Source Audit & Reconciliation

Purpose: Internally named Bank Reconciliation. Compares a bank/payment-gateway/POS/ERP statement against the company’s internal book balance — matched, pending clearance, or an unexplained variance.

Ledger columns / key fields

  • ID format REC-YYYY-XXXX
  • reconciliationId, statementReference, channel (bank / payment_gateway / pos / erp_internal)
  • statementBalance, internalBookBalance, currency
  • status — matched / unmatched_variance / pending_clearance
  • countryCode, auditDate, aiVarianceBreakdown

Gauge

Reconciliation Match Ratio Gauge — the percentage of records marked matched out of the total. Bar color: ≥80% green, 40–79% amber, below red.

Key actions

  • New Record, AI Analyze (runs the reconciliation audit, producing a variance breakdown plus an optional suggested adjustment; disabled while statement reference is blank).
  • Adjust / Correct Variance (row action, inline mini-form: amount + reason) — appends a correction note, and flips the status to matched only if the adjustment amount closes the remaining gap.
  • Delete — permanent.

Known limitation

Adjust does not post to a real general ledger. There is no journal-entry-posting system anywhere in the app today. Adjust only appends a note and conditionally updates its own record’s status.

3. Fraud Detection & Anomaly Audit

Purpose: A fraud triage ledger — flags suspicious transaction patterns (velocity spikes, structuring, geo/IP mismatches) per account/asset, each carrying a risk score, risk level, and audit decision.

Ledger columns / key fields

  • ID format FRD-YYYY-XXXX
  • auditId, accountRef, transactionVolume, currency
  • riskScorePct (0–100), anomalyType (velocity_spike / structuring / geo_ip_mismatch)
  • riskLevel (critical / high / medium), auditAction (frozen / under_review / cleared)
  • triggerTimestamp, countryCode, aiPatternAnalysis

Gauge

Portfolio Anomaly Severity Meter — the percentage of records at critical or high risk level out of the total. Reversed-logic bar (high is bad): ≥60% red, 30–59% amber, below green. Row-level risk score bars use the same thresholds independently per record.

Key actions

  • New Record, AI Analyze (runs the fraud/anomaly audit, producing a pattern analysis plus an optional confidence score; disabled while account/asset reference is blank).
  • Freeze Account / Freeze Assets (row action, inline mini-form: reason) — sets the audit action to frozen and appends a “Frozen: …” note; disabled once already frozen.
  • Delete — permanent.

Known limitation

Freeze does not lock a real account or notify a real security team. There is no separate account-freeze/security-alert system anywhere in the app today. The action only updates this record’s own audit-action field.

4. Ledger Variance Audit

Purpose: The final screen in this group. Tracks the gap between a chart-of-accounts line’s expected balance (trial balance) and its actual ledger balance — unexplained, under review, or reconciled.

Ledger columns / key fields

  • ID format VAR-YYYY-XXXX
  • auditId, accountCode, accountTitle, expectedBalance, actualBalance, currency
  • varianceSeverity (high / medium / low), auditStatus (unexplained_variance / under_review / reconciled)
  • financialPeriod, countryCode, aiRootCauseAnalysis

Gauge

Balance Sheet Integrity Index — the percentage of records marked reconciled out of the total. Bar color: ≥80% green, 40–79% amber, below red.

Key actions

  • New Record, AI Analyze (runs the ledger variance audit, producing a root-cause analysis plus an optional confidence score; disabled while account code/title is blank).
  • Post Adjusting Entry (row action, inline mini-form: amount + debit account + credit account + reason) — sets the audit status to reconciled and appends adjustment details to the notes; disabled once already reconciled.
  • Delete — permanent.

Known limitation

Post Adjusting Entry does not post a real double-entry journal. The Finance module does have a real Journal Entries screen, but it exposes no journal-posting function this screen can call, and there is no link between this screen’s ledger variance records and a real general-ledger entry. The action only updates this record’s own status and notes.

AI Assistant — Invoice Matching Audit

The Invoice Matching Audit screen ships with an embedded AI Assistant — the same right-edge panel used across TotalApp. Open it from the vertical AI Assistant tab on the right of the screen; it understands what is currently on your screen and answers in Markdown, matching the language you write in (Turkish or English).

This chat assistant is a separate, complementary feature from the screen's existing per-record AI Analyze button — AI Analyze runs a fixed match audit on one invoice and returns a discrepancy breakdown for that record, while this assistant is an open-ended conversation that looks across the whole queue and that you can steer, ask follow-up questions in, and use to explore results AI Analyze already surfaced. It is tuned for portfolio-wide match triage:

  • Bulk triage of unmatched invoices — works through the unmatched queue as a set rather than one record at a time.
  • Systemic mismatch patterns — explains recurring mismatch patterns tied to a particular vendor.
  • Invoices with no linked purchase order — flags invoices missing a purchase-order link.
  • Match-ratio trend — summarizes how the match ratio is trending over time.

Tick one or more rows in the table to scope the conversation, then use Analyze selected or Summarize selected. Any answer can be saved via Save as Report (it lands in My Reports), and Add Knowledge lets you attach reference documents to ground the reply.

Engine-aware

The assistant respects your Settings → Agentic writer engine: Ollama / local-LLM / in-browser models run entirely on your machine, while API routes through the server — the panel never leaks your data to a server the selected engine can’t reach.

AI Assistant — Multi-Source Audit & Reconciliation

The Multi-Source Audit & Reconciliation screen ships with an embedded AI Assistant — the same right-edge panel used across TotalApp. Open it from the vertical AI Assistant tab on the right of the screen; it understands what is currently on your screen and answers in Markdown, matching the language you write in (Turkish or English).

This chat assistant is a separate, complementary feature from the screen's existing per-record AI Analyze button — AI Analyze runs a fixed reconciliation audit on one statement and returns a variance breakdown for that record, while this assistant is an open-ended conversation that looks across multiple statements at once and that you can steer, ask follow-up questions in, and use to explore results AI Analyze already surfaced. It is tuned for portfolio-wide variance triage:

  • Variance spikes and clusters — explains variance spikes and clustering across multiple statements at once.
  • Outlier discrepancies — points out discrepancies that stand out relative to the rest of the portfolio.
  • Trends by channel/jurisdiction — breaks down match ratio and discrepancy trends by channel or jurisdiction.
  • Backlog prioritization — prioritizes the oldest and largest unmatched items.

Tick one or more rows in the table to scope the conversation, then use Analyze selected or Summarize selected. Any answer can be saved via Save as Report (it lands in My Reports), and Add Knowledge lets you attach reference documents to ground the reply.

Engine-aware

The assistant respects your Settings → Agentic writer engine: Ollama / local-LLM / in-browser models run entirely on your machine, while API routes through the server — the panel never leaks your data to a server the selected engine can’t reach.

AI Assistant — Fraud Detection & Anomaly Audit

The Fraud Detection & Anomaly Audit screen ships with an embedded AI Assistant — the same right-edge panel used across TotalApp. Open it from the vertical AI Assistant tab on the right of the screen; it understands what is currently on your screen and answers in Markdown, matching the language you write in (Turkish or English).

This chat assistant is a separate, complementary feature from the screen's existing per-record AI Analyze button — AI Analyze runs a fixed fraud/anomaly audit on one account and returns a pattern analysis for that record, while this assistant is an open-ended conversation that correlates patterns across multiple accounts at once and that you can steer, ask follow-up questions in, and use to explore results AI Analyze already surfaced. It is tuned for portfolio-wide fraud triage:

  • Cross-account pattern correlation — correlates suspicious patterns across multiple accounts rather than one at a time.
  • Clustering anomaly types — identifies which anomaly types are clustering together.
  • Escalating risk scores — flags accounts whose risk score is climbing.
  • Status distribution — summarizes the frozen / under-review / cleared distribution across the queue.

Tick one or more rows in the table to scope the conversation, then use Analyze selected or Summarize selected. Any answer can be saved via Save as Report (it lands in My Reports), and Add Knowledge lets you attach reference documents to ground the reply.

Engine-aware

The assistant respects your Settings → Agentic writer engine: Ollama / local-LLM / in-browser models run entirely on your machine, while API routes through the server — the panel never leaks your data to a server the selected engine can’t reach.

AI Assistant — Ledger Variance Audit

The Ledger Variance Audit screen ships with an embedded AI Assistant — the same right-edge panel used across TotalApp. Open it from the vertical AI Assistant tab on the right of the screen; it understands what is currently on your screen and answers in Markdown, matching the language you write in (Turkish or English).

This chat assistant is a separate, complementary feature from the screen's existing per-record AI Analyze button — AI Analyze runs a fixed variance audit on one account line and returns a root-cause analysis for that record, while this assistant is an open-ended conversation that clusters variances across multiple accounts at once and that you can steer, ask follow-up questions in, and use to explore results AI Analyze already surfaced. It is tuned for portfolio-wide variance triage:

  • Root-cause clustering — clusters unexplained variances by likely root cause across multiple accounts.
  • Aging high-severity variances — flags high-severity variances that are aging without review.
  • Trends by financial period — summarizes how variances are trending across financial periods.
  • Backlog prioritization — prioritizes the reconciliation backlog.

Tick one or more rows in the table to scope the conversation, then use Analyze selected or Summarize selected. Any answer can be saved via Save as Report (it lands in My Reports), and Add Knowledge lets you attach reference documents to ground the reply.

Engine-aware

The assistant respects your Settings → Agentic writer engine: Ollama / local-LLM / in-browser models run entirely on your machine, while API routes through the server — the panel never leaks your data to a server the selected engine can’t reach.

Architecture note: embedding layer present but not wired to the UI

All 4 screens follow the add-on-wide two-stage hybrid engine. Stage 1 (embedding) semantic-search infrastructure exists for Bank Reconciliation, Fraud Detection, and Invoice Matching respectively (Ledger Variance Audit has no dedicated semantic search at all) — but none of the four screens use it yet. Users go straight from filling the form to pressing “AI Analyze,” which triggers Stage 2 (AI-engine-routed synthesis) directly, with no semantic-search step first. See the Overview page for the full two-stage architecture.

Frequently Asked Questions

Does Approve on Invoice Matching Audit actually pay the vendor?
No — it only updates this record’s own match status to fully matched. There is no link to the real accounts-payable ledger and its supplier invoice records.
Does Adjust on Multi-Source Audit & Reconciliation post to a general ledger?
No — there is no general-ledger/journal-posting system anywhere in this codebase. The action only appends a correction note and, if the amount closes the gap, flips the record’s own status to matched.
Does Freeze Account on Fraud Detection actually lock the account?
No — there is no account-freeze or security-alert system in the app today. The action only updates this record’s own audit-action field to frozen.
Is the embedding/semantic-search layer used anywhere in these 4 screens?
No — it exists as background infrastructure but isn’t used by any of the 4 screens yet. Users go directly from the form to the AI Analyze button, which triggers Stage 2 synthesis only.
Does the Ollama AI engine ever call the server for these screens?
No — when the selected AI engine is Ollama, local-LLM, or web-LLM, all 4 screens run their analysis directly from the browser and never hit the server. Only the API routes to the server.