receipt-accounting – Marketing & SEO skill for AI agents
Receipt register: payer, mode, gross amount received, invoice allocation, unapplied amount and TDS collected. Use for receipt and sales-income accounting.
Install the receipt-accounting 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/receipt-accounting-66c76.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /receipt-accounting – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/receipt-accounting-66c76.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $receipt-accounting – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/receipt-accounting-66c76.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /receipt-accounting – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/receipt-accounting-66c76.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /receipt-accounting – then describe the task you want done.
SKILL.md content
Receipt Accounting
What it is: Money received, allocated to the right account, and reconciled to cash or bank.
Overview
Works out the smallest useful Receipt Accounting 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 3: Record. Fits: Starter stage. Table code: n/a.
The rule this table exists to enforce: a receipt is not sales income. Money can
arrive as collection of an existing receivable, as an advance from a customer, as a loan
received, or as capital contribution. Each of those lands in a different ledger, and none automatically creates income on receipt under accrual accounting; a sale receipt may settle revenue already recognized. This is why Receipt Type and Treats as Sale Income are fields and
not conventions, and why Amount Allocated and Unapplied Amount are both captured - the
difference between the gross received and the part that clears an invoice stays visible
instead of quietly inflating revenue.
When to Use This Skill
- receipt register
- receipt voucher book
- money received log
- collections tracker
- bank receipt reconciliation sheet
Also use it when the user says "money received, allocated to the right account, and reconciled to cash or bank", or describes the same process happening in a
spreadsheet, a document or someone inboxes.
Do not use it for: raising sales invoices, making payments, tax filing, or legal advice. This skill produces
empty templates only - real employee or customer data is not required to generate templates.
How It Works
Follow these local instructions; no shared execution runtime is bundled. 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: How do you record money received today?
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.
- Receipts - How many in a month? / Cash, bank, cheque or digital? / Any part-payments?
- Allocation - Allocated to invoices? / Advances or loans mixed in? / Who allocates it?
- Evidence - Receipt voucher or bank advice? / Issued to the customer? / Filed where?
- Reconciliation - Bank reconciled how often? / Cash counted? / Differences handled how?
- Outcome - What do you need? / A receipts register, a reconciliation view 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: receipt-accounting
intent: null # setup | advice | review | fix | build | convert | export
scale: null # Starter | Growth | Scale, only if the answer changes it
areas:
"Receipts": null
"Allocation": null
"Evidence": null
"Reconciliation": 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 receipt record carrying the mode, the gross received, the receipt type, the invoice it clears and the unapplied balance, and determine income recognition from the confirmed accounting policy and underlying transaction, not the receipt label.
Why this one: The trap on this table is that money in gets treated as revenue out. Forcing the type and the allocation before the entry closes is what keeps an advance or a loan out of the sales book.
Workflow: Money received → Mode and source recorded → Typed as collection, advance, loan or capital → Allocated to an invoice or held unapplied → Reconciled to bank or cash
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.
Receipt Number,Receipt Date,Received From,Receipt Mode,Cash/Bank Account,Reference (Cheque/UTR/ID),Gross Amount Received,Receipt Type,Treats as Sale Income,Sales Invoice Allocated,Amount Allocated,Unapplied Amount,Adjust Against,Withholding or Collection Tax (Confirmed Treatment),Voucher Number,Ledger Account,Source Document,Reconciliation Status,Prepared By,Verified By,Entry Verified,Notes,Receipt ID
RCP-2026-0312,2026-08-19,Greyson Foods,Bank,HDFC Current ****0042,UTR-2026-0819,140000.00,Receivable Collection,No,SAL-2026-0033,130712.40,9287.60,Customer Advance - Greyson Foods,1307.12,VCH-2026-1027,Bank - HDFC Current,DOC-2026-0461,Unreconciled,Ananya Rao,Sneha Iyer,In progress,"Part collected against INV-2026-0733; Tax amount 1307.12 is an illustrative unresolved classification; do not post until the accountant confirms payer withholding versus seller collection; balance held as advance, not income.",CREATE TABLE receipt_accounting (
receipt_number VARCHAR(255),
receipt_date DATE NOT NULL,
received_from VARCHAR(255),
receipt_mode VARCHAR(100) NOT NULL,
cash_bank_account VARCHAR(255),
reference_cheque_utr_id VARCHAR(255),
gross_amount_received NUMERIC(14,2) NOT NULL,
receipt_type VARCHAR(100) NOT NULL,
treats_as_sale_income VARCHAR(100) NOT NULL,
sales_invoice_allocated VARCHAR(255), -- relation -> target record
amount_allocated NUMERIC(14,2) NOT NULL,
unapplied_amount NUMERIC(14,2) NOT NULL,
adjust_against VARCHAR(255),
withholding_or_collection_tax_confirmed_treatment NUMERIC(14,2) NOT NULL,
voucher_number VARCHAR(255),
ledger_account VARCHAR(255),
source_document VARCHAR(255), -- relation -> target record
reconciliation_status VARCHAR(100) NOT NULL,
prepared_by VARCHAR(255),
verified_by VARCHAR(255),
entry_verified VARCHAR(100) NOT NULL,
notes TEXT,
receipt_id SERIAL PRIMARY KEY,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Receipt Accounting",
"type": "object",
"additionalProperties": false,
"properties": {
"Receipt Number": { "type": "string" },
"Receipt Date": { "type": "string", "format": "date" },
"Received From": { "type": "string" },
"Receipt Mode": { "type": "string" },
"Cash/Bank Account": { "type": "string" },
"Reference (Cheque/UTR/ID)": { "type": "string" },
"Gross Amount Received": { "type": "number" },
"Receipt Type": { "type": "string" },
"Treats as Sale Income": { "type": "string" },
"Sales Invoice Allocated": { "type": "string" },
"Amount Allocated": { "type": "number" },
"Unapplied Amount": { "type": "number" },
"Adjust Against": { "type": "string" },
"Withholding or Collection Tax (Confirmed Treatment)": { "type": "number" },
"Voucher Number": { "type": "string" },
"Ledger Account": … (full content is in the download package)
Related skills
- referral-program – You are an expert in viral growth and referral marketing using only referral data and…
- reports-analytics – Report register: type, source modules, owner, audience, frequency, last and next run and…
- revops – Design and improve revenue operations, lead lifecycle rules, scoring, routing, handoffs…
- riffkit – Create short videos with Riffkit: Adapt a source formula, Swap approved footage, or…
- saas-mvp-launcher – Use when planning or building a SaaS MVP from scratch. Provides a structured roadmap…
- saas-pricing-strategist – Design, optimize, and test pricing strategies for SaaS products using data-driven…
- sales-accounting – Sales register: customer, invoice, gross amount, discount, VAT and TDS, net receivable…
- sales-automator – Draft cold emails, follow-ups, and proposal templates. Creates pricing pages, case…