Skip to content
FaxterBook a diagnostic

Essay

16 min readBuilding Faxter · Part 4

Clerk Is Not an Accounting App — It's the First Module of a Business Operating System

The business thesis: accounting was the first module, not the product. What a suite of AI co-workers sharing one memory actually changes.

  • Thesis
  • AI-native

A customer messages your business on WhatsApp at 10:47 PM. They want a refund on the dress they bought last Tuesday — wrong size, never worn, do they need to print a return label or what. Pulse, your AI customer support agent, is the one reading the message. It looks up the order in Shopify, confirms eligibility under your return policy, generates a prepaid label, sends it to the customer’s email, refunds the payment through paystack, and tells the customer the refund will land in their account within three business days. Six exchanges. Eleven minutes of conversation. No human in the loop.

Twenty seconds after the refund processes, you open Clerk to look at yesterday’s books. The refund is already booked. The payment processor fee on the original sale is reversed. The customer’s lifetime-value calculation has been updated. The cash flow forecast for the week, which you pulled up before bed, now shows the refund reflected in next Monday’s expected balance. Nothing was double-entered. Nothing was forgotten. A workflow that would have taken thirty minutes — message reply, then Excel, then QuickBooks, then maybe an email to the customer — took zero minutes of your time.

That scene is what a Business Operating System actually is.


I have been calling Clerk an accounting app for about a year. I want to stop, because it is not really an accounting app and continuing to call it one is now actively misleading the people I am trying to explain it to.

This is going to sound like repositioning in the pejorative sense — the founder who noticed his product was too small and decided to slap a grander label on it to raise a bigger round. I understand why it sounds that way. I am going to try to convince you it is the opposite. The grander framing was always the plan. The accounting app was the beachhead. The thing I am actually building, and have been building from earlier than I usually admit in public, is a Business Operating System — a suite of AI agents that together do the work of the functional roles a small company would otherwise have to hire for. Clerk is the first agent. Pulse is the second. A third is queued. The framing was never “build an accounting app.” It was “start with the agent whose data everything else needs, and expand outward from there.”

Let me explain why this framing is engineering, not grandiosity.

What I mean by Business Operating System

I want to be precise about this phrase because “operating system” gets used loosely and usually means nothing. When I say Business Operating System, I do not mean a single dashboard that integrates with all your other tools. That product already exists. There are a dozen of them. None of them have changed how small businesses actually work, because the layer they operate at is cosmetic — they reskin the existing tools, and the underlying fragmentation is preserved behind a prettier wrapper.

What I mean is something more structural. It is only possible to build right now, because the component that makes it possible — competent, multi-step, tool-using AI agents — only existed in shippable form starting earlier this year.

A Business Operating System has three layers. I will describe them, but the scene at the top of this essay is the better description than what I am about to type.

The first layer is a set of AI agents, each holding a functional role. Not features. Not chatbots. Agents that do the work. The accountant is an agent (Clerk). The customer support rep is an agent (Pulse). The ops coordinator is an agent. The HR manager is an agent. Each one has its own tools, its own specialization, and opinions about how its domain should work — not generic assistants asked to play a role.

The second layer is a shared operational record that every agent reads from and writes to. When the support agent processes a refund, the accountant sees it immediately and books it. When the HR agent runs payroll, the accountant sees it immediately and posts the journal entries. When the ops agent records a purchase order, the accountant sees the liability the moment it becomes real. There is one source of truth. Every agent operates on it. This is the part that is hard. This is also the part that turns a collection of AI features into a system.

The third layer is integrations into the actual plumbing of the business — banks, payment processors, messaging platforms, POS systems, e-commerce, payroll providers, tax portals — so that the agents can act on the real world rather than just describe it. Boring but essential infrastructure.

If you squint, this is what a real company is. A company is a set of people who each hold a functional role, a shared record those people collectively maintain, and a set of external relationships those people collectively manage. The Business Operating System is the same thing, with the people replaced by agents that are cheaper, faster, and awake at 3 AM.

The goal is not to build better software. The goal is to build the smallest possible digital version of a functioning company, and then rent it to people who need a company but cannot yet afford to hire one.

That is the thing I am building. Clerk is the first agent in it. If I had tried to pitch it as “a Business Operating System” from day one, I would have been correctly ignored, because the only way to earn the right to use a phrase that big is to ship something. The way to ship something was to start with one agent and make it work.

Why accounting was the right beachhead

The question of which agent to build first is not obvious, and I want to explain why I landed on accounting, because I think the reasoning generalizes.

You could start with any functional role. Support, HR, operations, sales — all defensible starting points. People are trying most of them. There are companies right now building “the AI SDR” and “the AI recruiter” and “the AI customer support agent,” and some of those will do well. My reason for starting with the accountant was not that accounting is the most valuable role or the biggest market. It is that accounting produces structured, canonical data that every other agent eventually needs, and no other functional role has that property to the same degree.

