claude code for fractional cfo

Claude Code for Fractional CFOs: One Folder per Client (2026)

Anthony Barbey

Anthony Barbey

· 11 min read

Share

A fractional CFO does not work on one model. You work on four or five, each with its own books, its own fiscal year, its own founder who reads one page and its own way of being wrong. The work repeats every month (close, variances, cash, pack) and the context changes every day.

Claude Code is built for exactly that shape of work, even though it was built for developers: an agent that opens a folder, reads the instructions it finds there, runs procedures written as files, and edits real things rather than chatting about them. This guide sets it up for a multi-client practice: how to lay out the folders, where your method and each client's facts live, how to write the monthly procedures once, and how to keep each client's data inside its own boundary.

If you have not used Claude Code on financial work yet, start with Claude Code for Finance, which covers the single-model setup. If you work in the Claude app rather than the terminal, the companion is Claude for Fractional CFOs. Both rest on the same idea, the CFO harness: what sits around the model decides whether its work can be signed.


Why Claude Code for a Fractional Practice?

Because a folder is a better unit for a client than a conversation. Three properties matter.

  • Context comes from files, not from you. Claude Code reads the CLAUDE.md files it finds when a session starts. Open the client's folder and the client's context is loaded before you type.
  • Procedures are files. A skill is a folder with instructions (and scripts if needed) that Claude Code loads when the task matches. Write the close once, run it at every client.
  • It runs code. Imports, reconciliations and checks run as scripts, so the arithmetic is done by code you can read, not predicted by the model.

Claude Code comes with Claude's paid plans (Pro, Max, Team and Enterprise) or runs on API billing. It is a terminal tool first; it also runs in IDEs and in the Claude desktop app.


How Should You Lay Out the Folders?

One folder for your method, one folder per client. The layout we use:

~/.claude/
  CLAUDE.md            # your method, read in every session
  skills/
    close-acceptance/  # one folder per procedure, shared by all clients
    variance-commentary/
    board-pack/
~/clients/
  distrib/
    CLAUDE.md          # who this client is
    .mcp.json          # this client's connection to its model
    exports/           # trial balances, ledgers, bank files
    packs/             # what you sent
  saas-co/
    CLAUDE.md
    .mcp.json
    exports/
    packs/

You start a session for a client by opening its folder (cd ~/clients/distrib, then claude). Everything below follows from that habit.


What Goes in Each CLAUDE.md?

Three layers, each written once.

Your personal CLAUDE.md (in ~/.claude/) holds how you work, at every client:

# How I work
- Natural signs: revenue positive, costs and outflows negative.
- Every figure I sign comes from the model, never from your arithmetic.
- Before any task on a client, read the client's CLAUDE.md, then the
  model's FINANCE.md.
- Never write to a client's ledger. Bookkeepers post; I analyse.
- End every procedure with the list of decisions that need me, and stop.

Each client's CLAUDE.md (in the client folder) says who the client is and where things live, not how to do finance:

Client: Distrib SAS, food distribution, 40 employees, France.
Fiscal year: July to June. Reporting currency: EUR, in thousands.
Materiality for commentary: variances above 5% and above 10k.
The model is "Distrib 2027 budget" in Layerz (see .mcp.json).
Exports land in ./exports, named YYYY-MM-<report>.csv.
The founder reads one page. Lead with cash.

Each model's FINANCE.md holds the conventions of the model itself: currency, units, sign, fiscal year, definitions, how the statements connect. It lives with the model, not in the folder, so any session, any assistant and any colleague who opens the model reads the same rules. FINANCE.md is an open standard for that file.

The split matters when you take on client number six: you write one new short file, not a new method.


How Do You Write the Monthly Procedures Once?

As skills in your personal folder, shared by every client. A skill is a folder with a SKILL.md file: a short description Claude Code uses to decide when the skill applies, then the steps. A close-acceptance skill might read:

---
name: close-acceptance
description: Accept a client's monthly close. Use when asked to review,
  accept or check a month-end close.
---
1. Read the client's CLAUDE.md and the model's FINANCE.md.
2. Load this month's actuals from ./exports into the model.
3. Run the model's checks: balance sheet ties, cash closes, no
   unmapped accounts. Report any failure and stop there.
4. List the variances above the client's materiality, ranked.
5. Draft one line of commentary per variance, citing the model's figure.
6. List the decisions that need the CFO, and stop.

The same skill runs at every client because nothing client-specific is written in it: the threshold, the fiscal year and the definitions come from the client's files. That is the rule we use for the month-end close across several clients: reuse the workflow, never the sign-off.

Three skills cover most of a month: close acceptance, variance commentary, board pack. Add one when you notice you typed the same instructions twice. If you keep them in a repository with history, GitHub for Fractional CFOs shows a one-repo-for-the-method, one-repo-per-client layout.


Where Do the Clients' Models Live?

On a model layer each client folder connects to over MCP, the open standard Claude Code uses to call external tools. The model persists between sessions with its structure (items, formulas, timelines, how the three statements connect) separate from its data, so Claude Code opens the same model next month instead of re-reading a spreadsheet.

The connection belongs in the client's folder, not in your global settings. With Layerz, add it with project scope from inside the folder:

cd ~/clients/distrib
claude mcp add --scope project --transport http layerz https://layerz.cc/mcp

Claude Code writes it to the folder's .mcp.json, and /mcp in a session opens the sign-in (OAuth).

