codex for fractional cfo

Codex for Fractional CFOs: One Agent, Several Clients (2026)

Anthony Barbey

Anthony Barbey

· 10 min read

Share

Most fractional CFOs who use ChatGPT use it as a chat: paste an export, get a summary, draft the founder email. It works, and it stops working around the third client, when every session starts with ten minutes of re-explaining which fiscal year, which ledger and which materiality threshold apply.

Codex is the other half of OpenAI's offer, and most practitioners have it already: it comes with the ChatGPT plan. Where ChatGPT is a conversation, Codex is an agent that works on a folder: it reads the instructions it finds there, runs procedures, writes and runs code, and leaves files behind. That is the shape of a multi-client practice. This guide sets it up: one folder per client, your method written once, the monthly procedures as skills, and a boundary around each client's data.

For the single-model setup, start with Codex for Finance. For the conversation side, the companion is ChatGPT for Fractional CFOs.


Why Codex for a Fractional Practice?

Three reasons, in order of how often they matter.

  • You already have it. Codex is included in ChatGPT plans, with usage limits that depend on the plan. If your clients' work runs in a ChatGPT Business workspace, Codex runs there too, under the same terms.
  • A folder holds a client better than a chat. Instructions, exports, scripts and packs live together, and Codex reads them when you open the folder.
  • It runs code. Reconciliations, imports and checks run as scripts you can read, rather than as arithmetic the model predicts.

Codex runs in the terminal, in an IDE, in a desktop app, and as cloud tasks from ChatGPT. The terminal is the clearest for this setup; the desktop app works the same way if you would rather not type commands.


How Should You Lay Out the Folders?

One personal configuration for your method, one folder per client:

~/.codex/
  AGENTS.md            # your method, read in every session
  skills/              # one folder per procedure, shared by all clients
~/clients/
  distrib/
    AGENTS.md          # who this client is
    .codex/config.toml # this client's model connection
    exports/           # trial balances, ledgers, bank files
    packs/             # what you sent
  saas-co/
    AGENTS.md
    .codex/config.toml
    exports/
    packs/

Start a session from the client's folder, never from ~/clients itself. Codex asks whether to trust a folder the first time you open it; trust each client folder once.


What Goes in Each AGENTS.md?

Codex merges the instructions it finds: your personal ~/.codex/AGENTS.md first, then the one in the folder. Use that order.

Your personal AGENTS.md holds your method:

# 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, read this folder's AGENTS.md, then the model's FINANCE.md.
- Never write to a client's ledger. Bookkeepers post; I analyse.
- End every procedure with the decisions that need me, and stop.

The client's AGENTS.md says who the client is and where things live:

Client: SaaS Co, B2B software, 25 employees, United Kingdom.
Fiscal year: January to December. Reporting currency: GBP, in thousands.
Materiality for commentary: variances above 5% and above 15k.
The model is "SaaS Co FY27 plan" in Layerz.
Exports land in ./exports, named YYYY-MM-<report>.csv.
The board reads ARR, burn and runway first.

The model's FINANCE.md holds the model's own conventions (currency, units, sign, definitions, how the statements connect) and lives with the model, so ChatGPT, Codex, another assistant or a colleague reads the same rules. FINANCE.md is an open standard for that file.

AGENTS.md is an open convention read by several agents, so the folders keep working if part of your practice moves to another one. The Claude Code version of this layout is in Claude Code for Fractional CFOs.


How Do You Bound Each Client?

At two levels: what Codex may do on your machine, and what it may reach in the model layer.

The sandbox. Codex runs commands inside a sandbox you choose: read-only, write inside the folder, or full access. For an engagement where you analyse and do not build, read-only is enough. For one where you build the model and the pack, writing inside the folder is enough. Full access has no place on a machine that holds other clients' files.

The model connection. With Layerz, the simplest route is the official plugin: add it from the directory OpenAI shares between ChatGPT and Codex, and sign in. It reaches every model of your account, which suits a practice where each model is clearly named per client.

For a hard boundary, give each client folder its own connection, bound to that client's model. Codex reads a .codex/config.toml inside a trusted folder, so each folder can point to its own key:

