Own your business software. Pay for the work, not the seats

Open-source CRM, HR, ERP and accounting apps, plus an audit trail for your team's AI. Attri moves your records off per-seat SaaS, runs the apps in your own cloud and builds AI agents on top. The code is Apache 2.0 and stays yours.

Apache 2.0 · Your code, your cloud account, your data

Separate tools. Connect one, or all of them.

OpenCRM · sample data

When sources disagree, a person decides.

Sample data. The screens are part of a deployment Attri runs; the app underneath is open source.

A bad posting is refused, with the reason.

Sample books. The screens are part of a deployment Attri runs; the app underneath is open source.

Every AI session, traced to a person.

Sample data. Claude today; other AI platforms on request.

Leave can't be overdrawn. Nothing is written.

Sample company. The screens are part of a deployment Attri runs; the app underneath is open source.

A bill that doesn't match is blocked.

Sample business. The screens are part of a deployment Attri runs; the app underneath is open source.

Why Open Tooling

You pay per seat to use your own records. Open Tooling gives you the software instead.

Most business apps store records and apply rules. Their price grows with every person you add, and now with every AI agent that reads your data. Open Tooling apps are open source: you own the code, run them on your own infrastructure, and pay nobody per seat.

Own your code

Every app is open source under Apache 2.0. Read it, change it and keep it. There is no licence to renew.

Own your infrastructure

The apps run in your own cloud account, next to your other systems. Nothing sits in a vendor's cloud.

Own your data

Your records stay in a database you control. Your AI agents read them without a vendor charging per call.

No seat fees

Add ten people or a thousand, or a hundred AI agents. The software costs the same: nothing.

Why now

  • Salesforce raised its Enterprise and Unlimited prices by an average 6% on 1 August 2025.
  • Slack, SAP and Microsoft now restrict or charge for outside AI agents reading customer data.

How Attri helps. The software is free. Attri is paid for the work of moving you onto it.

  1. 01

    The move

    We take your records out of the tool you rent today and load them into the apps, matched record by record against the source.

  2. 02

    The running

    We deploy the apps in your cloud account, put your login in front, and handle upgrades and backups. You keep the keys.

  3. 03

    The agents

    We build AI agents on records you own, with each action written down, so you can check what they did.

The problem

Your AI now writes to business systems. Those systems were built for people clicking screens.

They keep the answer, not the source

A field stores a value. When an agent writes it, nobody can see which email or document it came from.

The newest write wins

When two sources disagree, the later one overwrites the earlier one, and the reason for the first value is gone.

Nobody can see what the AI did

Staff and agents use AI across the business with no record of who asked what, on which work, at what cost.

How it works

Your AI does the work. The apps keep the record.

Your AI app

Claude · ChatGPT · Cursor · VS Code · Gemini CLI

Secure connection
OpenCRMSales and accountsDatabase
OpenLedgerAccountingDatabase
OpenWatchAI usageDatabase
OpenHRPeople and leaveDatabase
OpenERPPurchasing and stockDatabase
  • Save the source→ email · 3 Sep stored
  • Record a fact→ close date cites the email
  • Post an entry→ refused: debits ≠ credits
  • AI cost by person→ spend by person, this month
  • Flag a conflict→ two close dates kept open
  • Reverse an entry→ #0118 reverses #0117
  • Open a session→ linked to the exact message
  • Trial balance→ debits − credits = 0.00
  • Book leave→ refused: 1 day of comp-off left
  • Post a bill→ blocked: billed 100, received 90
  • Return a laptop→ AST-0007 back, clearance can sign
  • Unbilled deliveries→ $1,700.00 received, not billed
01

Pick the tools you need

Each tool is a separate open-source project. Start with one; add the others when you need them.

02

Connect them to your AI

Claude, ChatGPT, Cursor and other AI assistants connect to each app. Attri sets this up for your team, or your engineers can do it themselves.

03

Ask

Your AI uses the apps it needs. Every answer points to the email, entry or log behind it.

Set it up yourself

The tools

The apps. Each one is its own open-source project. Start with the tool whose renewal comes up next.

When does the renewal close?

Two sources disagree: 15 Oct in the 3 Sep email, 1 Nov on the 9 Sep call. I opened a conflict for review.

via OpenCRM

OpenCRM

A CRM where every fact shows its source.

Remembers
Customers, deals and every email or call transcript behind them.
Answers
“What do we know about this account, and which source says so?”
  • Sales and accounts
  • Apache 2.0

Post the $250 cash sale, $248 to revenue.

Refused: debits ($250.00) and credits ($248.00) don't match. Nothing was posted.

via OpenLedger

OpenLedger

Books your AI can write to, and can't break.

Remembers
Accounts and double-entry transactions, with an audit row for every write.
Answers
“What did we post, does it balance, and who reversed what?”
  • Accounting
  • Apache 2.0

Which session caused yesterday's cost spike?

