The Software Foundation for the AI Era
Most software being labeled "AI-powered" today is exactly what it sounds like — existing software with AI bolted on. A chatbot in the corner. A copilot that can draft emails. An autocomplete that fills in form fields.
That's not what we built.
Artifi was designed from the ground up as infrastructure that AI operates directly. Not as an afterthought, not as a feature, but as the fundamental interaction model. This article explains the architectural decisions that make that possible — and why they matter for anyone building software in the AI era.
The Protocol That Changes Everything
The Model Context Protocol (MCP) is the open standard that makes Artifi possible. MCP defines how AI tools like Claude.ai, Cursor, Windsurf, and VS Code communicate with external services.
When you connect Artifi's MCP Server to your AI tool, that tool gains access to 150+ financial operations: posting invoices, running reports, managing vendors, reconciling bank accounts. You're not locked to any single AI provider. Any tool that speaks MCP can operate your ERP.
This is the same standard used across the AI ecosystem, which means Skills and Plugins you build for Artifi work across Claude, Cursor, VS Code, and OpenAI. The protocol is the foundation — everything else builds on top of it.
Data Isolation: One Schema Per Client
Most multi-tenant SaaS applications store all customer data in shared tables, separated by a tenant_id column. This works, but it creates inherent risk — a single bug in a WHERE clause can leak data between tenants. For financial infrastructure, that's not acceptable.
Every Artifi client gets their own dedicated PostgreSQL schema. Your financial data lives in a completely separate database schema from every other client — not filtered rows in a shared table, but a fully independent data store.
This means:
- No data leakage risk between clients — it's architecturally impossible
- Each schema can be backed up, restored, or migrated independently
- Schema structure is identical across clients, keeping everything consistent and predictable
- New organizations get a fresh clone of the template schema
For AI specifically, this is critical. When Claude queries your data, it operates within your schema only. There's no complex permission layer trying to filter results — the isolation is at the database level.
Multi-Entity Architecture
Real businesses aren't flat. A parent company with three subsidiaries, a holding company with operations in multiple countries, a franchise with dozens of locations — these are all common structures that traditional accounting software handles poorly.
In Artifi, your company is an Organization. Inside it, you can have multiple Legal Entities — subsidiaries, branches, country offices, or any distinct legal unit that maintains its own books.
All legal entities within an organization share the same master data (chart of accounts, vendor list, item catalog) but maintain separate financial records:
- A parent company with three subsidiaries = one organization, three legal entities
- Each entity has its own transactions, balances, and reporting periods
- Master data is defined once and shared across all entities
- Cross-entity reporting and consolidation works naturally
Most businesses start with a single legal entity and add more as they grow. The multi-entity architecture is there from day one — no migration needed.
MSEO: The Pattern That Eliminates Data Duplication
Here's a problem that gets worse with scale: if you have 100 accounts and 5 legal entities, a traditional system would duplicate all 100 accounts for each entity — 500 rows of identical data. Updating an account name means updating it 5 times. Data drift becomes inevitable.
We solved this with a pattern called MSEO (Master + Scopes + Entity Overrides + Effective Views):
- Master records are defined once at the organization level (100 accounts stored once)
- Every legal entity automatically sees all master records
- If one entity needs something different, it creates an override for just that field
- Effective views automatically merge masters with overrides — you always see the resolved result
Master: "4000 - Revenue" (defined once)
→ Entity A sees: "4000 - Revenue" (uses master)
→ Entity B sees: "4000 - Product Sales" (has override)
→ Entity C sees: "4000 - Revenue" (uses master)
Stored: 1 master + 1 override = 2 rows
Visible: 3 rows (one per entity)
This pattern applies to accounts, vendors, customers, items, tax codes, and dimension values. In practice, we see 5-6x data reduction — 130 rows stored, 730+ rows visible. And AI tools query the effective views, so they always see the right data without needing to understand the underlying pattern.
The Workflow Engine: Every Action Auditable
This is the architectural decision that makes AI-operated finance trustworthy.
Every action that changes data in Artifi — whether triggered by you in Claude, by an autonomous agent, or by an API call — goes through the Workflow Engine. There is no backdoor, no direct database manipulation, no untracked change.
Risk-Based Approval Routing
The workflow engine uses risk-based lanes to decide how each operation is handled:
| Lane | When | What Happens |
|---|---|---|
| Green | Low risk — small amounts, standard operations | Auto-approved, executes immediately |
| Yellow | Medium risk — updates to critical records | Requires one approval before execution |
| Red | High risk — large transactions, deletions | Requires multi-level approval |
Lane assignment is fully configurable. You define the rules: which operations need approval, at what thresholds, and who can approve.
Complete Audit Trail
Every action records:
- Who initiated it (user, agent, or API key)
- What was requested (the full operation details)
- When it happened (timestamps for each step)
- What lane it was assigned (green/yellow/red)
- Who approved it (if approval was required)
- What changed (the resulting data modifications)
This isn't a separate audit log bolted on after the fact — it's the core mechanism through which all changes flow. Whether a human posted a journal entry via Claude, or the bill processor agent created a vendor bill at 3am, the full history is there.
For regulated industries, this is the difference between "we have an audit log" and "every single change is provably tracked through a tamper-evident workflow system."
Plugins & Skills: Portable, Open Extensibility
Traditional ERPs hardcode specialized logic. If their payroll doesn't match your country's rules, you wait for a vendor update. If their reporting doesn't fit your industry, you export to spreadsheets.
We took a different approach: specialized logic belongs in Plugins and Skills, not in the core system.
Skills are portable instruction sets that enhance how AI tools work with Artifi. A skill might teach Claude how to handle Estonian payroll, or guide it through a month-end close process specific to your industry. Skills work across Claude, Cursor, VS Code, and OpenAI — they're not locked to any single platform.
Plugins extend Artifi's capabilities with custom business logic that runs on the server side: payroll calculation rules for specific countries, tax declaration logic for specific jurisdictions, industry-specific reports or validation rules, custom allocation algorithms.
Plugins are activated per-organization and can be built by anyone. Browse existing plugins and contribute your own at github.com/ar-ti-fi/plugins.
Autonomous Agents
Agents are autonomous AI workers that handle tasks in the background without your involvement. They're triggered by events — an email arrives, a bank statement is imported — and execute multi-step workflows independently.
The built-in agents include:
| Agent | What It Does |
|---|---|
| Bill Processor | Reads emailed invoices, extracts data, creates vendor bills |
| Bank Transaction Processor | Categorizes imported bank statement lines |
| Reconciliation Agent | Matches bank transactions to ledger entries using multi-pass algorithms |
| Payment Proposal Agent | Generates payment batches based on due dates and cash position |
| Asset Creator | Creates fixed assets from qualifying vendor bills |
| Bills Collector | Sends payment reminders for overdue receivables |
Agents are entirely optional. You can use all of them, some of them, build your own, or skip them entirely. They work through the same workflow engine as everything else — their actions follow the same approval rules and appear in the same audit trail.
Connectors
Connectors bring external data into Artifi and push actions out. Current integrations include Stripe (card transactions, payments, webhooks), Merit Aktiva (accounting data sync), and SmartAccounts (accounting data sync).
Everything else connects through n8n, Zapier, Make, or any integration platform. The MCP Server is an open endpoint — if your integration tool can make HTTP calls, it can interact with Artifi. Connector credentials are encrypted with AES-256-GCM and managed through the admin dashboard — never exposed in chat or logs.
Why This Foundation Matters
Every architectural decision described here serves a single purpose: making financial infrastructure safe and effective for AI to operate.
- Data isolation means AI can't accidentally access the wrong data
- MSEO means AI queries return the right results without complex logic
- The workflow engine means every AI action is validated, approved, and auditable
- Plugins and Skills mean the AI ecosystem can extend the system safely
- Connectors mean external data flows through the same controlled pipeline
This isn't AI bolted onto existing software. It's infrastructure built from the ground up for a world where AI is the primary operator.
If you're building software in the AI era — whether it's finance, operations, HR, or anything else — these are the patterns that matter. Not chatbots and copilots, but architecture that makes AI operation trustworthy by design.
Artifi is currently in early access. Join the waitlist to get started, or join our Discord to connect with the community.