Skip to content
Finanly

Private AI finance intelligence

Your books, understood.

Ask anything in plain English, close the month with a human in the loop, and reconcile to the cent — on Finanly's own 8B finance model, running on your own hardware.

AI never writes SQL18 cubes · 89 measuresRuns on your hardware
  • Runs on your own hardware
  • AI never writes SQL
  • Tenant isolation by Postgres RLS
  • Every irreversible action audited
  • Statements parity-gated hourly

Every other finance tool sends your ledger to someone else's model. Finanly runs the model next to the ledger — so the answer can be checked against the entry behind it.

Ask your books

Plain-English questions. Ledger-true answers.

The model never touches SQL. It emits a semantic plan; core-api validates it against a governed model of 18 cubes, 89 measures and 668 dimensions; Cube executes it. Every number links back to the entries behind it.

  • Focused truth test: 10 of 10 answers within 1¢ of the SQL truth
  • Saved questions re-run on a schedule
  • Drill from any figure to the rows behind it

Month-end close

A close that keeps you in the loop.

Three-tier categorization drafts every line; you accept, edit, split or exclude — one click, always undoable. Accepted lines become posting-ready entries with idempotency keys.

  • Smart transfer matcher with reason codes
  • Exception queues instead of spreadsheets
  • Every irreversible action audited

Reconciliation

One deposit, unpacked to the cent.

A Shopify payout becomes charges, refunds, fees, adjustments and disputes — each on the right account, summing exactly to the bank line. Flexport bills and ad receipts flow the same way.

  • Payouts reconciled to the cent
  • Dispute lifecycle tracked daily
  • Bank-transaction invariant: nothing left unreconciled

How a close actually runs

From bank line to posted entry, without leaving the page.

Scroll through one transaction's life. This is the real workflow, with sample data.

STEP 01

Bank feeds land, already sorted

Mercury, Plaid, Shopify payouts and PayPal arrive every hour; the three-tier categorizer (exact → similarity → AI) drafts a category and confidence for every line.

STEP 02

You decide. One click, undoable.

Accept, edit, split, or exclude. Nothing posts without a human; every state change is written to an append-only audit log.

STEP 03

Posting-ready entries, parity-checked

Accepted lines become journal and payment entries with idempotency keys. Statements are re-derived and parity-gated against the ledger every hour.

Proof, not promises

Numbers we can stand behind.

Measured on the live semantic layer and the CI-safe stack. No customer counts, no vanity metrics.

18governed business cubes in the semantic layer
89measures the AI can plan against — never raw SQL
8live connectors syncing every hour
0lines of SQL written by the model in production

Connected to where money moves

Eight live connectors, credential-isolated.

Each connector is its own service holding its own secrets. Ingestion runs hourly; webhooks and backfills are idempotent. QuickBooks Online, Xero and WooCommerce are planned — see the full catalogue.

MercuryBanking ingestion via API, multi-account
PlaidLink 12,000+ banks; balances, transactions, webhooks
WiseMulti-currency accounts and transfers
PayPalPayments ingestion
ShopifyPayouts, disputes, orders, products, customers
FlexportBilling, orders, inventory, inbound shipments
Google Analytics 4Traffic and conversion context for revenue
ERPNextLedger of record: postings, invoices, parties, stock
ExperianCredit score insights (Personal mode)
QuickBooks OnlineLedger of record alternative to ERPNext
XeroLedger of record alternative to ERPNext
WooCommerceOrders and payouts for WordPress stores
StripePayout decomposition like Shopify
Amazon Seller CentralSettlements, fees, orders
BrexCards and cash ingestion
RampCards and spend ingestion
SquarePOS payouts and fees
GustoPayroll runs as ledger entries

Why not just an ERP, or just a bookkeeping app?

QuickBooks-simple. ERP-complete.

Traditional ERP / bookkeeping

  • A full ERP with a form for everything and a learning curve for every form
  • Or a friendly bookkeeping app that stops at invoices and bank feeds
  • AI features that ship your data to a public model and return unverifiable answers
  • Month-end in spreadsheets, exceptions in email

Finanly

  • A modern surface on a real ERP ledger (ERPNext today): invoicing, landed cost, inventory, statements
  • Human-in-the-loop close with undo, audit and idempotent postings
  • Finanly's own 8B finance model on your hardware; answers as validated semantic plans, never SQL
  • Reconciliation engines that decompose payouts and bills to the cent

FAQ

Straight answers

Does my data ever leave my server?

No. The AI gateway is internal-only and talks to Finanly's own 8B finance model, running on your hardware. Connectors pull data in; nothing is sent to a public AI API, and there is no cloud fallback.

How do you stop the AI from making numbers up?

The model only produces a semantic plan (which measures, dimensions and periods). core-api validates it against the governed model and Cube executes it. The model never writes SQL, and every figure links to the ledger entries behind it.

Which ledger does it run on?

ERPNext today, through a dedicated connector. Finanly keeps its own canonical store and append-only audit log, and posts idempotent entries back to the ledger. QuickBooks Online and Xero are planned, not shipped.

Is this for my company or for me?

Both. Business mode covers the close, reconciliation, invoicing, inventory and statements; Personal mode brings the same engine to a safe-to-spend planner, baskets, a subscription leak detector and a debt payoff plan.

What is AI Match?

The three-tier categorizer. Exact prior matches first, similarity to what you've already accepted second, and only then the private model — which is handed your chart of accounts as a tool so it can't invent an account. You accept, edit, split or exclude; nothing posts on its own.

Can I undo a mistake?

Yes, one click. Undo cancels the postings through the same idempotent export path and returns the line to review. The original action and the undo are separate audit events.

What if an export runs twice?

Nothing duplicates. Every export item has an idempotency key that is unique in Finanly, sent to the ledger connector, and pre-checked against the ledger. A re-run is recorded as skipped: already done.

Which banks and services connect?

Mercury, Plaid (thousands of US banks via Plaid Link), Wise, PayPal, Shopify, Flexport, Google Analytics 4 and ERPNext are live and sync every hour. QuickBooks Online, Xero, WooCommerce, Stripe and others are listed as planned on the connectors page.

How does pricing work?

Plans are read from the same catalog that gates features inside the product; when a plan doesn't include a feature the API answers 402 and the UI offers the upgrade. Business and Personal plans are separate; there's a free business tier.

Can several companies live in one account?

Yes. Each company is a tenant isolated by Postgres row-level security; you switch companies from the shell. Users are members of a tenant with a role, and one login can belong to several.

Is Finanly SOC 2 certified?

Not today. The controls are in place — forced RLS, AES-GCM-encrypted secrets, append-only audit, internal-only AI — and documented; certification is on the roadmap. We'd rather tell you than imply it.

How do I run it?

As one Docker Compose stack on your own host: core-api, the AI gateway, connectors, jobs, Postgres and the UI, behind an edge proxy. The model runs on that host too. Ask for early access and we'll walk through the deployment.

See your books understood.

Private beta. Tell us where to send your access, and which company you close first.