A session by a.rivera on 9 Sep, linked to the exact message behind it.

via OpenWatch

OpenWatch

See what your team did with AI.

Remembers
AI sessions, prompts, tool calls and spend, each tied to a person. Claude today; other AI platforms on request.
Answers
“Who used AI on what, what did it cost, and where is the record?”
  • AI usage
  • Apache 2.0

Give Dev two more days of comp-off, on the 5th and 6th.

Refused: Dev has 1 day of compensatory off available (2 days entitled, 1 day already pending or approved). Nothing was booked.

via OpenHR

OpenHR

HR records your AI can update, and can't bend.

Remembers
People, leave balances, equipment custody, hiring and exits, with an audit row for every change.
Answers
“Who's out, how much leave is left, and who still holds which laptop?”
  • People and leave
  • Apache 2.0

Bill PO-0004 for all 100 brackets.

Blocked: billed 100, but only 90 are received and not yet billed. Nothing was written.

via OpenERP

OpenERP

Purchasing and stock your AI can't fudge.

Remembers
Orders, receipts, bills, invoices and stock. Every receipt, delivery, bill and payment posts to a double-entry ledger.
Answers
“What did we order, receive and bill, and what is still unbilled?”
  • Purchasing and stock
  • Apache 2.0

What's next. Each will be its own open-source project, published when it runs.

In development

  • OpenDeskHelpdesk and IT service
  • OpenGTMGo-to-market

Exploring

  • OpenSiteConversational maps
  • OpenProposalRFP and bid drafting
  • OpenHealthHealth records bridge
  • OpenAPAccounts payable
  • OpenCPQQuoting
  • OpenPMProperty management
  • OpenHOAHOA management
  • OpenVetVet practices
  • OpenPlacementStaffing placement
  • OpenFieldConstruction monitoring
Need one we haven't listed? Tell Attri

Together

Ask across tools. One question, the calls it takes, and where each answer came from.

Which renewals have an open conflict, and has their revenue been posted?

  1. OpenCRMFind conflicts
    2 open: Northwind close date, Keystone budgetemail · 3 Sep, call · 9 Sep
  2. OpenLedgerSearch the books
    Northwind posted #0204; Keystone not postedjournal #0204

Two renewals have open conflicts. Northwind's revenue is posted (#0204); Keystone's is not, and its budget is still disputed.

What did the team spend on Claude last month, and is it booked?

  1. OpenWatchAI cost by person
    $1,842.60 across 14 peopleusage log · Aug
  2. OpenLedgerSearch the books
    Software expense #0311, $1,842.60journal #0311

$1,842.60 across 14 people, and it's booked: #0311 to software expense, matching to the cent.

Which Claude sessions this week mentioned the Keystone account?

  1. OpenCRMFind the account
    Keystone Labs · accountaccount record
  2. OpenWatchSearch AI chats
    3 sessions by 2 people2 chat logs

Three sessions by j.chen and m.okafor. Each one opens at the message that named Keystone.

Before the renewal call: what's disputed, what's been paid, and who has been working on it?

  1. OpenCRMFind conflicts
    budget: $250k vs $210kemail · 3 Sep, notes · 5 Sep
  2. OpenLedgerAccount history
    2 invoices paid, $84,000journal #0187, #0233
  3. OpenWatchSearch AI chats
    a.rivera, 4 sessionschat logs

The budget is disputed ($250k in the email, $210k in the notes). $84,000 is paid across two invoices. a.rivera has four sessions on it this week.

Who is at offer stage, and do we have laptops in stock for them?

  1. OpenHRList candidates
    1 candidate at offercandidates · offer
  2. OpenERPCheck stock
    Laptops: 1 in stockstock count

One candidate is at offer and one laptop is in stock, so they are covered.

Sample data.

Compared with today

A form trusts the person typing. These tools check the AI writing.

Business software was built for people clicking screens. When an AI does the writing, the record has to say where each fact came from and refuse what doesn't add up.

Business software today

Built for people typing into forms

  • Stores the valueWhere it came from isn't part of the record.
  • The newest write winsWhen two sources disagree, one value is left standing.
  • Edits in placeA correction replaces the old number.
  • Checks live in the formAn AI writing directly skips them.
  • AI use is invisibleNo record of who asked what, on which work.
  • Access rules check the callerThey decide who may write, not whether the write adds up.

Open Tooling

Built for your AI to write to

  • Stores the fact and its sourceEvery fact links to the email, call or document it came from.
  • Disagreements stay openBoth claims are kept until a person resolves them.
  • Corrections are reversalsThe original stays; a new entry undoes it.
  • Rules checked on every writeAn unbalanced posting is refused, whoever sends it.
  • Every AI session tied to a personPrompts, tool calls and spend, with the log line behind them.
  • Balances are checked on writeLeave can't be overdrawn and an asset has one holder.
  • Mismatched bills are blockedEach bill is checked against its order and the goods received.

