Solutions

Approval anomaly detection
across every domain

Kopi automatically identifies unusual expenses before they reach your approver queue — catching the S$12,000 hotel and the S$2,000 lunch that would otherwise slip through manual review.

💰

Amount anomaly detection

Each expense amount is compared against historical norms for the same category and vendor. Outliers — above a configurable threshold — are flagged red for human review.

🔄

Duplicate submission detection

Kopi checks if the same expense has been submitted before, even with minor variations in amount or date. Duplicates are blocked before reaching the approver.

📅

Suspicious timing patterns

Future-dated receipts, bulk submissions on the last day of month, and unusual submission windows are automatically flagged for review.

📊

Category amount norms

Kopi maintains per-category spending norms for your team. A transport expense 3× the usual amount triggers a yellow flag with context for the approver.

🌍

Currency & exchange rate checks

Foreign currency expenses are validated against the day's exchange rate. Inflated conversions and wrong-currency submissions are detected automatically.

🔗

Policy violation detection

Expenses that violate configured spending caps, weekend submission policies, or prohibited vendor categories are flagged before approval.

How anomaly scoring works

Kopi scores each expense across 5 dimensions. Anomaly flags come from 3 of the 5:

Amount
vs. historical norms
Date
timing & validity
Invoice
AI verification
Category
policy match
Rules
learned patterns

Free for Singapore SMBs in private beta

No credit card. No time limit. Set up in 10 minutes.

Built on Mirror

One agent reads every policy doc — across every domain.

Anomaly detection sits on top of the rule engine: whenever a submission trips a rule Mirror extracted from your policy doc, you get a citation pointing to the original sentence. No black-box signals, no fabricated alerts.

01 · Onboarding

Docs → spec in 3 minutes

Drop a PDF, form screenshot, or FAQ doc. Five Claude stages extract every field, rule, and routing path with a verbatim source quote. No hallucinated rules.

02 · Runtime

Decisions in 4ms

runTemplate(spec, request) → Decision is pure code, no LLM at decision time. The spec is data, the runtime is deterministic. Three-color verdict with full routing trace.

03 · Channels

Web · Email · Slack · Lark

A submission can come from anywhere. Reviewers see the same triage card across all surfaces. Web + email is the default; Slack and Lark are accelerators for already-connected tenants.

Citation contract — non-negotiable

Every field, rule, and routing approver Mirror emits carries a verbatim quote from your source document. If she can’t cite it, she drops the item. No fabricated policies — your AI is anchored to your own words.

Read the docs →Architecture, full pipeline detail, page map.