Fee Tracker
Track earned fee against billed, invoice by invoice
Once installed, Claude loads it on its own when your conversation matches. You can also call it directly with /fee-tracker.
Install just this one
npx archtmpl@latest --skill fee-tracker --globalFirst time? The whole install, step by step
- Open Claude Code — the terminal version or the desktop app, either one.
- In a terminal, paste the line above and press Enter. In the app, paste it into the chat and ask Claude to run it.
- Restart Claude Code. That's the whole install.
Set up plugins for me: run `claude plugin marketplace add https://archaiflow.com/plugins/marketplace.json` and then `claude plugin install fee-tracker@archaiflow`Paste into the Code tab (not Chat or Cowork) and approve when Claude asks. The third-party marketplace it mentions is this site. Windows may ask to install Git once.
How to add it to the Claude app
- Download the .zip above. Don't unzip it — this skill ships its reference files inside.
- In the Claude app: Settings → Capabilities → Skills → Upload skill, and pick the .zip.
- Claude will use the skill on its own when a conversation calls for it.
What this skill does
Fee Tracker
The fee side of a project is three numbers that drift apart: what the contract says, what the work has earned, and what has actually been billed and paid. Small firms lose real money in the gaps between them, usually by forgetting the middle one. This keeps the three side by side, per project, with the arithmetic visible.
Workflow
Step 1. Bootstrap if needed
Check whether docs/practice/fees.md exists. If not, copy
assets/fee-tracker-template.md there and record the project, the
currency as the contract states it, and the fee table with the agreement
article each line comes from. If the project has no docs/ folder at all,
confirm before creating one.
Step 2. Record progress
When you state a phase's percent complete, record it with the date and your one-line basis. The previous figure moves to the history, never overwritten. Then recompute earned:
Phase <name>
fee <as contracted> [cited]
percent complete <as stated, dated>
earned <arithmetic>
Earned to date <sum across phases>
Step 3. Record invoices and payments
One row per invoice: number, date, period or phase it bills, amount,
status issued, paid, partial, disputed, with dates. A payment
updates the row, dated; a partial payment records both figures.
Step 4. Report
On "where are we", compute and show, as of the date you give:
Earned to date <n>
Billed to date <n>
Unbilled earned <arithmetic> <- the money being forgotten
Outstanding <sum of unpaid invoices>
aging <each unpaid invoice, days since issue>
Unbilled earned is stated first. It is the number this file exists for.
Step 5. Amendments
A fee change (amendment, additional service) is a new fee line with its own source, never an edit to the original. The contract history stays readable.
Rules
- Every fee line cites the agreement or the amendment it comes from.
- Percent complete is stated, dated, and attributed to you. Never inferred from time elapsed, invoices sent, or drawings issued.
- Show the arithmetic on earned, unbilled, and aging, every time.
- History over overwrite. Progress and status changes append.
- Currency as the contract states it. No conversion, ever.
- Nothing is deleted; a cancelled invoice is marked
void, dated.
Anti-patterns
- Estimating percent complete from the calendar because a statement is overdue.
- Treating billed as earned, which hides exactly the gap that matters.
- Logging an amendment by editing the original fee table.
- Netting a disputed invoice out of the totals so the report reads clean.
- Turning the file into a time sheet. Effort is a different axis.
Resources
assets/fee-tracker-template.md— the file this creates, empty.
No reference files. The numbers come from your contract and your invoices, not from here.
What it does not check
What this does. Maintains docs/practice/fees.md: the contract fee
broken by phase with its source, percent complete per phase as you state
it, earned fee computed from the two with the arithmetic shown, an invoice
log with issued, paid, and outstanding status, and an aging view of what
is unpaid as of a date you give. Answers "where are we against the fee"
from the file alone.
What this does not do.
- It does not estimate anything. Not the fee (
fee-estimatordoes that, before the contract), not percent complete, not what a phase should cost. Percent complete is your professional judgment, stated by you, dated. - It is not accounting. No tax, no ledger, no revenue recognition rules, no payroll or overhead costs. What it computes is arithmetic on the numbers you logged, for your own steering.
- It does not draft or send invoices, and it does not chase clients. It can tell you which invoice to chase.
- It does not track the office's costs or hours. Earned here means fee times progress, not effort spent.
- Additional services are logged as their own fee lines when you state them; whether something is an additional service is a contract question it does not decide.
- One project per file. Office-wide roll-ups are a different view this file feeds, not one it contains.
What you need before starting. The contracted fee and its phase breakdown, from the agreement, cited. After that: progress statements, invoices, and payments as they happen.
Files it puts on your disk
.claude/skills/fee-tracker/2 files · 6.1 KBSKILL.md5.3 KB
- assets/1
fee-tracker-template.md790 B