Use cases

Where teams start. Any industry. Pick your team, and the question it has to answer.

Sales and account teams

What do we actually know about this account, and who said it?

Your team works deals with AI now. The CRM has to keep every email and call behind a fact, and flag it when two of them disagree.

  • Every email and call is kept Save the source
  • Each fact links to its source Record a fact
  • Disagreements stay open Flag a conflict
See how it works for sales
Your AI

When does the Northwind renewal close?

  1. Find the accountOpenCRM
  2. List the factsOpenCRM
  3. Flag a conflictOpenCRM

Two sources disagree: 15 Oct in the 3 Sep email, 1 Nov on the 9 Sep call. I opened a conflict for review.

Finance teams

Can an AI post to the books without breaking them?

Letting an AI write to the books is only safe if the books refuse bad entries on their own, and keep a record of every change.

  • Every posting is checked Post an entry
  • Mistakes are reversed, not edited Reverse an entry
  • Every write is audited Audit log
See how it works for finance
Your AI

Post the March software invoice: $1,200 to software expense, paid from operating cash.

  1. List accountsOpenLedger
  2. Post an entryOpenLedger

Posted: debit Software $1,200.00, credit Cash $1,200.00. It balances, and the audit row was written with it.

HR and people teams

Who is out, how much leave is left, and who still holds which laptop?

Letting an AI book leave or hand out equipment is only safe if the HR system checks every change itself and keeps a record of it.

  • Leave can't be overdrawn Book leave
  • Approvals are recorded Approve leave
  • Every laptop has one holder Assign a laptop
See how it works for people
Your AI

Give Dev two more days of comp-off, on the 5th and 6th.

  1. Leave balanceOpenHR
  2. Book leaveOpenHR

Refused: Dev has 1 day of compensatory off available (2 days entitled, 1 already pending or approved). Nothing was booked.

Operations and purchasing teams

What did we order, receive and bill, and what is still unbilled?

When an AI raises orders and posts bills, the system has to check each one against what was ordered and what actually arrived.

  • Orders are raised and tracked Raise an order
  • Goods are received against the order Receive goods
  • Bills must match what arrived Match a bill
See how it works for operations
Your AI

Bill PO-0004 for all 100 brackets.

  1. Match a billOpenERP
  2. Post a billOpenERP

Blocked: billed 100, but only 90 are received and not yet billed. Nothing was written.

Compliance and risk teams

Which staff used AI on this work, and can we prove it?

Staff use AI across the business. When someone asks who did what, on which work, you need a record, not a recollection.

  • Sessions are recorded on each machine List sessions
  • Chat activity is synced Claude chat activity
  • Every event keeps its source Open a session
See how it works for compliance
Your AI

Who used Claude on the Q3 audit files this week?

  1. Search AI chatsOpenWatch
  2. List sessionsOpenWatch

Two people, three sessions. Each one links to its source log.

Legal teams

Where did every fact in this brief come from?

Your team drafts with AI now. Every fact in a draft has to hold up when someone asks where it came from, and two sources often disagree.

  • Your AI files the source Save the source
  • Each fact links to its source Record a fact
  • Disagreements stay open Flag a conflict
See how it works for legal
Your AI

What notice period did we agree for termination, and where does it come from?

  1. Find the accountOpenCRM
  2. List the factsOpenCRM
  3. Flag a conflictOpenCRM

Two sources disagree: 30 days in the signed agreement, 60 days in the 12 Aug email. I opened a conflict so someone can confirm which applies.

How you pay

The software is free. You pay Attri for the work.

No seat fees and no licence. Attri charges for three things: moving you off the tool you rent today, running the apps in your own cloud, and the AI agents you build on them.

Run it yourself

Free
  • Clone the repositories and run them on your own machine or servers
  • Connect them to Claude Desktop, Claude Code, Cursor, VS Code or Gemini CLI
  • Data stays in a database you control. No seat count, ever

Attri moves you over and runs it

Paid for the work
  • The move: your records out of Salesforce, HubSpot or whatever you rent today, matched record by record against the source
  • The running: deployed in your own cloud account, with your login in front, upgrades and backups
  • The agents: AI agents on records you own, with no vendor charging per call to read them
  • The old tool stays live until the new one is proven

The move

We take your records out of the tool you rent today, load them into the apps, and give you a report that matches every source record to where it went.

The running

Everything runs in a cloud account you own, with your login in front. We operate it; you keep the keys.

The agents

AI agents on your own records, with each action written down. No vendor charges you per call to read your data.

Access from browser apps

claude.ai and ChatGPT only connect to hosted apps. We host them so the whole team can use them from the browser.

Who it's for

Who it's for. The person who sets it up, and the person who has to sign off on it.

Stop renting your own records. Start with your next renewal.

Tell Attri which tool you pay for, how many seats and when it renews. We'll show you what owning it costs. Engineers can read every line on GitHub first.