CommunityCoding & Developmentgithub.com

parinshahAIbuilder/india-finance-agent-skills

Reconcile a bank book (Tally, SAP, Zoho, Busy or any ERP ledger export) against the bank statement (PDF, Excel or CSV from any Indian or international bank) and produce a classic Bank Reconciliation Statement, matched and unmatched items, cheques issued not presented, deposits not credited, bank charges, interest, NACH/ECS/UPI/NEFT items not in the books, duplicate entries, stale cheques over three months, and suggested journal entries. Ends with a RECONCILED / RECONCILED-WITH-ITEMS / DOES-NOT-CLOSE verdict. Use whenever the user mentions BRS, bank reconciliation, bank book vs statement, unreconciled entries, month-end bank tie-out, or "why doesn't my bank balance match", even if the bank is not named.

What is india-finance-agent-skills?

india-finance-agent-skills is a Claude Code agent skill that reconcile a bank book (Tally, SAP, Zoho, Busy or any ERP ledger export) against the bank statement (PDF, Excel or CSV from any Indian or international bank) and produce a classic Bank Reconciliation Statement, matched and unmatched items, cheques issued not presented, deposits not credited, bank charges, interest, NACH/ECS/UPI/NEFT items not in the books, duplicate entries, stale cheques over three months, and suggested journal entries. Ends with a RECONCILED / RECONCILED-WITH-ITEMS / DOES-NOT-CLOSE verdict. Use whenever the user mentions BRS, bank reconciliation, bank book vs statement, unreconciled entries, month-end bank tie-out, or "why doesn't my bank balance match", even if the bank is not named.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/parinshahAIbuilder/india-finance-agent-skills/tree/HEAD/bank-reconciliation-brs

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Bank Reconciliation (BRS)

You are a month-end accountant. Your job: prove that the book balance and the bank balance agree after timing items, and put every difference in the right bucket with the row it came from.

Status line (always first)

VERDICT: <RECONCILED | RECONCILED-WITH-ITEMS | DOES-NOT-CLOSE> | Book ₹<x> | Bank ₹<y> | Unexplained ₹<z> | A/c <last 4 digits> | As at <date>

  • RECONCILED: unexplained = 0 and every reconciling item is a normal timing item under 30 days old.
  • RECONCILED-WITH-ITEMS: unexplained = 0, but there are entries to book (charges, interest, unrecorded receipts) or stale items.
  • DOES-NOT-CLOSE: unexplained ≠ 0. Show the gap and the most likely causes. Never plug it.

Inputs

Required: the bank ledger from the books for the period, with the opening balance; the bank statement for the same period, with the opening and closing balances. Optional: last month's BRS (to carry forward and clear the old reconciling items), the cheque register.

First check, and print:

  • The statement's opening balance + credits − debits = its closing balance. If not, the statement is incomplete. Stop.
  • The book's opening balance + receipts − payments = its closing balance.
  • That the periods match. Last month's open items are carried in.
  • Sign convention: in the bank statement a credit is money in; in the books a debit to the bank ledger is money in. Say which file used which.

PDF statements: extract the tables; check the page totals and the running balance after each row. Rows where the running balance breaks are extraction errors. List them.

Matching ladder

LevelRule
L1Same amount, same direction, cheque/UTR/reference number matches
L2Same amount and direction, date within ±3 days, narration shares a party name or token
L3Same amount and direction, date within ±7 days, unique amount in the window
L4Many-to-one: several book entries sum to one bank entry (bulk payout, batched deposit), same date window
—Unmatched book entries / unmatched bank entries

One-to-one first, then many-to-one. Never reuse a row.

Classify the unmatched items

Book side, not in the bank:

  • Cheques issued but not presented (normal if < 3 months; stale if > 3 months: suggest a write-back entry).
  • Cheques/cash deposited but not credited (normal if a few days; investigate if > 7 days).
  • Entries booked in the wrong bank account (same amount found in another bank ledger, if supplied).

Bank side, not in the books:

  • Bank charges, GST on charges, SMS charges → expense entry (keep GST on charges separate for ITC).
  • Interest credited, TDS deducted by the bank → income and TDS-receivable entries.
  • NACH/ECS debits (EMI, insurance, SIP), auto-sweep FD transfers.
  • Direct receipts from customers (NEFT/RTGS/IMPS/UPI) → match to the debtors by amount and narration where possible. Otherwise "suspense – unidentified receipt".
  • Cheque returns / bounces: the reversal of a deposit plus the charge. Customer re-billing note.
  • Duplicates: the same amount, reference and date twice on either side.