Think about what an accountant does, stripped to its core. An accountant converts messy real-world events — a receipt, a bank charge, a customer payment, an employee’s overtime — into a structured record that every other part of the business can reason about. The chart of accounts is a schema. The general ledger is a database. Double-entry bookkeeping is a consistency constraint. An accountant is, in the most literal technical sense, the person who turns the business into data. Every other functional role in a company either produces events that the accountant eventually has to catch, or consumes reports that the accountant eventually has to produce.

This means that if you build a competent accounting agent first, and you build it so that its records are structured in a way other agents can read, you have accidentally built the memory layer of your operating system. The other agents do not have to invent their own data model. They write to the same ledger, tag their entries, and inherit the consistency guarantees that double-entry enforces. An ops agent that records a purchase order does not maintain a separate database of liabilities — it writes to the accountant’s ledger, and the liability shows up in the balance sheet automatically, and the P&L reflects the expense the moment the goods are received. The accountant’s data model is the operating system’s data model, for free, because you chose the right first agent.

Start anywhere else and this does not work. Start with a support agent and you have a pile of conversations. Start with HR and you have a pile of employee records. Start with ops and you have a pile of vendor relationships. None of these are canonical the way a general ledger is canonical. You end up either building a separate memory layer later — expensive, error-prone, requires migrating everything you already built — or you end up with an agent that can only see its own data, which is exactly the fragmentation problem the BOS exists to solve.

So the order matters. Accounting first. Not because it is glamorous, not because it is the biggest market, but because it is the agent whose data structure becomes the operating system’s data structure. Every other agent is downstream of getting this one right.

There is a second, less formal reason I started with Clerk: I had the accounting pain for Microscale, I had it bad, and I had it in a form I could build my way out of in a weekend with the right tools. The first agent of a BOS is going to be the one whose pain you feel most acutely, because dogfooding is how you build anything real, and you can only dogfood the thing you are also the customer for. If my first problem had been customer support, I would have built Pulse first, and the rest of this essay would be about why support was the correct beachhead. It would have been a less honest essay, because the real answer is that you build the agent whose pain you feel until you understand the shape of the whole system.

But I do also think the principled answer — accounting-first, because accounting is the canonical data layer — is the correct one, and I would give the same advice to someone starting today, even if their personal pain was elsewhere. Start with the agent whose data everything else will eventually need to read. That agent is almost always the accountant.

The second agent already exists

There is a second agent. It is called Pulse. It is a customer support agent that operates primarily over WhatsApp, and it is already running real businesses. Last week’s interlude was a war story from inside Pulse’s codebase — adding voice calling to it through the kind of all-night debugging marathon that vibe coding sometimes is. So if you were not already aware Pulse existed, you are now. You can find it at pulse.faxter.com.

Pulse does for customer support roughly what Clerk does for accounting. It is a LangGraph ReAct agent with its own specialized toolset. It handles customer conversations end to end. It can take real action on the business’s behalf, not just answer questions. The opening scene of this essay is a real Pulse interaction (sanitized of customer details). If you are running a Shopify store, Pulse can look up the customer’s order, check shipping status, verify payment, adjust the order, escalate to a human when it cannot handle something — all while holding a natural conversation in the customer’s language. If you are running a clinic, it can check appointment availability and confirm bookings. If you are running a SaaS product, it can look up subscription status and trigger password resets. And — the part I am proudest of — if you are running anything else, anything at all, you can upload an OpenAPI specification for your existing platform and Pulse will dynamically generate the tools the agent needs to use your system, without a single line of custom integration code. The agent learns your business by reading its API docs.

I am telling you about Pulse in this essay because Pulse is the thing that turns the BOS thesis from a thesis into a claim that can be checked. If I was only running Clerk, I could call it a Business Operating System and you would have to take my word for the “system” part — one agent is not a system. With two agents, both built on the same architecture, both running in production, both serving real customers, the claim is no longer hand-waving. It is a statement about how the company is actually organized and what we ship.

Now, the most interesting thing about the BOS architecture is visible in something I have deliberately not yet done. Pulse and Clerk are not yet sharing memory. They are two agents built on the same philosophy and the same machinery, but their data layers are separate. The opening scene of this essay — the refund processed by Pulse, the journal entry posted in Clerk, the cash flow forecast updating in real time — is the near future, not yet the present. As of today, a refund processed by Pulse does not yet automatically flow to Clerk’s ledger. A customer record in Pulse is not yet the same object as a customer record in Clerk.

I could have built this integration before shipping either agent. I deliberately did not, because the shared memory layer is the hardest part of the system, and I wanted to design it with the benefit of actually having two agents to integrate, rather than designing it in the abstract for agents I had not yet built.

That integration is the work I am doing now. The first time Pulse processes a refund and I open Clerk and see the journal entry already booked, without anyone having told it to, will be the moment the BOS stops being a suite of agents and starts being an operating system. That moment is close. It is not here yet. I am telling you it is coming so that when it arrives, you know where it fits in the story.

The agents that come after

