petty-cash-management – Other skill for AI agents
Petty cash register: entry number, date and type, payee and purpose, cash in and out, running balance, cash limit flag, custodian, physical count and variance. Use for petty cash.
Install the petty-cash-management skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/petty-cash-management-e8be5.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /petty-cash-management – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/petty-cash-management-e8be5.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $petty-cash-management – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/petty-cash-management-e8be5.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /petty-cash-management – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/petty-cash-management-e8be5.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /petty-cash-management – then describe the task you want done.
SKILL.md content
Petty Cash Management
What it is: Imprest cash, every movement supported, and the physical count reconciled to the register.
Overview
Works out the smallest useful Petty Cash Management setup for the business in front of it, then
builds it only when asked. The default output is a short recommendation, not a
spreadsheet. Artifacts - CSV, SQL DDL, JSON Schema, Notion mapping - are produced on
request, from one field list so they cannot drift apart.
Layer: Layer 4: Cash. Fits: Starter stage. Table code: n/a.
The control this table exists to enforce: two core petty-cash controls are
a fixed limit and a periodic count. The limit is on the float, not on each payment, and
every payment carries a supporting document and a voucher. The reconciliation identity is
fixed and is checked at every count:
Opening Cash + Receipts and Replenishment - Payments = Closing CashThe physical count must equal closing cash. Any difference is recorded as a variance, an
investigation and a status, not absorbed quietly.
The identity is computed on a Count entry row, not on a payment row: Cash In and
Cash Out remain zero on the non-posting count row; derive the period's replenishment and payments from movement rows, Running Cash Balance is the
closing balance per the register, and Physical Count is the money actually in the box.
When to Use This Skill
- petty cash register
- imprest cash book
- small cash payments log
- cash box count sheet
- petty cash replenishment tracker
Also use it when the user says "imprest cash, every movement supported, and the physical count reconciled to the register", or describes the same process happening in a
spreadsheet, a document or someone inboxes.
Do not use it for: payroll calculation, tax filing, or legal advice. This skill produces
empty templates only - it never holds or processes real employee or customer data.
How It Works
Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
Step 1 - Identify intent
Read the request and pick the intent before asking anything.
- "set up" or "build" or "create" -> the user wants artifacts; go to Step 2.
- "our process is ..." or "it is in a sheet" -> the user wants to move an existing process; capture it, then Step 2.
- "is this right" or "review" or "audit" -> the user wants a check, not a build; answer from what they share.
- "how do I ..." -> advice question; answer directly and offer the build only if it helps.
Ask only if this is the highest-value missing fact; otherwise proceed without an opener:
> Q: Who holds your petty cash today, and is there a limit on it?
Step 2 - Ask only what is missing
Treat ambiguous replies as unanswered and ask which explicit option the user means. Record unknown values as Unknown; Unknown is not zero. A record must not be Done when a required check fails.
Skip anything the user already answered, in any earlier message. Ask the rest one at a
time, and stop as soon as the remaining answers would not change the output.
- Limit - Float amount agreed? / Reset by replenishment or topped up? / Can it go over?
- Custodian - One named person? / Approver separate from holder? / Left on holiday?
- Payments and counting - What gets paid from it? / Voucher raised each time? /
Supporting document? / How often counted? / Who counts - custodian or someone else? /
Last difference?
- Current process - Register today? / Envelope, box or ledger? / What goes missing?
- Outcome - What do you need? / A register, a count sheet or both?
Never invent an answer. If the user does not know, record it as unknown and carry on.
Step 3 - Hold the internal context
Hold the answers in this shape. It stays internal - it is not shown to the user unless
they ask, and it never carries a value the user did not give.
module: petty-cash-management
intent: null # setup | advice | review | fix | build | convert | export
scale: null # Starter | Growth | Scale, only if the answer changes it
areas:
"Limit": null
"Custodian": null
"Payments and counting": null
"Current process": null
"Outcome": null
requested_outputs: [] # csv | sql | json | notion | xlsx - requested formats only
confirmed_facts: [] # only what the user actually said
open_questions: [] # the unanswered ones, in the order worth askingStep 4 - Recommend the smallest workflow
Build an already requested artifact without asking again. For advice-only requests, give a short recommendation and offer the relevant artifact.
Recommended approach: One imprest register with a named custodian, a fixed float, a running balance on every entry, a supporting document type on every payment, and a count line that closes the register against the physical money.
Why this one: A petty cash float leaks slowly and is only ever caught by counting it. The register without the count is a diary; the count without the register is an argument.
Workflow: Voucher and document checked and approved → Payment made → Running balance updated → Replenishment raised separately → Physical count → Variance recorded and investigated
Step 5 - Build only on request
Once the user asks for it, derive the fields from the confirmed context and emit the
requested artifacts. For machine-readable text, keep prose outside the data; for files,
provide a usable link. Report material validation failures or limitations separately.
**A selected Notion output is rendered by notion-manual-import, so route the
Notion step there.** When the user selects Notion, hand that step to
@notion-manual-import: it holds the CSV, the property
mapping, the import steps and the verification checklist, and it renders the Field
Reference below instead of defining a table of its own. Do not restate the mapping
here and do not improvise the import steps. Manual CSV and mapping outputs need no
connection. For requested workspace changes, follow the shared contract: verify actual
tool access and the target before writing. A user saying "connected" is not tool evidence.
Never ask for a Notion password or token.
Entry Number,Entry Date,Entry Type,Payee,Purpose,Cash Out,Cash In,Running Cash Balance,Cash Limit,Within Limit,Custodian,Supporting Document,Document Reference,Voucher Number,Approved By,Physical Count Date,Physical Count,Count Variance,Variance Status,Investigation Notes,Ledger Account,Entry Verified,Notes,Petty Cash ID
PC-2026-0188,2026-08-31,Count,Several payees,Courier and postage paid from the float during August,0.00,0.00,2250.00,10000.00,Yes,Rohit Menon,Bill/Invoice,BILL-4471,VCH-2026-1044,Ananya Rao,2026-08-31,2100.00,150.00,Short,Count 150.00 short of the register; a courier bill of that amount may have been entered but not paid. Under investigation with the approver.,Petty Cash,In progress,Count sheet CNT-2026-08-31 signed by custodian and approver; replenishment drawn from bank on 01 Aug.,CREATE TABLE petty_cash_management (
entry_number VARCHAR(255),
entry_date DATE NOT NULL,
entry_type VARCHAR(100) NOT NULL,
payee VARCHAR(255),
purpose VARCHAR(255),
cash_out NUMERIC(14,2) NOT NULL,
cash_in NUMERIC(14,2) NOT NULL,
running_cash_balance NUMERIC(14,2) NOT NULL,
cash_limit NUMERIC(14,2) NOT NULL,
within_limit VARCHAR(100) NOT NULL,
custodian VARCHAR(255),
supporting_document VARCHAR(100) NOT NULL,
document_reference VARCHAR(255),
voucher_number VARCHAR(255),
approved_by VARCHAR(255),
physical_count_date DATE,
physical_count NUMERIC(14,2),
count_variance NUMERIC(14,2),
variance_status VARCHAR(100) NOT NULL,
investigation_notes TEXT,
ledger_account VARCHAR(255),
entry_verified VARCHAR(100) NOT NULL,
notes TEXT,
petty_cash_id SERIAL PRIMARY KEY,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Petty Cash Management",
"type": "object",
"additionalProperties": false,
"properties": {
"Entry Number": { "type": "string" },
"Entry Date": { "type": "string", "format": "date" },
"Entry Type": { "type": "string" },
"Payee": { "type": "string" },
"Purpose": { "type": "string" },
"Cash Out": { "type": "number" },
"Cash In": { "type": "number" },
"Running Cash Balance": { "type": "number" },
"Cash Limit": { "type": "number" },
"Within Limit": { "type": "string" },
"Custodian": { "type": "string" },
"Supporting Document": { "type": "string" },
"Document Reference": { "type": "string" },
"Voucher Number": { "type": "string" },
"Approved By": { "type": "string" },
"Physical Count Date": { "type": "string", "format": "date" },
"Physical Count": { "type": "number" },
"Count Variance": { "type": "number" },
"Variance Status"… (full content is in the download package)
Related skills
- photopea-embedded-editor – Embed Photopea in web apps using photopea.js. Covers embedding, file I/O, scripting…
- pitch-psychologist – Structure pitches, decks, and talk tracks around audience beliefs, proof, and a clear…
- plan-ledger-tasks-yylo – Create a concise Product Development Requirement and one or more implementation-sized…
- planetscale – Operate MySQL-compatible databases on PlanetScale with branching workflows, safe…
- planning-and-task-breakdown – Breaks work into ordered tasks. Use when you have a spec or clear requirements and need…
- podman – Manage containers using Podman, the daemonless container engine.
- policy-acknowledgement – Policy acknowledgement register: employee, policy and version, sent and due dates…
- posix-shell-pro – Expert in strict POSIX sh scripting for maximum portability across Unix-like systems…