jaz-clio 5.72.0 → 5.73.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -27
- package/assets/skills/api/SKILL.md +1 -1
- package/assets/skills/api/references/endpoints.md +47 -1
- package/assets/skills/api/references/full-api-surface.md +1 -1
- package/assets/skills/cli/SKILL.md +3 -3
- package/assets/skills/cli/references/command-catalog.md +20 -10
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/jaz-kit/SKILL.md +1 -1
- package/assets/skills/jaz-pseudo-sql/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +1 -1
- package/assets/skills/jobs/references/gst-vat-filing.md +1 -0
- package/assets/skills/transaction-recipes/SKILL.md +1 -1
- package/assets/templates/platform-rules/jaz-agent-rules.md +3 -3
- package/cli.mjs +526 -526
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://www.npmjs.com/package/jaz-clio"><img src="https://img.shields.io/npm/v/jaz-clio?style=for-the-badge&logo=npm" alt="npm"></a>
|
|
5
5
|
<a href="https://www.npmjs.com/package/jaz-clio"><img src="https://img.shields.io/npm/dm/jaz-clio?style=for-the-badge&label=downloads" alt="npm downloads"></a>
|
|
6
|
-
<img src="https://img.shields.io/badge/tools-
|
|
6
|
+
<img src="https://img.shields.io/badge/tools-381-blue?style=for-the-badge" alt="381 tools">
|
|
7
7
|
<a href="https://github.com/teamtinvio/jaz-ai/blob/main/LICENSE"><img src="https://img.shields.io/github/license/teamtinvio/jaz-ai?style=for-the-badge&color=green" alt="License"></a>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center"><b>Jaz accounting on the command line, and inside any AI agent.</b></p>
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
381 tools · 76 command groups · 7 skills · 13 calculators · 12 close playbooks · 159 field-tested API rules.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
npm install -g jaz-clio
|
|
@@ -20,11 +20,11 @@ Node.js 18+. Works with [Jaz](https://jaz.ai) and [Juan Accounting](https://juan
|
|
|
20
20
|
## Contents
|
|
21
21
|
|
|
22
22
|
- [Three ways in](#three-ways-in)
|
|
23
|
+
- [Auth](#auth)
|
|
23
24
|
- [CLI](#cli)
|
|
24
25
|
- [MCP server](#mcp-server)
|
|
25
26
|
- [Skills](#skills)
|
|
26
27
|
- [Jaz Kit · run your practice](#jaz-kit--run-your-practice)
|
|
27
|
-
- [Auth](#auth)
|
|
28
28
|
- [Semantic help-center search](#semantic-help-center-search-optional)
|
|
29
29
|
- [Privacy](#privacy) · [Support](#support) · [License](#license)
|
|
30
30
|
|
|
@@ -38,6 +38,19 @@ Node.js 18+. Works with [Jaz](https://jaz.ai) and [Juan Accounting](https://juan
|
|
|
38
38
|
|
|
39
39
|
On top of these, one layer for accountants closing real books across many companies: **[Jaz Kit](#jaz-kit--run-your-practice)**.
|
|
40
40
|
|
|
41
|
+
## Auth
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
clio auth login # sign in to Jaz in your browser (OAuth, the default)
|
|
45
|
+
clio auth whoami # verify
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`clio auth login` opens Jaz sign-in. The CLI and local MCP share the session and refresh its tokens automatically. Add `--no-browser` to open the printed link yourself on the same computer. Agents can use `--json`: the sign-in link goes to stderr, and stdout carries only the result and the organization choices.
|
|
49
|
+
|
|
50
|
+
Use `clio auth organizations --json` to list accessible organizations, `clio auth select <resourceId>` to select one, and `--org oauth:<resourceId>` on every organization-scoped command to pin it. `clio auth logout` removes the local session and keeps any API-key profiles; revoke the grant in Jaz to remove remote access.
|
|
51
|
+
|
|
52
|
+
API-key profiles, `--api-key`, `JAZ_API_KEY`, and PATs remain supported. Use `--org oauth:<resourceId>` for OAuth or `--org <label>` for a saved key profile (`clio auth add <key>`); either overrides an inherited `JAZ_API_KEY`. Without `--org`, the environment key still takes precedence. Do not combine `--api-key` with `--org`. Do not share OAuth storage or commit it to a workspace. Every command takes `--json` for structured output.
|
|
53
|
+
|
|
41
54
|
## CLI
|
|
42
55
|
|
|
43
56
|
```bash
|
|
@@ -49,9 +62,25 @@ clio jobs month-end --period 2026-03 # step-by-step close play
|
|
|
49
62
|
clio magic create --file receipt.pdf # AI extracts, drafts the transaction
|
|
50
63
|
clio invoices search --query 'status:unpaid AND $500+' # structured per-entity search
|
|
51
64
|
clio ledger-find-fix preview --level TRANSACTIONS --input recode.json # find & fix (recode) across record types
|
|
65
|
+
clio approvals approve <resourceId> --entity invoices # approve a document waiting on you
|
|
66
|
+
clio sql preview "SELECT invoice_number, balance FROM invoices WHERE balance > 0 LIMIT 10" # read-only pseudo-SQL
|
|
67
|
+
clio report-templates list # the organization's saved report layouts
|
|
68
|
+
clio modules list # which features are switched on
|
|
69
|
+
clio navigate reports.profit-and-loss # deep link into the Jaz dashboard (offline)
|
|
52
70
|
```
|
|
53
71
|
|
|
54
|
-
|
|
72
|
+
76 command groups, 17 report types, 13 calculators, 12 job playbooks. Every command takes `--json`. Run `clio --help` for the full list.
|
|
73
|
+
|
|
74
|
+
Command groups by area:
|
|
75
|
+
|
|
76
|
+
- **Sales and purchases**: `invoices`, `bills`, `customer-credit-notes`, `supplier-credit-notes`, `sale-orders`, `purchase-orders`, `payments`, `unapplied-payments`, `approvals`, `drafts`, `schedulers`, `subscriptions`
|
|
77
|
+
- **Ledger and banking**: `journals`, `cash-in`, `cash-out`, `cash-transfer`, `cashflow`, `bank`, `bank-rules`, `reconciliations` (`recon`), `ledger-find-fix`, `quick-fix`, `fixed-assets` (`fa`)
|
|
78
|
+
- **Master data**: `accounts`, `contacts`, `contact-groups`, `items`, `purchase-items`, `catalogs`, `inventory` (`inv`), `tags`, `custom-fields`, `nano-classifiers`, `tax-profiles`, `currencies`, `currency-rates`, `capsules`, `capsule-recipes`
|
|
79
|
+
- **Claims**: `claims`, `claim-types`, `claim-profiles`, `posting-rules`, `employees`
|
|
80
|
+
- **Reports and data**: `reports`, `exports`, `export-records`, `report-templates`, `pseudo-sql` (`sql`), `filing-submissions`, `background-jobs`
|
|
81
|
+
- **Organization**: `org`, `org-users`, `references`, `modules` (`features`), `bookmarks`, `attachments`, `magic`, `jots`, `navigate` (`nav`), `help-center` (`hc`)
|
|
82
|
+
- **Offline**: `calc`, `capsule-transaction` (`ct`), `jobs`
|
|
83
|
+
- **Setup and tooling**: `auth`, `init`, `update`, `versions`, `version`, `health`, `completion`, `context`, `schema`, `resolve`, `mcp`, `mcp-call`, `serve`
|
|
55
84
|
|
|
56
85
|
### Foreign currency
|
|
57
86
|
|
|
@@ -78,16 +107,16 @@ that ends up in a journal.
|
|
|
78
107
|
|
|
79
108
|
## MCP server
|
|
80
109
|
|
|
81
|
-
|
|
110
|
+
381 tools for any AI agent that speaks MCP. Runs locally: no cloud, no ports.
|
|
82
111
|
|
|
83
112
|
> **No install at all?** Claude.ai, ChatGPT, Cowork, and Microsoft Copilot Studio can use Jaz through the hosted connector. Add `https://mcp.jaz.ai/mcp` as a custom connector and sign in with OAuth, no key. The local setup below is for terminal use, scripting, and editors that run MCP servers as local processes.
|
|
84
113
|
|
|
85
|
-
Run `clio auth login` once on this computer before enabling local MCP.
|
|
114
|
+
Run `clio auth login` once on this computer before enabling local MCP, then pin the organization with `--org` (`clio auth organizations` lists the IDs).
|
|
86
115
|
|
|
87
116
|
**Claude Code**
|
|
88
117
|
|
|
89
118
|
```bash
|
|
90
|
-
claude mcp add jaz -- npx jaz-clio mcp
|
|
119
|
+
claude mcp add jaz -- npx -y jaz-clio@latest mcp --org oauth:<resourceId>
|
|
91
120
|
```
|
|
92
121
|
|
|
93
122
|
**Cursor · VS Code · Windsurf**
|
|
@@ -97,13 +126,13 @@ claude mcp add jaz -- npx jaz-clio mcp
|
|
|
97
126
|
"mcpServers": {
|
|
98
127
|
"jaz": {
|
|
99
128
|
"command": "npx",
|
|
100
|
-
"args": ["-y", "jaz-clio", "mcp"]
|
|
129
|
+
"args": ["-y", "jaz-clio@latest", "mcp", "--org", "oauth:<resourceId>"]
|
|
101
130
|
}
|
|
102
131
|
}
|
|
103
132
|
}
|
|
104
133
|
```
|
|
105
134
|
|
|
106
|
-
OAuth can reach the organizations granted at sign-in; name the organization on each call. Optional key-based access also supports comma-separated keys or a personal access token.
|
|
135
|
+
OAuth can reach the organizations granted at sign-in; `--org` pins one, and without it name the organization on each call. Optional key-based access also supports comma-separated keys or a personal access token.
|
|
107
136
|
|
|
108
137
|
```json
|
|
109
138
|
{ "env": { "JAZ_API_KEY": "jk-org1-key,jk-org2-key" } }
|
|
@@ -128,7 +157,7 @@ The workspace layer for closing real books, whether that is one company or fifty
|
|
|
128
157
|
A close is not one conversation. Month-end runs many steps over several days, and an accountant serving eight clients runs it eight times, with eight different sets of bank accounts, materiality thresholds, and recurring entries. Jaz Kit gives each company a folder that remembers all of it, so no session re-asks what it should already know.
|
|
129
158
|
|
|
130
159
|
```
|
|
131
|
-
/jk-setup create a company workspace, connect
|
|
160
|
+
/jk-setup create a company workspace, connect it with OAuth
|
|
132
161
|
/jk-open acme load its context, verify the connection
|
|
133
162
|
/jk-close 2026-06 run the close, resumable across sessions
|
|
134
163
|
/jk-review approve the drafts waiting on you
|
|
@@ -142,15 +171,6 @@ Each company lives under `~/Documents/Jaz Kit/orgs/<company>/`, holding its clos
|
|
|
142
171
|
|
|
143
172
|
Everything is drafted first, every record carries a link into Jaz for you to review, and an interrupted close resumes exactly where it stopped. Multi-company work needs this CLI, which you already have. Full guide in the [repository README](https://github.com/teamtinvio/jaz-ai#jaz-kit--run-your-practice).
|
|
144
173
|
|
|
145
|
-
## Auth
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
clio auth login # Sign in to Jaz in your browser
|
|
149
|
-
clio auth whoami # verify
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
Pin an OAuth organization with `--org oauth:<resourceId>`. For optional API-key access, set `JAZ_API_KEY` or register a key using `clio auth add` and pass `--org <label>`. Every command takes `--json` for structured output.
|
|
153
|
-
|
|
154
174
|
## Semantic help-center search (optional)
|
|
155
175
|
|
|
156
176
|
`search_help_center` runs keyword search over the bundled help-center corpus by default. Set `CLIO_HELP_CENTER_OPENAI_API_KEY` to add semantic search, which matches on intent rather than exact keywords: the CLI embeds only your query through the OpenAI embeddings API (`text-embedding-3-small`, the model the bundled index was built with) and merges both rankings. On an auth failure it warns once and falls back to keyword search. Use a project-scoped key restricted to embedding models with a low monthly cap. CLI only: MCPB installs ship without the embedding index and always use keyword search.
|
|
@@ -166,11 +186,3 @@ Runs on your machine. Calls go to the Jaz API over HTTPS. No telemetry, no data
|
|
|
166
186
|
## License
|
|
167
187
|
|
|
168
188
|
[MIT](LICENSE)
|
|
169
|
-
|
|
170
|
-
## OAuth sign-in (default)
|
|
171
|
-
|
|
172
|
-
Run `clio auth login` to open Jaz sign-in. CLI and local MCP share the session and refresh tokens automatically. Add `--no-browser` to open the printed link yourself on the same computer. Agents can use `--json`; the sign-in link is printed to stderr, and stdout contains only the result and organization choices.
|
|
173
|
-
|
|
174
|
-
Use `clio auth organizations --json` to list accessible organizations, `clio auth select <resourceId>` to select one, and `--org oauth:<resourceId>` on every organization-scoped command to pin it. `clio auth logout` removes the local session without deleting API-key profiles; revoke its grant in Jaz to remove remote access.
|
|
175
|
-
|
|
176
|
-
API-key profiles, `--api-key`, `JAZ_API_KEY`, and PATs remain supported. Use `--org oauth:<resourceId>` for OAuth or `--org <label>` for a saved key profile; either overrides an inherited `JAZ_API_KEY`. Without `--org`, the environment key still takes precedence. Do not combine `--api-key` with `--org`. Do not share OAuth storage or commit it to a workspace.
|
|
@@ -251,6 +251,28 @@ Name must be unique (422 if duplicate). Agent tools auto-guard with search-befor
|
|
|
251
251
|
|
|
252
252
|
Key filters: `appliesToSale`, `appliesToPurchase`, `appliesToSaleCreditNote`, `appliesToPurchaseCreditNote` (all BooleanExpression). Use to avoid picking a sales-only profile for a bill.
|
|
253
253
|
|
|
254
|
+
### POST /api/v1/filing-submissions/search
|
|
255
|
+
|
|
256
|
+
Tax return filings (PH BIR forms such as 2550Q, SG GST F5): period, due date, tax payable, lifecycle and payment status. Read only. Tool: `search_filing_submissions`; CLI: `clio filing-submissions search`.
|
|
257
|
+
|
|
258
|
+
```json
|
|
259
|
+
// Request:
|
|
260
|
+
{
|
|
261
|
+
"filter": {
|
|
262
|
+
"formType": { "eq": "2550Q" },
|
|
263
|
+
"periodYear": { "eq": 2026 },
|
|
264
|
+
"lifecycleStatus": { "in": ["READY_TO_FILE", "SENT_TO_CLIENT"] }
|
|
265
|
+
},
|
|
266
|
+
"sort": { "sortBy": ["filingDueDate"], "order": "ASC" },
|
|
267
|
+
"limit": 100, "offset": 0
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
- Filter fields: `resourceId`, `organizationResourceId`, `formType`, `displayFilingGroupings`, `periodStartDate`, `periodEndDate`, `filingDueDate`, `periodType`, `periodYear`, `periodValue` (month 1-12 or quarter 1-4), `lifecycleStatus`, `paymentStatus`, `taxDueAmount`, `taxForm.categoryCode`, `taxType.categoryCode`, plus `and` / `or` / `andGroup` / `orGroup`. The filter decodes strictly: any other key is a 400.
|
|
272
|
+
- Sort fields: `resourceId`, `createdAt`, `updatedAt`, `formType`, `periodType`, `periodYear`, `periodValue`, `periodStartDate`, `periodEndDate`, `filingDueDate`, `lifecycleStatus`, `taxDueAmount`. Default `createdAt` DESC. Sort is required when `offset` is set.
|
|
273
|
+
- `limit` 1-1000, default 100. `offset` is treated as a 0-indexed PAGE number, the platform norm. Row vs page is NOT measured here: the orgs probed held 0 and 1 filings, and the handler passes `offset` through unchanged, which both page and row endpoints also do.
|
|
274
|
+
- Rows carry `taxForm { formType, formName, categoryCode, ... }`, `periodType`, `periodYear`, `periodStartDate`, `periodEndDate`, `filingDueDate`, `taxDueAmount` (a decimal STRING, e.g. `"-659.11"`), `lifecycleStatus`, `paymentStatus`, `filingMode`.
|
|
275
|
+
|
|
254
276
|
### PUT /api/v1/cash-in-entries/:parentEntityResourceId
|
|
255
277
|
|
|
256
278
|
```json
|
|
@@ -262,6 +284,8 @@ Key filters: `appliesToSale`, `appliesToPurchase`, `appliesToSaleCreditNote`, `a
|
|
|
262
284
|
|
|
263
285
|
Same pattern for `PUT /cash-out-entries/:id`. URL uses `parentEntityResourceId` (from CREATE response). `accountEntryResourceId` is optional — API auto-populates from existing journal entry.
|
|
264
286
|
|
|
287
|
+
Measured 2026-09-24 (Global SG Demo): a reference-only PUT succeeds and keeps a taxed entry's tax. Any PUT carrying `internalNotes` returns **500**, on taxed and untaxed entries alike, and any PUT carrying `lines` on a taxed entry (or adding a tax profile to an untaxed one) returns **500**, with or without `saveAsDraft: false` / `taxInclusion`. A `lines` PUT on an untaxed entry succeeds. So a taxed cash entry's lines cannot currently be edited through the API: void it and create a new one.
|
|
288
|
+
|
|
265
289
|
---
|
|
266
290
|
|
|
267
291
|
## 4. Currencies
|
|
@@ -664,12 +688,29 @@ Bills and supplier credit notes support withholding tax per line item:
|
|
|
664
688
|
**CRITICAL corrections from live testing**:
|
|
665
689
|
- Each entry uses `amount` (number) + `type`: `"DEBIT"` or `"CREDIT"` (UPPERCASE strings)
|
|
666
690
|
- Do NOT use `debit`/`credit` as separate number fields — that is WRONG
|
|
667
|
-
-
|
|
691
|
+
- Top-level `currency: { sourceCurrency, exchangeRate? }` IS accepted: it makes a foreign-currency journal
|
|
692
|
+
whose amounts are in `sourceCurrency` (verified 2026-09-24: `{sourceCurrency: "USD", exchangeRate: 0.75}`
|
|
693
|
+
created a draft reading back `currencyExchange.sourceCurrencyCode: USD`, `baseToSourceRate: 0.75`).
|
|
694
|
+
- `PUT /journals/{id}` does NOT keep `taxVatApplicable` or `taxInclusion` when they are omitted:
|
|
695
|
+
`taxVatApplicable` falls to false, which strips every line's tax profile once lines are sent, and
|
|
696
|
+
`taxInclusion` is cleared. Measured 2026-09-24: an ACTIVE taxed journal edited with its own lines and a
|
|
697
|
+
note came back with no tax profile and VAT 0 (HTTP 200). Always restate both from a GET of the journal.
|
|
698
|
+
The Clio tools and CLI do this for you (`update_journal`, `bulk_update_journals`, `clio journals update`,
|
|
699
|
+
`clio journals draft finalize`).
|
|
668
700
|
- Total DEBIT amounts MUST equal total CREDIT amounts
|
|
669
701
|
- `contactResourceId` is a TOP-LEVEL field, NOT per entry. Probed 2026-09-02: an entry-level
|
|
670
702
|
`contactResourceId` is silently discarded (an int there is accepted like any unknown key, while an
|
|
671
703
|
int on `description` or `taxProfileResourceId` returns 400), and a real contact id on an entry does
|
|
672
704
|
not appear on the created journal. Put it at the top level, where it does land.
|
|
705
|
+
- Per-line `exchangeRate` (optional, number): the rate from the LINE's account currency to the
|
|
706
|
+
organization's base currency. This is the OPPOSITE direction to the journal's `currency.exchangeRate`
|
|
707
|
+
(base to source). Only a line posting to an account held in another currency takes one:
|
|
708
|
+
`exchangeRate: 0` is a 422, and a rate other than exactly 1 on a base-currency line is a 422. Honoured
|
|
709
|
+
by `POST /journals`, `POST /transfer-trial-balance` and `POST /reconciliations/manual-journal` (the
|
|
710
|
+
reconcile path applies it as sent and skips the base-currency check). `PUT /journals/{id}` validates it
|
|
711
|
+
but does not apply it, so an update cannot change a line's rate. Send the top-level `exchangeRate`
|
|
712
|
+
only: a nested line `currency: { exchangeRate }` spelling is accepted upstream but unpublished, and
|
|
713
|
+
sending both with different values is a 422.
|
|
673
714
|
|
|
674
715
|
---
|
|
675
716
|
|
|
@@ -1398,6 +1439,10 @@ Same but with `"bill"` wrapper instead of `"invoice"`.
|
|
|
1398
1439
|
- Since `saveAsDraft: false`, every line item MUST have `accountResourceId`.
|
|
1399
1440
|
- Response uses `interval` field (not `repeat`): `{ "status": "ACTIVE", "interval": "MONTHLY", ... }`
|
|
1400
1441
|
|
|
1442
|
+
**`PUT /scheduled/journals/{id}`** (measured 2026-09-24):
|
|
1443
|
+
- Every update must send `startDate` (422 `INVALID_VALUE_OF_START_DATE` otherwise) and the full `schedulerEntries` (422 `JOURNAL_SCHEDULER_ENTRIES_MISSING_ERROR` otherwise), even for a status or reference change.
|
|
1444
|
+
- `taxVatApplicable` and `taxInclusion` RESET when omitted. A taxed, tax-inclusive schedule updated with its own entries and no flags stored tax off, inclusion off, VAT 0; the same update with both flags kept its VAT. `GET /scheduled/journals/{id}` returns neither flag (nor line tax profiles), so the stored values cannot be read back: state both on every update of a taxed schedule. `update_scheduled_journal` sends `taxVatApplicable: true` when an entry carries a tax profile and refuses without `taxInclusion`.
|
|
1445
|
+
|
|
1401
1446
|
---
|
|
1402
1447
|
|
|
1403
1448
|
## 16b. Subscriptions (Recurring Invoices with Auto-Proration)
|
|
@@ -2222,6 +2267,7 @@ Create opening balance entries for an organization. Used during onboarding to tr
|
|
|
2222
2267
|
- Reference is auto-generated — do not include `reference` in the request body
|
|
2223
2268
|
- Uses `journalEntries` (NOT `lines`) — same as regular journals
|
|
2224
2269
|
- Debit/credit must balance (same as regular journals)
|
|
2270
|
+
- Per-line `exchangeRate` works as on `POST /journals` (line account currency to base, foreign-currency account lines only)
|
|
2225
2271
|
- Creates a non-editable transfer journal visible in the general ledger
|
|
2226
2272
|
|
|
2227
2273
|
---
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> **The endpoints clio wraps — the REST surface is larger.** This file catalogues roughly 200
|
|
4
4
|
> paths, organized by resource, including undocumented endpoints, magic AI features, admin
|
|
5
5
|
> APIs, and advanced search/filter syntax. The committed OpenAPI spec (`spec/openapi.yaml`)
|
|
6
|
-
> carries
|
|
6
|
+
> carries 466 spec paths and 594 spec operations and is the authoritative list; check it before concluding
|
|
7
7
|
> an endpoint does not exist. For request/response examples of core endpoints, see
|
|
8
8
|
> endpoints.md.
|
|
9
9
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-cli
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.73.1
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill when running Clio CLI commands, building shell scripts with
|
|
6
6
|
Clio, debugging auth issues, understanding --json output, paginating results,
|
|
@@ -8,7 +8,7 @@ description: >-
|
|
|
8
8
|
precedence, output formats, entity resolution, and common workflow patterns.
|
|
9
9
|
Also use when the user asks how to use clio, what commands are available, or
|
|
10
10
|
how to automate accounting tasks from the command line. Covers all
|
|
11
|
-
|
|
11
|
+
76 command groups and 381 tools, including employee-expense claims.
|
|
12
12
|
license: MIT
|
|
13
13
|
compatibility: Requires Node.js >= 18.0.0. Install via npm install -g jaz-clio.
|
|
14
14
|
---
|
|
@@ -17,7 +17,7 @@ compatibility: Requires Node.js >= 18.0.0. Install via npm install -g jaz-clio.
|
|
|
17
17
|
|
|
18
18
|
> **Audience note:** for power users and CI/automation. Load this skill only when you're scripting from a terminal, building shell pipelines, or debugging from `clio --json` output. For day-to-day accounting inside Claude Desktop / Cowork, the MCP tools cover the common flows without dropping to the CLI.
|
|
19
19
|
|
|
20
|
-
You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting platform.
|
|
20
|
+
You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting platform. 76 command groups, 13 calculators, 12 job blueprints, 381 tools. Also fully compatible with Juan Accounting (same API, same endpoints).
|
|
21
21
|
|
|
22
22
|
## When to Use This Skill
|
|
23
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Clio Command Catalog
|
|
2
2
|
|
|
3
|
-
Complete reference for all
|
|
3
|
+
Complete reference for all 76 command groups. Organized by domain.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
12
12
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
13
13
|
| `get <id>` | `--json` |
|
|
14
14
|
| `search` | `--reference`, `--contact-name`, `--status`, `--from`, `--to`, `--tag`, `--sort`, `--order` |
|
|
15
|
-
| `create` | `--contact`, `--date`, `--due`, `--ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
15
|
+
| `create` | `--contact`, `--date`, `--due`, `--ref` or `--auto-ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
16
16
|
| `update <id>` | `--date`, `--due`, `--ref`, `--lines`, `--input` |
|
|
17
17
|
| `delete <id>` | |
|
|
18
18
|
| `pay <id>` | `--amount`, `--transaction-amount`, `--account`, `--method`, `--ref`, `--date` |
|
|
@@ -29,7 +29,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
29
29
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
30
30
|
| `get <id>` | `--json` |
|
|
31
31
|
| `search` | `--reference`, `--contact-name`, `--status`, `--from`, `--to`, `--tag`, `--sort`, `--order` |
|
|
32
|
-
| `create` | `--contact`, `--date`, `--due`, `--ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
32
|
+
| `create` | `--contact`, `--date`, `--due`, `--ref` or `--auto-ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
33
33
|
| `update <id>` | `--date`, `--due`, `--ref`, `--lines`, `--input` |
|
|
34
34
|
| `delete <id>` | |
|
|
35
35
|
| `pay <id>` | `--amount`, `--transaction-amount`, `--account`, `--method`, `--ref`, `--date` |
|
|
@@ -45,7 +45,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
45
45
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
46
46
|
| `get <id>` | `--json` |
|
|
47
47
|
| `search` | `--reference`, `--contact-name`, `--status`, `--from`, `--to`, `--tag`, `--sort`, `--order` |
|
|
48
|
-
| `create` | `--contact`, `--date`, `--ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
48
|
+
| `create` | `--contact`, `--date`, `--ref` or `--auto-ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
49
49
|
| `update <id>` | `--date`, `--ref`, `--lines`, `--input` |
|
|
50
50
|
| `delete <id>` | |
|
|
51
51
|
| `refund <id>` | `--amount`, `--account`, `--method`, `--ref`, `--date` |
|
|
@@ -60,7 +60,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
60
60
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
61
61
|
| `get <id>` | `--json` |
|
|
62
62
|
| `search` | `--reference`, `--contact-name`, `--status`, `--from`, `--to`, `--tag`, `--sort`, `--order` |
|
|
63
|
-
| `create` | `--contact`, `--date`, `--ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
63
|
+
| `create` | `--contact`, `--date`, `--ref` or `--auto-ref`, `--currency`, `--exchange-rate`, `--lines`, `--finalize`, `--input` |
|
|
64
64
|
| `update <id>` | `--date`, `--ref`, `--lines`, `--input` |
|
|
65
65
|
| `delete <id>` | |
|
|
66
66
|
| `refund <id>` | `--amount`, `--account`, `--method`, `--ref`, `--date` |
|
|
@@ -74,7 +74,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
74
74
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
75
75
|
| `get <id>` | `--json` |
|
|
76
76
|
| `search` | `--reference`, `--from`, `--to`, `--status`, `--tag`, `--type`, `--sort`, `--order` |
|
|
77
|
-
| `create` | `--date`, `--ref`, `--entries
|
|
77
|
+
| `create` | `--date`, `--ref` or `--auto-ref`, `--entries` (a line may carry `exchangeRate`: account currency to base), `--finalize`, `--input` |
|
|
78
78
|
| `update <id>` | `--date`, `--ref`, `--entries`, `--input` |
|
|
79
79
|
| `delete <id>` | |
|
|
80
80
|
| `transfer-trial-balance` (alias: `ttb`) | `--date`, `--entries`, `--input`, `--currency`, `--exchange-rate`, `--rate-direction` |
|
|
@@ -87,7 +87,7 @@ Complete reference for all 74 command groups. Organized by domain.
|
|
|
87
87
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
88
88
|
| `get <id>` | `--json` |
|
|
89
89
|
| `search` | `--ref`, `--from`, `--to`, `--status` |
|
|
90
|
-
| `create` | `--account`, `--date`, `--ref
|
|
90
|
+
| `create` | `--account`, `--date`, `--ref` (generated when omitted), `--entries`, `--input` |
|
|
91
91
|
| `update <id>` | `--date`, `--ref`, `--entries`, `--input` |
|
|
92
92
|
| `delete <id>` | |
|
|
93
93
|
|
|
@@ -100,7 +100,7 @@ Same subcommands and flags as `cash-in`.
|
|
|
100
100
|
| `list` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
101
101
|
| `get <id>` | `--json` |
|
|
102
102
|
| `search` | `--ref`, `--from`, `--to`, `--status` |
|
|
103
|
-
| `create` | `--from-account`, `--to-account`, `--amount`, `--date`, `--ref
|
|
103
|
+
| `create` | `--from-account`, `--to-account`, `--amount`, `--date`, `--ref` (generated when omitted), `--input` |
|
|
104
104
|
| `delete <id>` | |
|
|
105
105
|
|
|
106
106
|
### `clio payments` — Cashflow transactions (read-only)
|
|
@@ -196,6 +196,11 @@ Same subcommands and flags as `cash-in`.
|
|
|
196
196
|
| `types` | List available tax type codes |
|
|
197
197
|
| `wht-codes` | List withholding tax codes |
|
|
198
198
|
|
|
199
|
+
### `clio filing-submissions` — Tax return filings (read-only, 1 tool)
|
|
200
|
+
| Subcommand | Key flags |
|
|
201
|
+
|------------|-----------|
|
|
202
|
+
| `search` | `--form-type`, `--lifecycle-status`, `--period-year`, `--due-from`, `--due-to`, `--filter` (any other filing filter field, e.g. `{"periodType":{"eq":"QUARTERLY"}}`), `--sort`, `--order`, `--limit`, `--offset`, `--all` |
|
|
203
|
+
|
|
199
204
|
### `clio custom-fields` — Custom field definitions
|
|
200
205
|
| Subcommand | Key flags |
|
|
201
206
|
|------------|-----------|
|
|
@@ -495,7 +500,7 @@ All seven of `--item-code`, `--name`, `--unit`, `--costing-method`, `--cogs-acco
|
|
|
495
500
|
| `list-journals` | `--limit`, `--offset`, `--all`, `--format`, `--json` |
|
|
496
501
|
| `create-invoice` | `--contact`, `--reference`, `--repeat`, `--start-date`, `--line-items`, `--input` |
|
|
497
502
|
| `create-bill` | `--contact`, `--reference`, `--repeat`, `--start-date`, `--line-items`, `--input` |
|
|
498
|
-
| `create-journal` | `--reference
|
|
503
|
+
| `create-journal` | `--reference` (generated when omitted), `--repeat`, `--start-date`, `--entries`, `--input` |
|
|
499
504
|
|
|
500
505
|
Dynamic strings in schedulers: `{{Day}}`, `{{Date}}`, `{{Date+X}}`, `{{DateRange:X}}`, `{{Month}}`, `{{Month+X}}`, `{{MonthRange:X}}`, `{{Year}}`, `{{Year+X}}`
|
|
501
506
|
|
|
@@ -666,6 +671,11 @@ Batch create via `--input` file or stdin (`{ "entries": [...] }`, 1-100 per call
|
|
|
666
671
|
|------------|-----------|
|
|
667
672
|
| `info` | `--json` (shows name, ID, currency, country, lock date, fiscal year) |
|
|
668
673
|
|
|
674
|
+
### `clio references` — Document numbering series
|
|
675
|
+
| Subcommand | Key flags |
|
|
676
|
+
|------------|-----------|
|
|
677
|
+
| `next` | `--type` (SALE, SALE_CREDIT_NOTE, PURCHASE, PURCHASE_CREDIT_NOTE, FIXED_ASSET, JOURNAL_MANUAL, SALE_QUOTE, SALE_ORDER, PURCHASE_REQUEST, PURCHASE_ORDER, CLAIM), `--json`. Reading does not reserve the number; to number a create, pass the create command its own auto-ref flag |
|
|
678
|
+
|
|
669
679
|
### `clio org-users` — User management
|
|
670
680
|
| Subcommand | Key flags |
|
|
671
681
|
|------------|-----------|
|
|
@@ -722,7 +732,7 @@ Valid entity types: INVOICE, BILL, CUSTOMER_CREDIT_NOTE, SUPPLIER_CREDIT_NOTE, S
|
|
|
722
732
|
Universal async tracker — any operation returning a jobId (contacts bulk-upsert, items bulk-upsert, bank import, magic processing) can be polled here.
|
|
723
733
|
|
|
724
734
|
### `clio mcp` — MCP stdio server
|
|
725
|
-
Starts an MCP server for Claude Code / AI tool integration. Exposes all
|
|
735
|
+
Starts an MCP server for Claude Code / AI tool integration. Exposes all 381 operations.
|
|
726
736
|
|
|
727
737
|
### `clio serve` — HTTP daemon
|
|
728
738
|
Starts the HTTP daemon for ChatKit and email channel integrations.
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- **`quick_fix_line_items(entity: 'invoices' | 'bills', lineItemResourceIds, attributes)`** — step 5 corrections: re-assign the tax profile on the affected lines if errors are found. The tax profile sits on each line, so the fix is at line level.
|
|
13
13
|
- **`download_export(exportType: 'analysis-exchange-rate-audit', startDate, endDate)`** — step 6 pre-filing check: FX rates outside expected band can shift GST on FX invoices.
|
|
14
14
|
- **`generate_trial_balance(endDate: <period-end>)`** — step 7 GST account reconciliation: `GST Control` / `Input Tax Recoverable` / `Output Tax Payable` accounts.
|
|
15
|
+
- **`search_filing_submissions(periodYear: <year>, sortBy: 'filingDueDate', sortOrder: 'ASC')`**: the filings already on record for the organization (PH BIR forms such as 2550Q, and SG GST F5): period, due date, tax due, lifecycle and payment status. Use it before step 8 to see whether the quarter was already filed or is awaiting the client. Read only; add `formType: '2550Q'` to narrow. CLI: `clio filing-submissions search --period-year <year>`.
|
|
15
16
|
|
|
16
17
|
### Cross-references
|
|
17
18
|
- Org inputs this job needs (confirm with the user when not already on file): the GST scheme, the GST registration number, and the country code (`SG` | `PH`).
|
|
@@ -4,11 +4,11 @@ Jaz accounting guidance for this workspace. Load the installed Jaz skills for de
|
|
|
4
4
|
|
|
5
5
|
## Discovery
|
|
6
6
|
|
|
7
|
-
Jaz exposes **
|
|
7
|
+
Jaz exposes **381 tools across 46 namespaces**. Your tool list shows **3, 46, or 381** entries depending on packaging — **never infer capability from its length.**
|
|
8
8
|
|
|
9
9
|
- **3** — `search_tools(query)` → `describe_tools(names)` → `execute_tool(name, args)`. Empty query returns the namespace map.
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
10
|
+
- **46** — namespace routers; call one with `{ operation, arguments }`. Its description lists its operations.
|
|
11
|
+
- **381** — call operations directly by name.
|
|
12
12
|
|
|
13
13
|
`describe_capabilities` returns the capability map on all three. **Call it before telling the user Jaz cannot do something.**
|
|
14
14
|
|