{
  "markdown": "# tally-erp\n\n**Author:** Piyush Garg — Software Engineer | Tech Content Creator & YouTuber\n\nConnect with me:\n- Website: [piyushgarg.dev](https://www.piyushgarg.dev/)\n- GitHub: [piyushgarg-dev](https://github.com/piyushgarg-dev)\n- LinkedIn: [piyushgarg195](https://www.linkedin.com/in/piyushgarg195/)\n- X/Twitter: [@piyushgarg_dev](https://x.com/piyushgarg_dev)\n- Instagram: [@piyushgarg.official](https://www.instagram.com/piyushgarg.official/)\n- Email: [piyushgarg.dev@gmail.com](mailto:piyushgarg.dev@gmail.com)\n\nA [Claude Code](https://claude.com/claude-code) skill that gives Claude read-only access to a running **TallyPrime** instance over its built-in XML/HTTP gateway.\n\nAsk Claude things like:\n\n> *\"Show me the Day Book for last month.\"*\n> *\"What's the closing balance on Customer ABC's ledger?\"*\n> *\"List all stock items under the Electronics group.\"*\n> *\"Pull the trial balance for FY2025–26.\"*\n\nClaude calls a bundled Go CLI (`tally`) which constructs the right XML envelope, talks to TallyPrime over HTTP, and returns the response. You don't write XML, Claude doesn't hallucinate URLs.\n\n## Status\n\nRead-only. Queries Tally; never writes, alters, or cancels anything.\n\n## Prerequisites\n\n1. **TallyPrime** running on Windows.\n2. A company **loaded** in TallyPrime.\n3. **HTTP gateway enabled** — in TallyPrime: `F1 → Settings → Connectivity → Client/Server configuration → TallyPrime acts as Server`, default port `9000`.\n4. Reachable at `http://<host>:9000` from where Claude Code runs.\n\n## Install\n\n### As a Claude Code plugin (recommended)\n\nAdd this repo as a marketplace and install the plugin:\n\n```text\n/plugin marketplace add piyushgarg-dev/tally-erp-skill\n/plugin install tally-erp@tally-erp\n```\n\nThe plugin's `bin/` directory is added to `PATH` automatically while the plugin is enabled, so the CLI is available as `tally-windows-amd64.exe` in any session.\n\n### Local development / testing\n\nClone and load directly with `--plugin-dir`:\n\n```bash\ngit clone https://github.com/piyushgarg-dev/tally-erp-skill\nclaude --plugin-dir ./tally-erp-skill\n```\n\nRun `/reload-plugins` to pick up edits without restarting.\n\n### Standalone CLI use\n\nThe CLI binary works without Claude too:\n\n```bash\n./bin/tally-windows-amd64.exe ping\n./bin/tally-windows-amd64.exe companies --pretty\n./bin/tally-windows-amd64.exe report --company \"ABC\" --id \"Trial Balance\" --from 2026-04-01 --to 2026-04-30 --pretty\n```\n\n## What you can query\n\n**Reports:** Day Book, Trial Balance, Profit & Loss, Balance Sheet, Ledger statement, Ledger/Group Outstandings, Bills Receivable/Payable, Sales/Purchase Register, Cash Flow, Funds Flow, Stock Summary, Godown Summary, Movement Analysis.\n\n**Collections (lists):** Companies, Groups, Ledgers, Stock Items, Stock Groups, Cost Centres, Godowns, Units, Voucher Types, Currencies, Budgets.\n\n**Single objects:** any Ledger, Group, Stock Item, Voucher, Cost Centre, Godown, Unit, Currency, or Voucher Type by name.\n\n**Custom XML:** anything Tally accepts via its XML gateway, via `tally raw` or the templates in `templates/`.\n\n## CLI reference (short)\n\n```\ntally ping                                    # connectivity check\ntally companies                               # list loaded companies\ntally object --subtype Ledger --id \"Customer ABC\" --fetch Name,ClosingBalance\ntally collection --id \"List of Ledgers\"\ntally collection --id \"List of Ledgers\" --parent \"Sundry Debtors\" --fields Name,ClosingBalance\ntally report --id \"Day Book\" --from 2026-04-01 --to 2026-04-30\ntally report --id \"Day Book\" --from 2026-04-01 --to 2026-04-30 --voucher-type Sales\ntally template --name reports/day_book --from 2026-04-01 --to 2026-04-30\ntally raw --file my-request.xml\n```\n\nGlobal flags (any subcommand): `--scheme` (default `http`, use `https` for TLS), `--host`, `--port`, `--company`, `--timeout`, `--pretty`.\n\nCollection filtering flags: `--parent`, `--fields`, `--filter`.\nReport filtering flags: `--voucher-type`, `--filter`.\n\nFull reference: see [skills/tally-erp/SKILL.md](./skills/tally-erp/SKILL.md).\n\n## Repository layout\n\n```\ntally-skill/\n├── .claude-plugin/\n│   ├── plugin.json          # Plugin manifest\n│   └── marketplace.json     # Self-hosted marketplace manifest\n├── skills/\n│   └── tally/\n│       └── SKILL.md         # Skill instructions for Claude\n├── bin/                     # Auto-added to PATH when plugin enabled\n│   └── tally-windows-amd64.exe\n├── cmd/tally/               # CLI entrypoint (Go)\n├── internal/\n│   ├── tally/               # XML envelope builders, HTTP client, status parsing\n│   └── cli/                 # Subcommand implementations\n├── templates/               # ~33 reusable XML request envelopes with {{PLACEHOLDERS}}\n├── README.md                # Human-facing\n├── go.mod\n└── Makefile                 # `make build` / `make build-all` / `make test`\n```\n\n## Build from source\n\nRequires Go 1.26+.\n\n```bash\nmake test          # run all tests\nmake build         # local dev build (bin/tally)\nmake build-all     # cross-compile windows release (bin/tally-windows-amd64.exe)\nmake checksums     # SHA-256 of release binaries\n```\n\nNo external dependencies — standard library only.\n\n## Exit codes\n\n| Code | Meaning |\n|---|---|\n| 0 | Success |\n| 1 | Tally returned `<STATUS>0</STATUS>` (envelope on stdout, reason on stderr) |\n| 2 | Tally unreachable |\n| 3 | Bad CLI args |\n| 4 | HTTP timeout |\n| 5 | Response not valid XML |\n\n## Why a Go CLI instead of letting Claude POST XML directly?\n\n- **Token efficiency** — Claude doesn't waste context constructing repetitive XML envelopes.\n- **Reliability** — escaping, status parsing, and date formatting are deterministic.\n- **Reusability** — the binary works without Claude too (scripts, cron, ad-hoc CLI use).\n\n## License\n\nMIT — see frontmatter in `SKILL.md`.\n\n",
  "bytes": 5755,
  "sha": "efc2159b15ee60d2a02e98fb50865f76c98b0bf1b9c73f8ab045ac301b94c90b",
  "repo_slug": "piyushgarg-dev/tally-erp-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_piyushgarg_dev_tally_erp_skill_tally_erp_2c6786c3/readme"
}