bookkeeping-record · git:20261029.7f379ee · 2026-10-29 · sha256 8d56999ee2dfc785
bookkeeping-record git:20261029.7f379eeA
Immutable. This exact content never changes and is served at /api/v1/blob/8d56999ee2dfc785.
---
name: bookkeeping-record
description: Capture a period's financial transactions into a dated log with amount, counterparty, payment method and source document, flagging missing receipts and unusual items. Use when the user has receipts, invoices or bank lines for a month or quarter and wants them logged in one place. Not for starting a period-end double-entry close; see /accounting-analyze.
metadata:
argument-hint: "[project] [--skip-checks]"
workflow: bookkeeping
phase: 1
artifact: 01-record.md
---
# Record
Capture and log all financial transactions for "$ARGUMENTS". Document each transaction with date, amount, parties, description, and source document reference.
**Arguments.** `$ARGUMENTS` may contain the project name and optional flags. Take the first token as `<project>` and treat `--skip-checks` as a flag; never include flags in file paths. All paths below use `<project>`. If `--skip-checks` is present, skip the prerequisite check and, **before writing any artifact**, append one line to `.singularskills/log.jsonl`: `{"ts":"<ISO timestamp>","skill":"bookkeeping-record","workflow":"bookkeeping","phase":1,"project":"<project>","event":"skipped","artifact":"01-record.md","note":"<reason or \"none given\">"}`.
**Compute with code.** Perform every calculation (totals, balances, ratios, variances, projections) with a script — Bash, Python or a spreadsheet formula written to a file — and include the computation alongside the result. Never do arithmetic mentally.
## Prerequisites
Before you start work, append this line to `.singularskills/log.jsonl` (create the folder and file if missing): `{"ts":"<ISO timestamp>","skill":"bookkeeping-record","workflow":"bookkeeping","phase":1,"project":"<project>","event":"started","artifact":"01-record.md","note":""}`.
None — this is the first phase.
## Process
1. **Identify transaction sources:**
- What accounts are active? (bank, credit card, cash, digital payments)
- What period are we recording? (month, quarter, year)
- What source documents are available? (receipts, invoices, bank feeds, contracts)
2. **Capture each transaction:**
- **Date** — when the transaction occurred
- **Amount** — exact figure with currency
- **Direction** — inflow (revenue, loan) or outflow (expense, payment)
- **Counterparty** — who paid or was paid
- **Description** — what the transaction was for
- **Source** — receipt number, invoice ID, or bank reference
- **Payment method** — bank transfer, card, cash, etc.
3. **Organize the transaction log:**
- Sort chronologically
- Flag any transactions missing source documents
- Note any unusual or large transactions for review
- Identify recurring transactions (subscriptions, rent, payroll)
4. **Write the artifact** to `.singularskills/bookkeeping/<project>/01-record.md` with sections:
- **Period** — date range covered
- **Transaction Log** — table of all transactions
- **Missing Documents** — transactions without source references
- **Flags** — unusual items requiring review
## Output
The transaction log written to `.singularskills/bookkeeping/<project>/01-record.md`. Present a summary highlighting:
- Total transactions recorded
- Total inflows and outflows
- Any missing documents or flagged items
**Record the run.** After you have written the artifact, append this line to `.singularskills/log.jsonl` (the `started` line of Prerequisites, with `"event":"finished"`): `{"ts":"<ISO timestamp>","skill":"bookkeeping-record","workflow":"bookkeeping","phase":1,"project":"<project>","event":"finished","artifact":"01-record.md","note":""}`.
Open the artifact with this frontmatter (`agent` is the agent you run in, or `unknown`; `gate` is `none`, as this phase has no gate):
```yaml
---
skill: bookkeeping-record
workflow: bookkeeping
phase: 1
project: <project>
started: <ISO timestamp>
finished: <ISO timestamp>
agent: <the agent you run in, or "unknown">
gate: none
---
```
End the artifact with `## Decisions` and `## Open questions`, in this shape:
```markdown
## Decisions
- <what was chosen> — <why> — <what was rejected>
## Open questions
- <what the next phase or a reviewer must settle>
```
End the artifact with this paragraph, verbatim:
> **Not financial or tax advice.** This artifact is generated analysis for review by a qualified accountant or financial professional before any filing, reporting or decision relies on it.