[mcp_servers.layerz]
url = "https://layerz.cc/mcp"
bearer_token_env_var = "LAYERZ_DISTRIB_KEY"

The key is a Layerz API key bound to that client's model, read-only if you only analyse: it does not see other models, and a read-only key does not even list the tools that write. It sits in an environment variable, never in a file Codex reads.


How Do You Write the Monthly Procedures Once?

As skills: a folder with a SKILL.md file that says when the skill applies and what to do. Codex loads the skill when the task matches. A close-acceptance skill:

---
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 folder's AGENTS.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. If one fails, report it and stop.
4. Rank the variances above the client's materiality.
5. Draft one line of commentary per variance, citing the model's figure.
6. List the decisions that need the CFO, and stop.

Nothing in it names a client. The threshold, the fiscal year and the definitions come from the client's files, so the same skill runs at every client: reuse the workflow, never the sign-off, as in the month-end close across several clients. Three skills cover most of a month: close acceptance, variance commentary, board pack.


What Should Codex Do First at a New Client?

Five jobs, in this order:

  1. Read the inherited model. What each tab does, where the hardcoded values are, what feeds what. Taking over a client's model covers what to do with the answer.
  2. Map the chart of accounts to your standard structure, as a first pass you review line by line.
  3. Write the import. A script that loads this client's exports into the model the same way every month.
  4. Run the first close with the skill above, and fix what the checks find.
  5. Produce the first pack: figures from the model, commentary from the skill, saved in ./packs.

By the second month, steps 3 to 5 are one request.


What Should You Keep Out of Codex?

  1. Another client's files in the folder. One folder, one client.
  2. Write access to ledgers you do not own. Exports or read-only connections; the bookkeeper posts.
  3. Figures you sign that Codex computed in its head. They come from the model or from a script you can read.
  4. Credentials in files. Keys in environment variables, never in AGENTS.md or exports.
  5. Client data in cloud tasks the engagement does not allow. Cloud tasks run in OpenAI's environment; keep client data in the local sandbox unless the contract says otherwise (Your Client's Contract Says No AI).

ChatGPT or Codex for Each Task?

Both, on the same models. ChatGPT is the better place for conversation around the numbers: reading the board deck, drafting the founder email, thinking through a pricing question. Codex is the better place for work that repeats on files: imports, checks, procedures, packs. Since the Layerz plugin is shared between the two, a model Codex updated this morning is the one you discuss in ChatGPT this afternoon. What the plugin does in ChatGPT is in ChatGPT Plugin for Financial Models.


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 one structure serves several clients while each client's values stay in its own model.

Layerz is an official plugin in the directory OpenAI shares between ChatGPT and Codex, and a remote MCP server at https://layerz.cc/mcp for a per-folder connection. Codex 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.

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


FAQ

Is Codex included in my ChatGPT plan? Yes, Codex is included in ChatGPT plans, with usage limits that depend on the plan. Cloud tasks are reserved for the paid tiers. Check OpenAI's current pricing page for yours.

Can I use Codex for several clients on one account? Yes, with one folder per client, each with its own AGENTS.md and its own model connection, and the client's written consent where the contract requires it. For a client with strict data rules, working inside their own ChatGPT Business or Enterprise workspace is cleaner.

Do I need to code to use Codex as a fractional CFO? No. Codex writes the scripts; you read what they do before you rely on them. The desktop app works without a terminal.

How do I keep one client's data away from another in Codex? One folder per client, a sandbox no wider than the task, and a model connection in each folder that reaches only that client's model.

Can Codex 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.

Codex or Claude Code for a fractional CFO? Either. The setup is the same with a different file name (AGENTS.md or CLAUDE.md). Pick the one that comes with the assistant you already use with clients.


The Takeaway

Codex turns the repeated half of a fractional practice into procedures run from folders: each client with its facts, its model and its boundary, your method written once on top. ChatGPT keeps the conversation, Codex does the file work, the model does the arithmetic, and the signature stays yours.

The test is the usual one: 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