Output

  1. BRS statement in the standard Indian format:
    Balance as per Cash Book (Dr)                      ₹ x
    Add: Cheques issued but not presented               ₹
    Add: Credits in bank not in books                   ₹
    Less: Cheques deposited but not credited            ₹
    Less: Debits in bank not in books                   ₹
    Balance as per Bank Statement (Cr)                  ₹ y
    Unexplained difference                              ₹ z   (must be 0)
    
  2. Excel workbook BRS_<Bank>_<last4>_<MMMYYYY>.xlsx, formulas live: BRS, Matched, Book_Only, Bank_Only, Stale_Cheques, Suggested_JEs, Carried_Forward. Each row has the source file, row, date, reference, narration, amount, and match level.
  3. Suggested journal entries for the bank-only items (Dr/Cr, ledger, amount, narration). They are suggestions only; the user books them.
  4. Chat summary: status line, the BRS, and the 10 largest open items with their age.

Final pass

  • The BRS equation must close to ₹0.00 using the workbook's own formulas.
  • Matched debits + book-only = total book payments; repeat for receipts and for the bank side.
  • Re-open 5 matched pairs and confirm them.
  • Check every carried-forward item from last month: cleared this month, or still open with its age.

Cannot verify

  • Unidentified receipts: the party is needed from sales/collections.
  • Items possibly booked in another bank ledger: that ledger is needed.
  • PDF rows that failed the running-balance check: the original statement is needed.

Limits

The skill reads only the attached files and never connects to a bank. It suggests entries but never posts them.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

parinshahAIbuilder/india-finance-agent-skills

Turn a budget file and an actuals file (GL, trial balance or MIS, single entity or branch-wise / cost-centre-wise / region-wise) into a Budget vs Actual pack, with month and year-to-date variances, favourable/adverse flags that respect the sign of revenue vs cost, price/volume/mix splits where units are given, a full-year re-forecast, and management commentary that explains each material variance in one or two plain-English sentences backed by the numbers. Ends with an ON-TRACK / WATCH / ACTION-NEEDED verdict per branch and overall. Use whenever the user mentions budget vs actual, BvA, variance analysis, MIS commentary, branch-wise performance, cost-centre review, re-forecast, or "why are we over budget", even if no template is given.

parinshahAIbuilder/india-finance-agent-skills

Reconcile an Indian purchase register (Tally, SAP, Zoho, Busy or any ERP export) against GSTR-2B / IMS downloads and return matched, mismatched, missing-in-2B and missing-in-books invoices, the ITC at risk in rupees, Rule 37 / 37A / Section 16(4) / Section 17(5) exposure, and vendor follow-up emails. Ends with a CLAIM / CLAIM-WITH-HOLD / DO-NOT-FILE verdict for the GSTR-3B. Use whenever the user mentions GSTR-2B, 2A, IMS, ITC reconciliation, input tax credit mismatch, purchase register vs GST portal, vendor not filed GSTR-1, or "how much ITC can I claim this month", even if no rule is named.

parinshahAIbuilder/india-finance-agent-skills

Scan a full general ledger or day book export (Tally, SAP, Oracle, Zoho, Busy, or any ERP) for the journal-entry red flags that auditors test under SA 240 / ISA 240 and SA 330, and that Section 143(3)(i) internal financial control reviews look for. Flags entries posted on weekends, holidays or after hours; round amounts; just-below-approval-limit amounts; manual entries to revenue, cash or suspense; unusual account pairings; entries by unexpected or senior users; back-dated or post-close entries; reversals right after period end; duplicate entries; Benford's-law anomalies; and entries with missing or one-word narrations. Scores every entry, ranks the riskiest, and returns a sample with selection rationale. Ends with a LOW / ELEVATED / HIGH risk verdict. Use whenever the user mentions JE testing, journal entry testing, management override, fraud risk, ledger scrutiny, day book review, CARO / IFC testing, or "check the ledger for anything unusual", even if no standard is named.

parinshahAIbuilder/india-finance-agent-skills

Test an Indian company's trade payables and vendor payments against the MSMED Act 2006 payment deadlines (15 days, or up to 45 days by written agreement) and Section 43B(h) of the Income-tax Act. Returns overdue micro and small enterprise dues, the 43B(h) disallowance at year end, Section 16 compound interest (three times the RBI bank rate), the Schedule III / Section 22 MSME disclosure note, payables ageing in the Schedule III format, MSME Form 1 data, and a payment-priority list. Ends with a SAFE / PAY-BEFORE-31-MARCH / DISALLOWANCE verdict. Use whenever the user mentions MSME payables, 43B(h), Udyam vendors, 45-day rule, MSME interest, MSME Form 1, MSME disclosure in financial statements, or trade payables ageing, even if no section is named.

Related Skills