Skip to content
Finanly

The Finanly Finance Model

An 8B model built for finance.

Finanly's own model, custom trained on financial work — ledgers, charts of accounts, reconciliations, statements. Ask in plain language; get the analysis, the forecast, the board report. On your hardware.

8B parameters · custom trained for financePlain-language inputRuns on your hardware

Plain language in

Ask like a founder. Get the finished work.

Type the request the way you would ask your controller. The model works on your governed ledger data and hands back the analysis, the forecast or the report — with the rows behind every number.

Why did gross margin drop in Q2 compared with Q1?
1
Understands

Reads the request as a margin bridge, Q1 → Q2

2
Works on your ledger

Pulls revenue, COGS and landed cost by product line

3
Produces

Writes the analysis with the rows behind it

Gross margin 46.1% → 41.8%Q1 vs Q2 2026 · by product line
Freight per unit+$0.42−2.6 pts
Capsules mix+9% of sales−1.1 pts
Espresso price increase+3%+0.6 pts

Most of the drop is inbound freight: two air shipments in May carried 38% of the quarter's landed cost.

figures from your governed ledger rows behind every number one tenant · on your hardware

Illustration with sample figures: the request and output shapes show what the model produces; the numbers are not a real company's.

Custom trained

Trained on the work of finance, not the whole internet.

A general chatbot knows a little about everything. The Finanly model is 8 billion parameters spent on one domain: how books are kept, how they tie out, and how they are explained to a board.

  • 01

    Ledgers & journals

    Double-entry structure, postings, periods and closing entries — the grammar of a general ledger, not generic text.

  • 02

    Chart-of-accounts vocabulary

    Account types, cost centers, supplier and customer groups, so 'freight' and 'inbound shipping' land on the same account.

  • 03

    Reconciliation patterns

    Bank-to-ledger matches, payout decomposition, internal transfers, fees and refunds — how real books actually tie out.

  • 04

    Statements & reporting

    Balance sheet, P&L, trial balance, cash flow and variance — how finance teams read, explain and present them.

What it produces

From one sentence to the work product.

Six things the model does today, each labelled with its key in the platform registry.

  • 01

    Analysis

    Ask why a number moved; get the bridge, the drivers and the rows behind them — from a governed plan, never SQL.

    ai_bi_query
  • 02

    Forecasts

    Cash, revenue and burn projected from your own run-rate, receivables and payables, with scenarios in plain words.

    ai_bi_query
  • 03

    Board-ready reports

    Monthly updates and statement commentary drafted in your format, every figure linked to the ledger.

    bi_report_builder
  • 04

    AI Match categorization

    Three tiers: exact, then similarity against lines you approved, and the model only to disambiguate.

    auto_categorizer
  • 05

    Vendor enrichment

    Bare bank descriptors become named counterparties through self-hosted web search. The model reads snippets, not your rows.

    ai_vendor_enrichment
  • 06

    Statement & compliance narrative

    The model writes the narrative around numbers the deterministic engines already computed. It explains; it does not calculate.

    compliance_reports
8Bparameters, custom trained for finance
65 / 86catalogued founder questions answerable today
89governed measures the model can plan with
0SQL statements written by the model

Most 'AI for finance' sends your ledger to someone else's general model and hopes the SQL it writes is right. Finanly does neither: its own finance model stays home, and it never writes SQL.

How a request becomes an answer

Four steps. The model plans; the ledger answers.

Scroll through the pipeline. Every frame is the real shape of the data at that step.

STEP 01

1 · The request

You type in plain English on the Business Intelligence page. Suggestion chips cover the questions founders ask most; anything else is fair game.

STEP 02

2 · The Finanly model plans

The 8B finance model receives the request and the governed vocabulary — measure names, dimensions, your chart of accounts — and returns a semantic plan. Three tools stop it inventing accounts, fields or dates.

STEP 03

3 · core-api validates

Every measure, dimension and period is checked against the semantic registry: 18 cubes, 89 measures, 668 dimensions. Unknown fields fail closed. The tenant comes from your session, never from the model.

STEP 04

4 · The ledger answers

Cube executes the plan on the canonical store and returns rows, a chart and the number. Save it, schedule it every 15 minutes, or pin it to a dashboard.

AI Match

It learns from what you approve.

