← Back to Skills Marketplace
purvik6062

Ca Skill

by purvik6062 · GitHub ↗ · v1.0.6 · MIT-0
cross-platform ⚠ suspicious
231
Downloads
0
Stars
1
Active Installs
7
Versions
Install in OpenClaw
/install ca-skill
Description
Full-service CA skill for TallyPrime running locally. Read accounting reports (day book, trial balance, P&L, balance sheet, outstandings, GST) and post or up...
README (SKILL.md)

\r \r

TallyPrime (CA) Skill\r

\r Connect to a locally running TallyPrime instance via its XML-over-HTTP interface. All requests are HTTP POST to $TALLY_URL (commonly http://localhost:9000) with an XML body.\r \r

  • No cloud API: TallyPrime must be open/running on the user’s machine.\r
  • Multi-company: Always use the correct SVCURRENTCOMPANY (exact spelling).\r \r

Hero Use Case: WhatsApp invoice → Tally entry\r

\r Goal: zero manual entry for CAs handling many clients.\r \r

  1. Read bill/invoice (PDF/image) and extract: company, party, GSTIN, date, invoice no, taxable, tax, total, ledger mapping.\r
  2. Ensure masters exist: party ledger, purchase/sales ledger, GST ledger(s), bank/cash ledger (if needed).\r
  3. Post voucher with a unique GUID.\r
  4. Confirm a summary back to the user.\r \r

When to use this skill\r

\r Use when the user asks to:\r \r

  • Post entries: purchase, sales, receipt, payment, journal, contra, credit note, debit note\r
  • Check reports: day book, trial balance, balance sheet, profit & loss, ledger statement, outstandings, GST\r
  • Manage masters: create/alter ledgers, groups, stock items/UOM (inventory clients)\r
  • Fix data: alter or cancel a voucher\r \r

Critical rules (must follow)\r

\r

  1. Never assume company: if not explicit, ask which company to use before posting.\r
  2. Never guess ledgers: verify ledgers exist before voucher import; create missing masters first.\r
  3. Dates are YYYYMMDD (no separators).\r
  4. Idempotency: always set a stable unique GUID per voucher to prevent duplicates on retries.\r
  5. Balance vouchers: total debits must equal total credits (Tally error: “Voucher totals do not match!”).\r
  6. Escape XML: narration/party names may contain & → use & in XML.\r
  7. Posting is write operation: confirm intent (and company) before any create/alter/cancel.\r
  8. Prefer bill-wise allocations for party ledgers to keep outstandings correct (see reference/vouchers.md).\r
  9. Accounting-only vouchers (no inventory items): set \x3CISINVOICE>No\x3C/ISINVOICE> and place the party ledger entry first in the ALLLEDGERENTRIES.LIST sequence. This makes the Day Book "Particulars" column show the party name (not the expense/purchase ledger) and defaults the voucher to the clean "As Voucher" view. Only use ISINVOICE=Yes for item invoices that go through reference/inventory.md.\r
  10. Accounting Invoice Mode — always use LEDGERENTRIES.LIST: when OBJVIEW="Invoice Voucher View" is set (Modes 1 and 2 in reference/vouchers.md), every ledger block must use \x3CLEDGERENTRIES.LIST>, not \x3CALLLEDGERENTRIES.LIST>. Tally silently ignores ALLLEDGERENTRIES in this view, causing the voucher to be saved with no entries and the error "No accounting or inventory entries are available."\r
  11. Voucher class decision — confirm before posting: before posting any Purchase or Sales voucher, check whether the company's voucher type uses a class for GST splitting. Run the preflight checklist in the "Preflight checklist before posting" section below. If class mode is confirmed, set \x3CCLASSNAME>EXACT_CLASS_NAME\x3C/CLASSNAME> in the voucher header and include all four GST header fields (CMPGSTIN, PARTYGSTIN, GSTREGISTRATIONTYPE, PLACEOFSUPPLY). If class existence is unconfirmed, stop and ask — do not post without it. Full decision rules and templates are in the "Voucher class — decision rules" section of reference/vouchers.md.\r \r

Preflight checklist before posting\r

\r Run through every item before sending any Create/Alter/Delete request. Stop at the first unresolved item and ask the user.\r \r | # | Check | How to verify | Block if… |\r |---|---|---|---|\r | 1 | Company confirmed | User stated it explicitly | Name not given — ask |\r | 2 | Server reachable | curl -s --max-time 5 "$TALLY_URL" | No response / wrong port |\r | 3 | Voucher type uses a class? | Export voucher type masters or ask user | Unknown — ask before posting |\r | 4 | Class name confirmed (if class mode) | List voucher type via masters export; match exact class name in Tally | Class not found — ask, never guess |\r | 5 | Party ledger exists | Ledger existence check (reference/masters.md) | Missing — create first |\r | 6 | Purchase/Sales/GST ledgers exist | Same as above | Missing — create first |\r | 7 | GST header fields available (if class mode) | CMPGSTIN, PARTYGSTIN, GSTREGISTRATIONTYPE, PLACEOFSUPPLY | Any missing — ask user |\r | 8 | Voucher totals balance | Sum all AMOUNT values = 0 | Mismatch — fix before posting |\r \r

Step 0: Check TallyPrime server\r

\r

curl -s --max-time 5 "$TALLY_URL"\r
```\r
\r
Expected (example):\r
\r
```xml\r
\x3CRESPONSE>TallyPrime Server is Running\x3C/RESPONSE>\r
```\r
\r
If not running, stop and ask user to open TallyPrime and enable integrations for the port.\r
\r
## Step 1: Company context\r
\r
If the user did not specify company, ask. If they did, use **exact** name in `SVCURRENTCOMPANY`.\r
\r
To list companies, use the template in `reference/reports.md` (“Company list”).\r
\r
## Step 2: Verify/create required ledgers (masters)\r
\r
Ledger existence checks and master creation templates are in `reference/masters.md` (includes ledgers, groups, GST/address fields, and party ledger creation with required field prompts).\r
\r
**New company?** Run the "New Company Setup — Standard GST Ledgers" block in `reference/masters.md` first. It creates the seven minimum ledgers every GST-registered company needs:\r
\r
| # | Ledger | Type |\r
|---|---|---|\r
| 1 | `Input Sgst @ 9 %` | Input GST |\r
| 2 | `Input Cgst @ 9 %` | Input GST |\r
| 3 | `Input IGST @ 18 %` | Input GST |\r
| 4 | `Purchase @ 18 %` | Purchase ledger |\r
| 5 | `Round Off` | Rounding |\r
| 6 | `Output Sgst @ 9 %` | Output GST |\r
| 7 | `Output Cgst @ 9 %` | Output GST |\r
\r
Quick group defaults (common CA mapping):\r
\r
| Ledger type | Parent group |\r
|---|---|\r
| Customer | `Sundry Debtors` |\r
| Vendor | `Sundry Creditors` |\r
| Sales | `Sales Accounts` |\r
| Purchases/Expenses | `Purchase Accounts` / `Direct Expenses` / `Indirect Expenses` |\r
| Bank | `Bank Accounts` |\r
| Cash | `Cash-in-Hand` |\r
| GST | `Duties & Taxes` |\r
\r
## Step 3: Post vouchers (core)\r
\r
Use `REPORTNAME=Vouchers` and always include `GUID`, `DATE`, and `VOUCHERTYPENAME`. Full templates (including bill-wise allocations, returns, contra) are in `reference/vouchers.md`.\r
\r
Supported voucher types in this skill:\r
\r
- Purchase, Sales, Payment, Receipt, Journal\r
- Credit Note, Debit Note\r
- Contra\r
- Voucher Alteration + Cancellation\r
\r
## Read reports (core)\r
\r
Use `TALLYREQUEST=Export` / `REPORTNAME=...` with `SVEXPORTFORMAT=$$SysName:XML`. Full templates are in `reference/reports.md`.\r
\r
Common CA reports:\r
\r
- Day Book (period)\r
- Trial Balance (period)\r
- Balance Sheet\r
- Profit and Loss\r
- Ledger Vouchers (ledger statement)\r
- Bills Receivable / Bills Payable (outstandings)\r
- Ledger Outstandings / Group Outstandings\r
- GST: GSTR-1 and related summaries (plus GSTR-3B where available)\r
- Stock Summary (inventory clients)\r
\r
## Suggested GUID pattern\r
\r
Use a deterministic pattern when invoice number exists:\r
\r
```\r
{companyShort}-{voucherType}-{voucherNumber}-{date}\r
```\r
\r
Examples:\r
\r
- `abc-purchase-ril2026-00123-20260115`\r
- `abc-creditnote-cn09-20260302`\r
\r
## Multi-company CA workflow (recommended)\r
\r
1. Capture company name early (and confirm spelling).\r
2. Validate connectivity.\r
3. Fetch required ledgers/masters or create them.\r
4. Only then post the voucher.\r
5. Reply with: company, voucher type, voucher number, date, amount breakdown, and whether any masters were created.\r
\r
## Advanced reference\r
\r
- Reports and data export: `reference/reports.md`\r
- Voucher templates (including Debit/Credit Note, Contra, bill-wise allocations, alter/cancel): `reference/vouchers.md`\r
- Masters (ledgers/groups + GST/address, alteration): `reference/masters.md`\r
- Inventory (stock groups/items/UOM, item invoices): `reference/inventory.md`\r
- Error handling and troubleshooting: `reference/errors.md`\r
Usage Guidance
This skill is largely coherent for controlling a local TallyPrime instance, but before installing you should: 1) Confirm the manifest mismatch: SKILL.md requires TALLY_URL and curl while the registry summary claims none — ask the publisher to reconcile the package metadata. 2) Verify that TALLY_URL points to a local, trusted Tally instance (e.g., http://localhost:9000) and not an external host. 3) Decide where invoice OCR/ML will run — because the skill has no code, the agent may call external OCR services by default; if you need all processing kept local, require/localize the OCR step. 4) Test on a non-production/company copy first and use the preflight checklist (company confirmation, reachable server, ledger existence, GUID/idempotency) before allowing any create/alter/delete operations. 5) Monitor agent activity/logs for any unexpected outbound network requests or attempts to use credentials/files not documented in SKILL.md.
Capability Analysis
Type: OpenClaw Skill Name: ca-skill Version: 1.0.6 The skill bundle is a legitimate tool designed for Chartered Accountants to automate data entry and report extraction from a locally running TallyPrime instance. It uses standard XML-over-HTTP requests via curl to interact with the Tally API (typically at http://localhost:9000). The instructions in SKILL.md and the reference files emphasize safety, requiring the agent to verify company names, check for existing masters, and confirm user intent before performing any write operations (create, alter, or cancel). No indicators of data exfiltration, malicious execution, or unauthorized persistence were found.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
SKILL.md describes a local TallyPrime XML-over-HTTP integration and the required artifact (TALLY_URL) and use of curl are appropriate for that purpose. However, the registry summary above lists no required env vars/binaries while the SKILL.md frontmatter and metadata declare TALLY_URL and curl; this mismatch between manifest and runtime instructions is inconsistent and should be corrected by the publisher.
Instruction Scope
The instructions stay squarely within Tally access (exporting reports, creating masters/vouchers via POST to $TALLY_URL) and include many safe preflight rules (company confirmation, idempotent GUIDs, etc.). However the hero use case mentions extracting data from PDFs/images but the skill is instruction-only (no code) and provides no guidance on where OCR/vision runs; that gap gives the agent discretion to choose tools or external services for extraction, which can lead to unexpected data flows if not constrained.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing is written to disk by an installer. That is the lowest-risk install mechanism. Note: the SKILL.md metadata lists curl as a required binary (reasonable), but the registry summary earlier omitted that — another manifest inconsistency.
Credentials
The only declared runtime secret/credential is TALLY_URL (primaryEnv), which is proportional to a skill that must POST to a local Tally instance. TALLY_URL is typically a local URL (e.g., http://localhost:9000) rather than a sensitive cloud key. Still, verify that the URL is truly local/private before giving the skill permission to use it.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide persistence or access to other skills' configs. Model invocation is allowed (default), which is expected for skills; on its own this is not a red flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ca-skill
  3. After installation, invoke the skill by name or use /ca-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
ca-skill 1.0.6 - Added instructions for new company setup: now includes a required "Standard GST Ledgers" block for initializing mandatory ledgers (Input/Output GST, Purchase, Round Off) when creating a new GST-registered company. - Expanded master creation section to prompt for required fields and ensure all party ledger details are captured. - Improved clarity in the ledger verification/creation workflow and referenced new setup steps in SKILL.md. - No changes to interface or core voucher/report handling logic.
v1.0.5
**v1.0.5 highlights stricter preflight checks and voucher class handling for TallyPrime CA workflows.** - Added an explicit preflight checklist before posting create/alter/delete requests; now mandates confirmation and blocks unsafe actions. - Expanded voucher class logic: require confirmation of voucher class usage and name before posting; never guess or proceed if class existence is uncertain. - Clarified object view handling—now always use `<LEDGERENTRIES.LIST>` for Invoice Voucher View modes 1 and 2. - Updated documentation to emphasize when to prompt the user for missing or ambiguous company, class, or ledger information. - Minor improvements and clarifications throughout voucher posting instructions and CA workflow guidance.
v1.0.4
Version 1.0.4 - Added new critical rules for posting vouchers in Accounting Invoice mode, specifying the use of `<LEDGERENTRIES.LIST>` and required header fields when using voucher classes. - Updated documentation to clarify Tally's behavior when `OBJVIEW="Invoice Voucher View"` is set, and the necessity of `<CLASSNAME>` and GST fields for class-based vouchers. - Improved guidance for handling voucher posting, ensuring correct entry recognition and error prevention in TallyPrime.
v1.0.3
Version 1.0.3 - Updated voucher reference documentation in `reference/vouchers.md`. - No changes to core logic or functionality. - This update targets internal or advanced documentation only.
v1.0.2
ca-skill v1.0.2 - Updated documentation in SKILL.md to match version 1.0.2. - Improved and clarified reference documentation in errors.md and reports.md. - No functional or behavioral changes to core skill logic.
v1.0.1
ca-skill 1.0.1 - Added a rule and instruction: For accounting-only vouchers (no inventory items), set <ISINVOICE>No</ISINVOICE> and place the party ledger entry first to improve Day Book "Particulars" display and default view in TallyPrime. - Clarified that <ISINVOICE>Yes</ISINVOICE> is only for item invoices using the inventory template. - No functional change to API, only documentation update (SKILL.md). - Reference to relevant details in vouchers.md.
v1.0.0
- Major version release: introduces the full-featured CA skill for TallyPrime via local XML-over-HTTP interface. - Supports reading key accounting reports (day book, trial balance, P&L, balance sheet, outstandings, GST). - Enables posting or updating vouchers (purchase, sales, payment, receipt, journal, credit note, debit note, contra) directly to TallyPrime. - Focuses on automation for CAs, including invoice extraction, ledger validation/creation, and idempotent voucher posting. - Includes robust rules: company/ledger confirmation, date formatting, GUID-based idempotency, and pre/post validations. - Provides detailed usage steps, error handling, and advanced reference documentation for all supported operations.
Metadata
Slug ca-skill
Version 1.0.6
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 7
Frequently Asked Questions

What is Ca Skill?

Full-service CA skill for TallyPrime running locally. Read accounting reports (day book, trial balance, P&L, balance sheet, outstandings, GST) and post or up... It is an AI Agent Skill for Claude Code / OpenClaw, with 231 downloads so far.

How do I install Ca Skill?

Run "/install ca-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ca Skill free?

Yes, Ca Skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ca Skill support?

Ca Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ca Skill?

It is built and maintained by purvik6062 (@purvik6062); the current version is v1.0.6.

💬 Comments