Use Cases
This page documents every use case the AI Accountant supports. Each use case includes the trigger, processing flow, user-facing response, and what gets created in Tripletex.
All user-facing channels (Slack, Teams, Web, Email) connect through the Conversation Agent, which handles multi-turn context, clarification, and language detection. The Conversation Agent then calls the Accounting API (POST /solve) with a single classified task per request. The Accounting API is stateless and follows IDesign.
1. Proactive Monitoring (daily, automated)
1.1 Bill Payment Follow-Up (Overdue Alerts)
| Aspect | Detail |
|---|---|
| Trigger | Daily cron at 07:00 CET |
| What happens | MonitorManager queries GET /supplierInvoice?isDue=true, RulesEngine checks payment deadline rules |
| What the user sees | Slack message to accountant channel |
| What gets created | Audit trail entry per alert |
Example notification (Norwegian):
⚠️ Forfalt leverandørfaktura
Leverandør: Telenor AS
Fakturanr: 2026-4521
Beløp: 4 890,00 kr
Forfalt: 3 dager siden (19. mars 2026)
Konto: 6900 — Telefon
→ Svar "betal" for å registrere betaling
Example notification (English):
⚠️ Overdue supplier invoice
Supplier: Telenor AS
Invoice #: 2026-4521
Amount: 4,890.00 NOK
Overdue: 3 days (March 19, 2026)
Account: 6900 — Telephone
→ Reply "pay" to register payment
1.2 Employee Expense Compliance
| Aspect | Detail |
|---|---|
| Trigger | Daily cron at 07:00 CET |
| What happens | Fetches GET /travelExpense?dateFrom=yesterday, RulesEngine validates against company policy |
| What the user sees | Direct Slack message to the employee, summary to manager |
| What gets created | Compliance violation record in audit trail |
Example — missing receipt:
Hei Ola 👋
Du har registrert et utlegg på 1 200 kr (restaurant)
uten kvittering. Ifølge selskapets regler kreves kvittering
for beløp over 500 kr.
→ Send bilde av kvittering her, så oppdaterer jeg utlegget.
1.3 Invoice Monitoring (Unsent/Overdue)
| Aspect | Detail |
|---|---|
| Trigger | Daily cron |
| What happens | Queries GET /invoice?isSent=false and GET /invoice?isOverdue=true |
| What the user sees | Summary to accountant: count of unsent drafts, overdue receivables with aging buckets |
| What gets created | Audit trail entries |
Example:
📊 Fakturastatus per 22. mars 2026
Usendte kladder: 3 (totalt 45 200 kr)
- Berg Consulting: 12 000 kr (opprettet 15. mars)
- Fjord Tech AS: 28 200 kr (opprettet 18. mars)
- Hansen Bygg: 5 000 kr (opprettet 20. mars)
Forfalte kundefakturaer: 2
- Nordvik AS: 34 500 kr (14 dager forfalt)
- Solberg Eiendom: 89 000 kr (32 dager forfalt) ← purring anbefalt
→ Svar "send alle kladder" for å sende de 3 kladdene
→ Svar "purring Solberg" for å sende purring
1.4 Payroll Anomaly Detection
| Aspect | Detail |
|---|---|
| Trigger | After payroll run, or daily if payroll period is open |
| What happens | Compares current payroll against previous months using GET /salary/transaction |
| What the user sees | Alert if any salary deviates more than threshold from historical average |
| What gets created | Anomaly record in audit trail |
Example:
⚠️ Lønnsavvik oppdaget
Ansatt: Kari Nordmann
Denne måneden: 62 400 kr
Gjennomsnitt (siste 6 mnd): 45 000 kr
Avvik: +38.7%
Mulig årsak: Overtid eller bonusutbetaling?
→ Svar "godkjenn" eller "undersøk nærmere"
1.5 Accounting Rule Violations
| Aspect | Detail |
|---|---|
| Trigger | Daily cron |
| What happens | ComplianceEngine checks for common bokforingsloven violations: missing voucher attachments, unbalanced postings, backdated entries |
| What the user sees | Summary of violations grouped by severity |
| What gets created | Compliance check record |
2. Reactive Tasks (Employee-Initiated)
2.1 Submit Receipt via Slack
| Aspect | Detail |
|---|---|
| Trigger | Employee sends photo + text in Slack |
| What happens | Conversation Agent receives message, manages context, calls Accounting API. ClassifyEngine identifies as receipt, LLM extracts fields from image, creates supplier invoice in Tripletex |
| What the user sees | Confirmation with extracted details |
| Tripletex API | POST /supplierInvoice with voucher postings |
Conversation example (Norwegian):
👤 Ola: [bilde av kvittering]
Taxi til kundemøte i Bergen
🤖 Agent: ✓ Kvittering registrert:
Leverandør: Oslo Taxi AS
Beløp: 487,00 kr (inkl. mva)
Konto: 7140 — Reise og diett
Avdeling: Salg
MVA: 12% (persontransport)
Vil du legge til prosjekt?
Conversation example (English):
👤 Ola: [receipt photo]
Taxi to customer meeting in Bergen
🤖 Agent: ✓ Receipt registered:
Supplier: Oslo Taxi AS
Amount: 487.00 NOK (incl. VAT)
Account: 7140 — Travel and per diem
Department: Sales
VAT: 12% (passenger transport)
Want to add a project?
2.2 Ask About Budget
| Aspect | Detail |
|---|---|
| Trigger | Employee asks a question in Slack |
| What happens | Conversation Agent receives question, resolves context, calls Accounting API. ClassifyEngine identifies as read-only query, AgentManager fetches data from Tripletex, LLM summarizes |
| What the user sees | Natural-language answer with numbers |
| Tripletex API | GET /travelExpense, GET /ledger/account with filters |
Conversation (Norwegian):
👤 Kari: Hva har jeg igjen på reisebudsjettet mitt?
🤖 Agent: Reisebudsjett for Kari Nordmann (2026):
Budsjett: 30 000 kr
Brukt: 12 450 kr (41.5%)
Gjenstående: 17 550 kr
Siste 3 utlegg:
• 14. mars — Fly Oslo-Bergen: 2 340 kr
• 8. mars — Hotell Bergen: 1 890 kr
• 2. mars — Taxi: 487 kr
Du har nok til ca. 4 innenlandsreiser til.
Conversation (English):
👤 Kari: How much is left on my travel budget?
🤖 Agent: Travel budget for Kari Nordmann (2026):
Budget: 30,000 NOK
Used: 12,450 NOK (41.5%)
Remaining: 17,550 NOK
Last 3 expenses:
• March 14 — Flight Oslo-Bergen: 2,340 NOK
• March 8 — Hotel Bergen: 1,890 NOK
• March 2 — Taxi: 487 NOK
You have enough for about 4 more domestic trips.
2.3 Request Invoice Creation
| Aspect | Detail |
|---|---|
| Trigger | Employee asks in Slack or web chat |
| What happens | Conversation Agent handles multi-turn dialog (e.g., clarifying customer name, rate), then calls Accounting API. LLM agent creates customer (if new), creates invoice with line items, optionally sends |
| What the user sees | Draft invoice summary with option to send |
| Tripletex API | POST /customer (if new), POST /invoice, PUT /invoice/:id/:action=send |
Conversation (Norwegian):
👤 Lars: Lag faktura til Berg Consulting for 40 timer
konsulentarbeid i mars, 1200 kr/t
🤖 Agent: 📄 Fakturautkast opprettet:
Kunde: Berg Consulting AS (org.nr 923456789)
Fakturanr: 2026-0089
Linje 1: Konsulentarbeid mars 2026
40 timer × 1 200 kr = 48 000 kr
MVA 25%: 12 000 kr
Totalt: 60 000 kr
Forfall: 14 dager (5. april 2026)
Konto: 3000 — Salgsinntekt
→ Svar "send" for å sende fakturaen
→ Svar "endre" for å redigere
2.4 Request Payment Registration
| Aspect | Detail |
|---|---|
| Trigger | Employee or accountant in Slack |
| What happens | LLM matches invoice, creates payment voucher |
| Tripletex API | POST /supplierInvoice/:id/:action=pay or POST /ledger/voucher |
Conversation:
👤 Regnskapsfører: Registrer betaling av Telenor-fakturaen
🤖 Agent: Fant 1 ubetalt faktura fra Telenor AS:
Fakturanr: 2026-4521 — 4 890 kr (forfalt 19. mars)
✓ Betaling registrert:
Beløp: 4 890,00 kr
Fra konto: 1920 — Bankkonto
Dato: 22. mars 2026
Bilagsnr: V-2026-0342
2.5 Travel Expense Submission
| Aspect | Detail |
|---|---|
| Trigger | Employee submits travel expense with details |
| What happens | LLM creates travel expense in Tripletex with per diem, transport, accommodation |
| Tripletex API | POST /travelExpense with per diem specifications |
Conversation (Norwegian):
👤 Ola: Reiseregning: Bergen 14-16 mars.
Fly tur/retur 2340 kr, hotell 2 netter 3780 kr,
taxi 487 kr. Kundemøte med Fjord Tech.
🤖 Agent: ✓ Reiseregning opprettet (#RE-2026-0034):
Reise: Oslo → Bergen, 14.–16. mars 2026
Formål: Kundemøte Fjord Tech AS
Transport:
Fly tur/retur: 2 340 kr
Taxi: 487 kr
Overnatting:
Hotell (2 netter): 3 780 kr
Diett:
2 døgn innenlands: 1 600 kr (2 × 800 kr)
Totalt: 8 207 kr
Avdeling: Salg
Prosjekt: Fjord Tech
→ Svar "send til godkjenning" for å sende til leder
3. Periodic Tasks (Scheduled)
3.1 Month-End Closing Checklist
| Aspect | Detail |
|---|---|
| Trigger | Cron on 1st of each month, or manual request |
| What happens | AgentManager runs month-end checklist: depreciation, accruals, reconciliation, trial balance |
| What the user sees | Checklist with status per item |
| Tripletex API | Multiple: POST /ledger/voucher, GET /ledger/account, GET /bank/reconciliation |
Example output:
📋 Månedsavslutning mars 2026
☑ Avskrivninger bokført (V-2026-0340)
☑ Lønn avstemt mot bank
☑ Leverandørfakturaer periodisert
☐ Forutbetalte kostnader (venter på input)
☐ Saldobalanse generert
☐ MVA-oppgave klargjort
Status: 3/6 ferdig
→ "Bokfør forutbetalte" for å fortsette
→ "Vis saldobalanse" for å generere rapport
3.2 Year-End Closing
| Aspect | Detail |
|---|---|
| Trigger | Manual or scheduled for January |
| What happens | Extended checklist: depreciation, tax provisions, prepaid expenses, deferred revenue, inventory adjustments, annual accounts prep |
| Tripletex API | Multiple voucher postings, ledger queries |
3.3 Bank Reconciliation
| Aspect | Detail |
|---|---|
| Trigger | Employee uploads CSV bank statement, or automatic via bank API |
| What happens | FileAccessor parses CSV, LLM matches transactions to open invoices/supplier invoices, creates reconciliation vouchers |
| What the user sees | Match summary with unmatched items highlighted |
| Tripletex API | POST /bank/reconciliation, GET /invoice, GET /supplierInvoice |
Example:
🏦 Bankavstemming mars 2026
Transaksjoner i kontoutdrag: 47
Automatisk matchet: 41 (87%)
Manuell matching nødvendig: 6
Umatchede transaksjoner:
1. 12. mars — -2 340,00 kr — "SAS SCANDINAVIAN"
→ Mulig match: Reiseregning RE-2026-0034 (Ola Nordmann)
2. 15. mars — -890,00 kr — "REMA 1000"
→ Ingen match funnet. Foreslår konto 7320 (Mat/drikke)
...
→ "Match 1 med reiseregning" for å koble
→ "Bokfør 2 på 7320" for å postere
3.4 Payroll Processing
| Aspect | Detail |
|---|---|
| Trigger | Monthly cron or manual request (typically 20th of month) |
| What happens | AgentManager fetches employees, validates hours/salary, creates payroll run in Tripletex |
| What the user sees | Payroll summary with totals and anomaly flags |
| Tripletex API | POST /salary/payslip, GET /employee, POST /salary/transaction |
Example:
💰 Lønnskjøring mars 2026
Ansatte: 8
Brutto lønn total: 384 000 kr
Arbeidsgiveravgift: 54 144 kr (14.1%)
Feriepenger avsetning: 46 080 kr (12%)
Netto utbetaling: 267 840 kr
⚠️ Avvik:
Kari Nordmann: +38.7% vs gjennomsnitt (bonus?)
→ "Godkjenn og kjør" for å utbetale
→ "Vis detaljer Kari" for å se spesifikasjon
3.5 VAT Return Preparation
| Aspect | Detail |
|---|---|
| Trigger | Bi-monthly (every 2 months) or manual |
| What happens | Aggregates all VAT postings, validates against rules, generates draft return |
| What the user sees | VAT summary by code with totals |
| Tripletex API | GET /ledger/vatType, GET /ledger/posting with VAT filters |
Example:
📊 MVA-oppgave jan-feb 2026
Utgående MVA (25%): 142 500 kr
Utgående MVA (15%): 8 400 kr
Utgående MVA (12%): 3 240 kr
Inngående MVA: -89 200 kr
MVA å betale: 64 940 kr
Frist: 10. april 2026
→ "Generer MVA-melding" for å klargjøre innsending
4. Analytics and Reporting
4.1 Cost Trend Analysis
| Aspect | Detail |
|---|---|
| Trigger | Employee or manager asks |
| What happens | Fetches ledger postings, groups by account/department, calculates trends |
| Tripletex API | GET /ledger/posting with date ranges |
Conversation:
👤 Daglig leder: Hvordan har kontorkostnadene utviklet seg?
🤖 Agent: Kontorkostnader (konto 6300-6399) siste 6 mnd:
Okt 2025: 23 400 kr
Nov 2025: 21 800 kr
Des 2025: 34 200 kr ← +57% (julebord?)
Jan 2026: 22 100 kr
Feb 2026: 24 600 kr
Mar 2026: 26 300 kr
Trend: +2.1% per måned (eksl. desember)
Årlig estimat: 289 000 kr
4.2 Outstanding Receivables/Payables
Conversation:
👤 Regnskapsfører: Hva er utestående?
🤖 Agent: Utestående fordringer: 234 500 kr
0-30 dager: 145 000 kr (3 fakturaer)
31-60 dager: 55 500 kr (1 faktura)
60+ dager: 34 000 kr (1 faktura) ← purring sendt
Utestående leverandørgjeld: 89 200 kr
Forfalt: 4 890 kr (Telenor, 3 dager)
Neste 7 dager: 42 300 kr
Neste 30 dager: 42 010 kr
4.3 Budget vs Actual Comparison
Conversation (English):
👤 Manager: Show me Q1 budget vs actual for the sales department
🤖 Agent: Sales Department — Q1 2026 Budget vs Actual
Category Budget Actual Variance
─────────────────────────────────────────────────
Revenue 900,000 847,200 -5.9% ⚠️
Salaries 450,000 452,100 +0.5%
Travel 90,000 68,700 -23.7% ✓
Marketing 120,000 134,500 +12.1% ⚠️
Office 30,000 28,400 -5.3% ✓
─────────────────────────────────────────────────
Net 210,000 163,400 -22.2% ⚠️
Key observations:
• Revenue 5.9% below target — 2 large deals slipped to Q2
• Marketing overspend driven by trade show in February
• Travel underspend — 3 trips postponed
4.4 Weekly Summary to Management
| Aspect | Detail |
|---|---|
| Trigger | Cron every Monday 08:00 CET |
| What happens | Aggregates weekly activity, cash flow, key metrics |
| What the user sees | Concise summary in Slack or email |
Example:
📊 Ukesrapport uke 12, 2026
Inntekter denne uken: 142 000 kr
Utgifter denne uken: 87 300 kr
Netto kontantstrøm: +54 700 kr
Banksaldo per fredag: 1 245 000 kr
Aktivitet:
Fakturaer sendt: 4 (198 000 kr)
Fakturaer betalt inn: 3 (142 000 kr)
Leverandørfakturaer betalt: 7 (87 300 kr)
Reiseregninger: 2 (8 207 kr)
Neste uke:
Forfaller til betaling: 42 300 kr (3 fakturaer)
MVA-frist: 10. april (64 940 kr)