Categorization is three tiers, and the model is the last resort, not the first guess. Every accepted line becomes history the next two tiers match against — your ledger vocabulary, tenant by tenant.

Tier 1Exact matchconfidence 0.95 – 0.99

The normalized description matches a line you categorized before. Amount-aware: if two histories match, the closest amount wins.

Tier 2Similarityconfidence 0.75 – 0.94

Weighted token similarity against your tenant's history, with an amount tie-break when two candidates are near-equal.

Tier 3Private modelconfidence 0.75 – 0.89

Only when tiers 1–2 are unsure: the description plus the top 5 candidates go to the Finanly model to disambiguate. It picks; it does not invent accounts.

Private by architecture

Runs on your hardware. Sees one tenant.

The model is served on your own machine behind an internal-only gateway. Each call carries a short-lived token bound to one company; nothing is sent to a public AI service.

What the model sees

  • Your question, in plain English
  • The governed vocabulary: measure and dimension names, your chart of accounts, supplier groups
  • Up to 5 candidate categories from your own history (categorization only)
  • A counterparty name and public web snippets (vendor enrichment only)
  • A short-lived JWT scoped to one tenant

What it never sees

  • Raw transaction rows, balances or invoices
  • Any other company's data
  • Database credentials or SQL
  • The public internet as an inference endpoint — the model runs on your box
  • Permission to post, export or delete anything

Model card

One model, built for one job.

What it is, what it was trained for, what it takes in, what it produces — and where it runs.

Glass cube with the Finanly mark sealed inside
model cardFinanly Finance Model · 8B
Model
Finanly Finance Model
Parameters
8B
Training
Custom trained for finance: ledgers, chart-of-accounts vocabulary, reconciliation patterns, financial statements
Input
Natural language — ask the way you would ask your controller
Output
Validated query plans, analysis, forecasts, board-ready reports, categorization, statement narrative
Runtime
Your own hardware; internal network only
Reachability
Called by core-api with a short-lived, tenant-scoped JWT
Tools
get_chart_of_accounts · get_cube_measures · resolve_period
Web
Self-hosted search for vendor enrichment lookups — search, not inference

Compared

General cloud AI vs a finance model you own.

Typical 'AI bookkeeping' feature

  • General-purpose model, not trained for accounting
  • Ledger rows sent to a public API
  • Model writes SQL; you hope it's right
  • Same model, every customer's data
  • Confident answers with no plan to check

Finanly Finance Model

  • 8B model custom trained for finance work
  • Runs on your machine; internal-only gateway
  • Model writes a plan; core-api validates; Cube executes
  • Tenant-scoped token on every call; RLS underneath
  • Plan, rows and number returned together

FAQ

Straight answers

What is the Finanly Finance Model?

Finanly's own 8-billion-parameter model, custom trained for finance work — ledgers, chart-of-accounts vocabulary, reconciliation patterns and financial statements — and served on your own hardware.

What can I ask it for?

Anything you would ask a controller, in plain language: why a number moved, a cash or revenue forecast with a scenario, a board update, commentary on a statement, or help categorizing the month's transactions.

Does anything go to a public AI service?

No. Inference runs on your hardware. The only outbound calls are connector syncs (your bank, Shopify, Flexport…) and self-hosted web searches for vendor enrichment, which carry a counterparty name, not your ledger.

How does it avoid making numbers up?

It never writes SQL and never reads the ledger directly. It returns a semantic plan; core-api validates every measure, dimension and period against the governed model, and Cube computes the figures. Unknown fields fail closed.

What happens when the model is wrong?

For analysis, a wrong plan fails validation and you get a refusal or a governed fallback (cash, AR, AP, balance sheet, P&L) instead of a wrong number. For categorization, a suggestion is a suggestion until a human accepts it, and every acceptance is undoable.

Can one company's data reach another?

No. Every call carries a short-lived token bound to one tenant, and Postgres row-level security enforces the same boundary underneath the application.

Does it work for Personal mode?

Yes. Personal mode has its own semantic tables (15) and endpoints (personal/bi/ask), isolated by tenant and product mode.

What does 65 / 86 mean?

We keep a catalogue of 86 questions founders actually ask (cash, AR/AP, margin, inventory, growth). 65 are answerable end-to-end today through the governed layer; the remaining 21 need cube measures that are scheduled, not promised.

Put a finance model next to your ledger.

Private beta. Runs on your hardware or a VPS you control.