Beyond Clerk and Pulse, the roadmap is roughly this. I am going to describe each through a scene, because I think the scene is more useful than the description.

The Operations Agent. It is Tuesday afternoon. You realize the office is almost out of A4 paper. You text the Operations agent: “we’re running low on paper, and order another box of toner while you’re at it.” Twenty minutes later it confirms: order placed with your usual supplier, the right delivery window booked, the liability recorded against your accounts payable. You did not open the supplier’s website. You did not scan a vendor catalog. You did not type a purchase order. The agent knows your usual supplier because the last six paper orders are in the operational record. It knows the right account to charge because Clerk’s chart of accounts told it. It knows your delivery preferences because they are in the same record. Most of what small businesses do in WhatsApp groups and unlabeled spreadsheets today is the work of an ops agent that does not exist yet.

The HR Agent. It is the second Friday of the month. The HR agent runs payroll without you starting it. It calculates statutory deductions for your jurisdiction. It generates payslips, sends them to employees, posts the journal entries to Clerk’s ledger, and drafts the compliance filings for tax remittance. Three of your employees have submitted leave requests in the last week — the agent has already scheduled them, updated the calendar, and adjusted the next payroll’s pro-rata calculations. None of this requires you to log in. You get a daily summary of what the agent did and why. You sign off, or you ask questions. I have a head start on this agent because Clerk already has the payroll module — payroll is the point where HR and accounting meet, and it was easier to build payroll inside Clerk first and factor it out later. When the HR agent ships, payroll moves from being a Clerk feature to an HR feature that writes to Clerk’s ledger, which is exactly the right direction of travel.

The Executive Intelligence Agent. It is Sunday night. You ask the agent how the business looked this week. Instead of dumping numbers, it tells you a story. Revenue was up fourteen percent — driven by two unusually large invoices to one new customer; the agent flags that this introduces concentration risk and suggests you look at customer diversification. Expenses spiked Wednesday because of an inventory restock; the agent ties this to the spike in support tickets two weeks ago about an out-of-stock product, which led the ops agent to triple the next order. Cash flow looks fine for the next six weeks but tightens in week eight unless the customer with two outstanding invoices pays on time; the agent has already drafted a polite reminder for you to review and send. You ask, “what if the new hire starts in June instead of May?” The agent re-runs the forecast in two seconds and shows you the difference. This agent is the one I am most excited about and the one I will build last, because it only makes sense once the other agents are producing rich data. It is the one that turns the BOS from a cost-saving into a competitive advantage, because it does something a small business owner literally could not do before at any price — it gives them an executive team, on demand, for the price of an API call.

That is the full suite as I currently see it. Five agents: Clerk, Pulse, Operations, HR, Executive Intelligence. Two are built. Three are coming. All of them will eventually share one memory layer, one customer object, one document store, one audit trail. When a small business owner signs up for the BOS, they will not be buying software. They will be hiring a company.

What this is really competing with

I want to end with the claim that has been implicit in everything above but that I have not yet stated directly.

The Business Operating System does not compete with QuickBooks. It does not compete with Xero or Zoho or any of the other accounting products. It does not compete with Zendesk or Intercom on the support side, or BambooHR on the HR side, or NetSuite at the top.

What the BOS competes with is the act of hiring people.

The people Clerk competes with are the bookkeeper and the part-time accountant a small business cannot afford. The people Pulse competes with are the customer support representative and the WhatsApp-replier-in-chief a small business cannot afford. The people the Operations Agent will compete with are the office manager and the procurement coordinator a small business cannot afford. The people the HR Agent will compete with are the HR manager and the payroll specialist a small business cannot afford. The people the Executive Intelligence Agent will compete with are the CFO and the COO a small business definitely cannot afford.

This is the competitive frame that matters, and it is the one I think conventional software companies are going to consistently miss. They will look at Clerk and ask whether it is feature-competitive with QuickBooks. The wrong question. The question is whether the bundle of Clerk plus Pulse plus the rest of the suite is role-competitive with the salaries it would take to hire a back-office team. At small-business scale, the answer is going to be yes within months and overwhelmingly yes within a year or two. The math is not subtle. A small business with five employees cannot afford a full-time finance person, support person, ops person, HR person, and analyst — that is at minimum a quarter of a million dollars a year in salary alone. It can absolutely afford a software subscription that does most of what those five people would do.

What we are building is not the next QuickBooks. It is the smallest possible digital company. The product is a back office that runs itself. The competitor is the cost of hiring a team. Most small businesses cannot afford that team. The BOS is what they hire instead.

That is the bet.

If you have been reading these essays and wondering why I keep talking about Clerk in terms that seem oversized for a piece of bookkeeping software — why I keep invoking the BOS framing, why I keep saying things about scratching itches and accidental products and shared memory layers — this is the reason. I have not been writing about an accounting app. I have been writing about the first deployed agent of something much larger. I thought it was time to say so out loud.

The rest of the series will make more sense now.

Faxter

We build the co-workers this is written about.