For a hard boundary between clients, connect each folder with an API key bound to that client's model only, and set it to read-only for engagements where you analyse and do not build. A model-bound key does not see any other model, and a read-only key does not even list the tools that write. Pass it as an Authorization: Bearer header in the folder's .mcp.json, from an environment variable (Claude Code expands variables in that file), so the key never sits in a file the agent reads.


Which Work Should You Give Claude Code First?

The recurring work that runs on files and checks. Five tasks pay off in the first month:

  1. Imports. A script per client that takes this month's exports from ./exports and loads them into the model, the same way every month.
  2. Close acceptance. The skill above, run on the first working day after the bookkeeper closes.
  3. Variance commentary. Drafted from the model's figures, ranked by the client's materiality, in the founder's language.
  4. Reading an inherited model. What each tab does, where the hardcoded values are, what feeds what. Claude Code reads a workbook in minutes; taking over a client's model covers what to do next.
  5. The pack. Figures from the model, commentary from the skill, export to Excel or PDF, saved in ./packs with the month in the name.

The pattern does not change: code and the model do the arithmetic, Claude Code reads, drafts and checks, you decide.


What Should You Keep Out of Claude Code?

  1. Another client's files in the folder. One folder, one client. Never start a session from ~/clients itself.
  2. Write access to ledgers you do not own. Exports or read-only connections; the bookkeeper posts.
  3. Figures you sign that the agent computed in its head. Every signed figure comes from the model or from a script you can read.
  4. Credentials in files. Keys in environment variables, never in CLAUDE.md, exports or notes.
  5. Client data the contract does not allow. Check the engagement letter first; what those clauses usually cover is in Your Client's Contract Says No AI.

A Weekly Routine That Holds

Start, per client. Open the client's folder and ask Claude Code what changed in the model since your last session; the version history answers that in seconds.

During. Ask for changes to the model, not numbers in the chat. Use plan mode for anything structural, so you read the plan before anything is written.

End. Name the version you would sign ("October close accepted"), so next month's comparison has a fixed point.

Monthly test. Open a fresh session on a client you have not touched in two weeks and ask: what is this model for, what feeds gross margin, what changed last. If the answers come from the files and the model rather than from you, the setup holds.


Claude Code or the Claude App?

Use both, for different work. The Claude app, with one Project per client, is the better place for conversation around the numbers: reading a board deck, drafting a founder email, thinking through a pricing question. Claude Code is the better place for work that runs on files and repeats: imports, checks, packs, procedures. They connect to the same models over MCP, so a model updated in Claude Code is the one you discuss in the app. The app setup is in Claude for Fractional CFOs.


Where Layerz Fits

Layerz is the model layer each client folder connects to. It is a structured spreadsheet, ready for AI: each model keeps its structure separate from its data, so you reuse one structure across clients while each client's values stay in its own model.

Claude Code drives it over MCP at https://layerz.cc/mcp, with OAuth or with an API key bound to one model and set to read-only if you wish. Claude Code reads each model's FINANCE.md before acting, loads actuals from Pennylane, Qonto and Stripe through native connectors or from FEC, DATEV, Excel and CSV exports, builds scenarios as variants of the base case, runs the model's checks, and changes the model without breaking its formulas. Every change is versioned with a diff and a restore (24 hours plus one pinned version on the free plan, 30 days on Team), and every model exports to clean Excel with formulas intact, so the client keeps a file their next CFO can open.

It is free for one person working alone, with unlimited models.


FAQ

Can I use Claude Code for several clients on one account? Yes, with one folder per client, each with its own CLAUDE.md and its own connection to that client's model, and the client's written consent where the contract requires it. For clients with strict data rules, working inside their own Claude Team or Enterprise plan is cleaner.

Do I need to know how to code to use Claude Code as a fractional CFO? No. You need to be comfortable opening a folder in a terminal and writing instructions in plain English. Claude Code writes the scripts; you read what they do before you rely on them.

How do I keep one client's data away from another in Claude Code? One folder per client, never a session started above the client folders, and a connection in each folder that reaches only that client's model, read-only when you only analyse.

Can Claude Code run my month-end close? It can run the procedure: load the actuals, run the checks, rank the variances, draft the commentary, list the decisions. Accepting the close stays with you.

Is Claude Code better than the Claude app for a fractional CFO? For repeated work on files, yes. For conversation around the numbers, the app with one Project per client is simpler. Most practices use both on the same models.

Does this setup work with Codex? Yes. The layout is the same with AGENTS.md in place of CLAUDE.md; we wrote it up in Codex for Fractional CFOs.


The Takeaway

Claude Code turns a fractional practice from a set of conversations into a set of folders: each client with its facts, its model and its boundary, and your method written once on top. The agent does the repeated work, the model does the arithmetic, and the signature stays yours.

Judge the setup the way a fractional practice judges everything: is the next client cheaper than the last?


Keep Reading

Anthony Barbey

Anthony Barbey · Founder, Layerz

Anthony spent his career in finance and consulting, close to the modeling workflows of M&A, transactions, and advisory. He now builds Layerz, the finance workspace that keeps Claude in the context of your model so it doesn’t drift, forget between sessions, or burn tokens on grids.

Related articles

Ready to build models that are defensible by design?

Layerz separates model structure from data so every number is traceable.

Explore Layerz