jaz-clio 4.35.2 → 4.46.0

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.
Files changed (254) hide show
  1. package/README.md +65 -223
  2. package/assets/skills/api/SKILL.md +6 -2
  3. package/assets/skills/api/help-center-mirror/bank-reconciliations.md +20 -10
  4. package/assets/skills/api/help-center-mirror/bills.md +46 -38
  5. package/assets/skills/api/help-center-mirror/contacts.md +61 -62
  6. package/assets/skills/api/help-center-mirror/get-started.md +7 -2
  7. package/assets/skills/api/help-center-mirror/help-center-embeddings.json +1 -1
  8. package/assets/skills/api/help-center-mirror/help-center-index.json +1 -1
  9. package/assets/skills/api/help-center-mirror/import-data.md +22 -17
  10. package/assets/skills/api/help-center-mirror/index.md +2 -3
  11. package/assets/skills/api/help-center-mirror/security-privacy.md +1 -1
  12. package/assets/skills/api/help-center-mirror/settings.md +102 -31
  13. package/assets/skills/api/references/endpoints.md +87 -0
  14. package/assets/skills/api/references/full-api-surface.md +3 -1
  15. package/assets/skills/cli/SKILL.md +1 -1
  16. package/assets/skills/conversion/SKILL.md +1 -1
  17. package/assets/skills/jobs/SKILL.md +1 -1
  18. package/assets/skills/transaction-recipes/SKILL.md +1 -1
  19. package/cli.mjs +1642 -0
  20. package/help-center-mirror/ai-agents.md +142 -0
  21. package/help-center-mirror/approvals.md +68 -0
  22. package/help-center-mirror/bank-reconciliations.md +662 -0
  23. package/help-center-mirror/bills.md +1122 -0
  24. package/help-center-mirror/cashflow.md +105 -0
  25. package/help-center-mirror/collaboration.md +58 -0
  26. package/help-center-mirror/contacts.md +199 -0
  27. package/help-center-mirror/customer-credits.md +745 -0
  28. package/help-center-mirror/deposits.md +75 -0
  29. package/help-center-mirror/get-started.md +478 -0
  30. package/help-center-mirror/help-center-embeddings.json +1 -0
  31. package/help-center-mirror/help-center-index.json +1 -0
  32. package/help-center-mirror/import-data.md +256 -0
  33. package/help-center-mirror/index.md +22 -0
  34. package/help-center-mirror/invoices.md +1389 -0
  35. package/help-center-mirror/journal-entries.md +350 -0
  36. package/help-center-mirror/products.md +201 -0
  37. package/help-center-mirror/reports.md +852 -0
  38. package/help-center-mirror/security-privacy.md +42 -0
  39. package/help-center-mirror/settings.md +1778 -0
  40. package/help-center-mirror/supplier-credits.md +703 -0
  41. package/package.json +6 -35
  42. package/dist/commands/accounts.js +0 -128
  43. package/dist/commands/api-action.js +0 -73
  44. package/dist/commands/attachments.js +0 -152
  45. package/dist/commands/auth.js +0 -407
  46. package/dist/commands/bank-rules.js +0 -178
  47. package/dist/commands/bank.js +0 -239
  48. package/dist/commands/bills.js +0 -643
  49. package/dist/commands/bookmarks.js +0 -121
  50. package/dist/commands/calc.js +0 -317
  51. package/dist/commands/capsules.js +0 -212
  52. package/dist/commands/cash-entry.js +0 -246
  53. package/dist/commands/cash-transfer.js +0 -171
  54. package/dist/commands/cashflow.js +0 -49
  55. package/dist/commands/contact-groups.js +0 -109
  56. package/dist/commands/contacts.js +0 -227
  57. package/dist/commands/currencies.js +0 -46
  58. package/dist/commands/currency-rates.js +0 -140
  59. package/dist/commands/custom-fields.js +0 -187
  60. package/dist/commands/customer-credit-notes.js +0 -516
  61. package/dist/commands/draft-helpers.js +0 -136
  62. package/dist/commands/exports.js +0 -58
  63. package/dist/commands/fixed-assets.js +0 -330
  64. package/dist/commands/format-helpers.js +0 -49
  65. package/dist/commands/help-examples.js +0 -127
  66. package/dist/commands/init.js +0 -95
  67. package/dist/commands/inventory.js +0 -82
  68. package/dist/commands/invoices.js +0 -620
  69. package/dist/commands/items.js +0 -223
  70. package/dist/commands/jobs.js +0 -943
  71. package/dist/commands/journals.js +0 -437
  72. package/dist/commands/kb.js +0 -68
  73. package/dist/commands/magic.js +0 -490
  74. package/dist/commands/mcp.js +0 -223
  75. package/dist/commands/nano-classifiers.js +0 -173
  76. package/dist/commands/org-users.js +0 -164
  77. package/dist/commands/org.js +0 -32
  78. package/dist/commands/output.js +0 -121
  79. package/dist/commands/pagination.js +0 -82
  80. package/dist/commands/parsers.js +0 -173
  81. package/dist/commands/payments.js +0 -143
  82. package/dist/commands/picker.js +0 -223
  83. package/dist/commands/quick-fix.js +0 -123
  84. package/dist/commands/recipe.js +0 -429
  85. package/dist/commands/reports.js +0 -202
  86. package/dist/commands/resolve.js +0 -278
  87. package/dist/commands/schedulers.js +0 -449
  88. package/dist/commands/schema.js +0 -231
  89. package/dist/commands/search.js +0 -34
  90. package/dist/commands/subscriptions.js +0 -212
  91. package/dist/commands/supplier-credit-notes.js +0 -500
  92. package/dist/commands/table-formatter.js +0 -5
  93. package/dist/commands/tags.js +0 -142
  94. package/dist/commands/tax-profiles.js +0 -187
  95. package/dist/commands/ui/banner.js +0 -21
  96. package/dist/commands/ui/error.js +0 -96
  97. package/dist/commands/ui/index.js +0 -8
  98. package/dist/commands/ui/picker.js +0 -180
  99. package/dist/commands/ui/progress.js +0 -32
  100. package/dist/commands/ui/record.js +0 -72
  101. package/dist/commands/ui/table.js +0 -109
  102. package/dist/commands/ui/theme.js +0 -55
  103. package/dist/commands/update.js +0 -28
  104. package/dist/commands/versions.js +0 -33
  105. package/dist/core/api/attachments.js +0 -36
  106. package/dist/core/api/bank-rules.js +0 -31
  107. package/dist/core/api/bank.js +0 -37
  108. package/dist/core/api/bills.js +0 -61
  109. package/dist/core/api/bookmarks.js +0 -12
  110. package/dist/core/api/capsules.js +0 -46
  111. package/dist/core/api/cash-entries.js +0 -31
  112. package/dist/core/api/cash-transfers.js +0 -12
  113. package/dist/core/api/cashflow.js +0 -6
  114. package/dist/core/api/chart-of-accounts.js +0 -21
  115. package/dist/core/api/circuit-breaker.js +0 -64
  116. package/dist/core/api/client.js +0 -223
  117. package/dist/core/api/contact-groups.js +0 -18
  118. package/dist/core/api/contacts.js +0 -18
  119. package/dist/core/api/currencies.js +0 -23
  120. package/dist/core/api/custom-fields.js +0 -18
  121. package/dist/core/api/customer-cn.js +0 -40
  122. package/dist/core/api/data-exports.js +0 -7
  123. package/dist/core/api/fixed-assets.js +0 -37
  124. package/dist/core/api/guards.js +0 -82
  125. package/dist/core/api/index.js +0 -39
  126. package/dist/core/api/inventory.js +0 -12
  127. package/dist/core/api/invoices.js +0 -72
  128. package/dist/core/api/items.js +0 -56
  129. package/dist/core/api/journals.js +0 -34
  130. package/dist/core/api/magic.js +0 -74
  131. package/dist/core/api/message-pdf.js +0 -7
  132. package/dist/core/api/nano-classifiers.js +0 -37
  133. package/dist/core/api/org-users.js +0 -15
  134. package/dist/core/api/organization.js +0 -6
  135. package/dist/core/api/pagination.js +0 -74
  136. package/dist/core/api/payments.js +0 -27
  137. package/dist/core/api/quick-fix.js +0 -25
  138. package/dist/core/api/reports.js +0 -51
  139. package/dist/core/api/schedulers.js +0 -54
  140. package/dist/core/api/search.js +0 -6
  141. package/dist/core/api/subscriptions.js +0 -48
  142. package/dist/core/api/supplier-cn.js +0 -37
  143. package/dist/core/api/tags.js +0 -18
  144. package/dist/core/api/tax-profiles.js +0 -23
  145. package/dist/core/api/transfer-trial-balance.js +0 -3
  146. package/dist/core/api/types.js +0 -2
  147. package/dist/core/auth/credentials.js +0 -155
  148. package/dist/core/auth/index.js +0 -2
  149. package/dist/core/auth/resolve.js +0 -99
  150. package/dist/core/auth/types.js +0 -1
  151. package/dist/core/calc/accrued-expense.js +0 -74
  152. package/dist/core/calc/amortization.js +0 -122
  153. package/dist/core/calc/asset-disposal.js +0 -155
  154. package/dist/core/calc/blueprint.js +0 -46
  155. package/dist/core/calc/depreciation.js +0 -200
  156. package/dist/core/calc/dividend.js +0 -100
  157. package/dist/core/calc/ecl.js +0 -101
  158. package/dist/core/calc/fixed-deposit.js +0 -178
  159. package/dist/core/calc/format.js +0 -604
  160. package/dist/core/calc/fx-reval.js +0 -93
  161. package/dist/core/calc/lease.js +0 -150
  162. package/dist/core/calc/leave-accrual.js +0 -73
  163. package/dist/core/calc/loan.js +0 -107
  164. package/dist/core/calc/provision.js +0 -128
  165. package/dist/core/calc/types.js +0 -31
  166. package/dist/core/calc/validate.js +0 -134
  167. package/dist/core/drafts/index.js +0 -14
  168. package/dist/core/drafts/merge.js +0 -86
  169. package/dist/core/drafts/sanitize.js +0 -90
  170. package/dist/core/drafts/validate.js +0 -157
  171. package/dist/core/intelligence/account-resolver.js +0 -48
  172. package/dist/core/intelligence/actions-summary.js +0 -152
  173. package/dist/core/intelligence/amount-parser.js +0 -101
  174. package/dist/core/intelligence/bank-resolver.js +0 -65
  175. package/dist/core/intelligence/contact-resolver.js +0 -28
  176. package/dist/core/intelligence/date-normalizer.js +0 -146
  177. package/dist/core/intelligence/fuzzy.js +0 -102
  178. package/dist/core/intelligence/index.js +0 -19
  179. package/dist/core/intelligence/no-reply.js +0 -58
  180. package/dist/core/intelligence/recipe-resolver.js +0 -106
  181. package/dist/core/jobs/audit-prep/blueprint.js +0 -211
  182. package/dist/core/jobs/bank-recon/blueprint.js +0 -163
  183. package/dist/core/jobs/bank-recon/tools/match/match-utils.js +0 -218
  184. package/dist/core/jobs/bank-recon/tools/match/match.js +0 -631
  185. package/dist/core/jobs/credit-control/blueprint.js +0 -126
  186. package/dist/core/jobs/document-collection/blueprint.js +0 -152
  187. package/dist/core/jobs/document-collection/tools/ingest/classify.js +0 -206
  188. package/dist/core/jobs/document-collection/tools/ingest/cloud/dropbox.js +0 -156
  189. package/dist/core/jobs/document-collection/tools/ingest/cloud/gdrive.js +0 -99
  190. package/dist/core/jobs/document-collection/tools/ingest/cloud/index.js +0 -68
  191. package/dist/core/jobs/document-collection/tools/ingest/cloud/onedrive.js +0 -165
  192. package/dist/core/jobs/document-collection/tools/ingest/cloud/providers.js +0 -71
  193. package/dist/core/jobs/document-collection/tools/ingest/cloud/types.js +0 -4
  194. package/dist/core/jobs/document-collection/tools/ingest/cloud/utils.js +0 -96
  195. package/dist/core/jobs/document-collection/tools/ingest/cloud/zip.js +0 -107
  196. package/dist/core/jobs/document-collection/tools/ingest/decrypt.js +0 -130
  197. package/dist/core/jobs/document-collection/tools/ingest/format.js +0 -110
  198. package/dist/core/jobs/document-collection/tools/ingest/ingest.js +0 -101
  199. package/dist/core/jobs/document-collection/tools/ingest/scanner.js +0 -215
  200. package/dist/core/jobs/document-collection/tools/ingest/upload.js +0 -108
  201. package/dist/core/jobs/fa-review/blueprint.js +0 -121
  202. package/dist/core/jobs/format.js +0 -102
  203. package/dist/core/jobs/gst-vat/blueprint.js +0 -187
  204. package/dist/core/jobs/month-end/blueprint.js +0 -232
  205. package/dist/core/jobs/payment-run/blueprint.js +0 -201
  206. package/dist/core/jobs/payment-run/tools/bank-file/format.js +0 -64
  207. package/dist/core/jobs/payment-run/tools/bank-file/formats/dbs-giro.js +0 -177
  208. package/dist/core/jobs/payment-run/tools/bank-file/formats/index.js +0 -3
  209. package/dist/core/jobs/payment-run/tools/bank-file/formats/ocbc-giro.js +0 -171
  210. package/dist/core/jobs/payment-run/tools/bank-file/formats/uob-giro.js +0 -240
  211. package/dist/core/jobs/payment-run/tools/bank-file/generate.js +0 -24
  212. package/dist/core/jobs/payment-run/tools/bank-file/index.js +0 -3
  213. package/dist/core/jobs/payment-run/tools/bank-file/types.js +0 -25
  214. package/dist/core/jobs/payment-run/tools/bank-file/validate.js +0 -217
  215. package/dist/core/jobs/payment-run/tools/outstanding/format.js +0 -61
  216. package/dist/core/jobs/payment-run/tools/outstanding/group.js +0 -90
  217. package/dist/core/jobs/payment-run/tools/outstanding/index.js +0 -2
  218. package/dist/core/jobs/payment-run/tools/outstanding/types.js +0 -5
  219. package/dist/core/jobs/quarter-end/blueprint.js +0 -135
  220. package/dist/core/jobs/statutory-filing/blueprint.js +0 -135
  221. package/dist/core/jobs/statutory-filing/tools/sg-tax/capital-allowances.js +0 -160
  222. package/dist/core/jobs/statutory-filing/tools/sg-tax/constants.js +0 -63
  223. package/dist/core/jobs/statutory-filing/tools/sg-tax/exemptions.js +0 -76
  224. package/dist/core/jobs/statutory-filing/tools/sg-tax/form-cs.js +0 -349
  225. package/dist/core/jobs/statutory-filing/tools/sg-tax/format-sg.js +0 -134
  226. package/dist/core/jobs/statutory-filing/tools/sg-tax/format.js +0 -18
  227. package/dist/core/jobs/statutory-filing/tools/sg-tax/types.js +0 -9
  228. package/dist/core/jobs/statutory-filing/tools/sg-tax/validate.js +0 -124
  229. package/dist/core/jobs/supplier-recon/blueprint.js +0 -132
  230. package/dist/core/jobs/types.js +0 -38
  231. package/dist/core/jobs/validate.js +0 -115
  232. package/dist/core/jobs/year-end/blueprint.js +0 -153
  233. package/dist/core/kb/embeddings.js +0 -218
  234. package/dist/core/kb/index.js +0 -2
  235. package/dist/core/kb/search.js +0 -235
  236. package/dist/core/kb/types.js +0 -2
  237. package/dist/core/recipe/dispatch.js +0 -155
  238. package/dist/core/recipe/engine.js +0 -304
  239. package/dist/core/recipe/index.js +0 -3
  240. package/dist/core/recipe/plan.js +0 -60
  241. package/dist/core/recipe/types.js +0 -16
  242. package/dist/core/registry/errors.js +0 -31
  243. package/dist/core/registry/index.js +0 -3
  244. package/dist/core/registry/lookup.js +0 -35
  245. package/dist/core/registry/namespaces.js +0 -161
  246. package/dist/core/registry/pagination.js +0 -150
  247. package/dist/core/registry/tools.js +0 -4482
  248. package/dist/core/registry/types.js +0 -1
  249. package/dist/core/registry/validate.js +0 -82
  250. package/dist/index.js +0 -322
  251. package/dist/types/index.js +0 -8
  252. package/dist/utils/github.js +0 -81
  253. package/dist/utils/logger.js +0 -31
  254. package/dist/utils/template.js +0 -105
package/README.md CHANGED
@@ -1,291 +1,133 @@
1
- # Clio — Jaz AI Command Line Tool
1
+ # Clio — The AI Stack for Accounting
2
2
 
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-211-blue?style=for-the-badge" alt="211 Tools">
7
- <img src="https://img.shields.io/badge/calculators-13-red?style=for-the-badge" alt="13 Calculators">
8
- <img src="https://img.shields.io/badge/jobs-12-teal?style=for-the-badge" alt="12 Jobs">
6
+ <img src="https://img.shields.io/badge/tools-255-blue?style=for-the-badge" alt="255 Tools">
9
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>
10
8
  </p>
11
9
 
12
- **Complete agent stack for all of Jaz, built for AI agents and accountants.**
13
- Create invoices, record bills, manage contacts, run financial calculators, execute accounting jobs, and install AI agent skills — all from your terminal.
14
-
15
- > Also fully compatible with [Juan Accounting](https://juan.ac).
16
-
17
- ## Contents
18
-
19
- - [Quickstart](#quickstart)
20
- - [Install](#install)
21
- - [Authenticate](#authenticate)
22
- - [Commands](#commands)
23
- - [MCP Server](#mcp-server)
24
- - [Install AI Skills](#install-ai-skills)
25
- - [Privacy & Security](#privacy--security)
26
- - [Support](#support)
27
-
28
- ## Quickstart
10
+ 255 tools. 13 financial calculators. 12 job playbooks. 117 API rules. 16 IFRS recipes.
29
11
 
30
12
  ```bash
31
13
  npm install -g jaz-clio
32
- clio auth add <your-api-key> # Get key from Settings > API in Jaz app
33
- clio invoices list # You're in
34
- ```
35
-
36
- ## Install
37
-
38
- **Node.js 18+** required. If `node --version` works, you're set. Otherwise: [nodejs.org](https://nodejs.org) (LTS).
39
-
40
- ```bash
41
- npm install -g jaz-clio
42
- ```
43
-
44
- ## Authenticate
45
-
46
- ```bash
47
- clio auth add <your-api-key> # Add your Jaz API key
48
- clio auth whoami # Verify it works
49
- ```
50
-
51
- | I have... | Use |
52
- |-----------|-----|
53
- | API key from Jaz app | `clio auth add <key>` |
54
- | Environment variable | `export JAZ_API_KEY=jk-...` |
55
- | Multiple orgs | `clio auth add <key>` + `clio auth switch <label>` |
56
-
57
- ### Auth Precedence
58
-
59
- When multiple credentials are available, Clio resolves them in this order:
60
-
61
- | Priority | Source | Set via |
62
- |----------|--------|---------|
63
- | 1 | `--api-key` flag | Explicit per-command |
64
- | 2 | `JAZ_API_KEY` env var | Shell or `.env` |
65
- | 3 | `--org` flag / `JAZ_ORG` env | Named profile lookup |
66
- | 4 | Active profile | `clio auth switch` |
67
-
68
- > **Warning:** If `JAZ_API_KEY` is set in your shell, it overrides `--org` and the active profile. Unset it (`unset JAZ_API_KEY`) before switching tenants with `clio auth switch`, or use per-command `--api-key` instead.
69
-
70
- <details>
71
- <summary>All auth subcommands</summary>
72
-
73
- ```bash
74
- clio auth add <key> # Add API key (validates against API)
75
- clio auth list # List all saved profiles
76
- clio auth switch <label> # Switch active org
77
- clio auth remove <label> # Remove a profile
78
- clio auth whoami # Show current org
79
- clio auth clear # Remove all profiles
80
- ```
81
-
82
- </details>
83
-
84
- ## Commands
85
-
86
- ### Transactions
87
-
88
- ```bash
89
- clio invoices list # List invoices
90
- clio invoices create --contact "ACME" # Create a draft invoice
91
- clio invoices pay <id> # Record payment
92
- clio bills list --status APPROVED # List approved bills
93
- clio bills pay <id> # Pay a bill
94
- clio customer-credit-notes list # List customer credit notes
95
- clio supplier-credit-notes list # List supplier credit notes
96
- clio journals list # List journal entries
97
- clio cash-in list # List cash-in entries
98
- clio cash-out list # List cash-out entries
99
- clio cash-transfer list # List cash transfers
100
- clio capsules list # List capsules (transaction groups)
101
14
  ```
102
15
 
103
- ### Contacts, Accounts & Items
16
+ Requires **Node.js 18+** ([nodejs.org](https://nodejs.org)). Also fully compatible with [Juan Accounting](https://juan.ac).
104
17
 
105
- ```bash
106
- clio contacts search "ACME" # Fuzzy search contacts
107
- clio contacts create --name "ACME Ltd" # Create a contact
108
- clio accounts list # Chart of accounts
109
- clio items list # Products and services
110
- clio tags list # Tracking tags
111
- clio contact-groups list # Contact groups
112
- clio custom-fields list # Custom field definitions
113
- ```
18
+ ## Contents
114
19
 
115
- ### Bank & Reconciliation
20
+ - [Four Ways In](#four-ways-in) — Agent, CLI, MCP, Skills
21
+ - [Agent](#agent) — Natural language accounting
22
+ - [CLI](#cli) — 48 command groups
23
+ - [MCP Server](#mcp-server) — 243 tools for AI agents
24
+ - [Skills](#skills) — Teach any AI the Jaz API
25
+ - [Setup](#setup) — Auth, multi-org, automation
116
26
 
117
- ```bash
118
- clio bank import --file statement.csv # Import bank statement
119
- clio bank accounts # List bank accounts
120
- clio bank records # List bank records
121
- clio bank add-records # Create bank records (JSON)
122
- clio bank auto-recon # Auto-reconciliation
123
- clio bank-rules list # List auto-tagging rules
124
- clio bank-rules create # Create auto-tagging rule
125
- ```
27
+ ## Four Ways In
126
28
 
127
- ### Fixed Assets
29
+ | | What happens | Try it |
30
+ |---|---|---|
31
+ | **Agent** | Talk to your books in plain English | `clio agent` |
32
+ | **CLI** | 48 command groups, every accounting operation | `clio invoices list` |
33
+ | **MCP** | Plug into Claude Code, Cursor, Codex, Copilot | `clio mcp` |
34
+ | **Skills** | Teach any AI tool the Jaz API | `clio init` |
128
35
 
129
- ```bash
130
- clio fixed-assets list # List fixed assets (alias: clio fa list)
131
- clio fixed-assets get <id> # Get fixed asset details
132
- clio fixed-assets create # Register a new asset
133
- clio fixed-assets sell <id> # Record asset sale
134
- clio fixed-assets discard <id> # Discard/scrap an asset
135
- clio fixed-assets transfer <id> # Transfer between accounts
136
- clio fixed-assets undo-disposal <id> # Reverse a disposal
137
- ```
36
+ ---
138
37
 
139
- ### Subscriptions
38
+ ## Agent
140
39
 
141
40
  ```bash
142
- clio subscriptions list # List recurring subscriptions (alias: clio subs)
143
- clio subscriptions create # Create a subscription
144
- clio subscriptions cancel <id> # Cancel a subscription
145
- clio subscriptions search-scheduled # Search scheduled transactions
41
+ clio agent
146
42
  ```
147
43
 
148
- ### Financial Calculators
149
-
150
- 13 IFRS-compliant calculators that output structured blueprints with journal entries, workings, and execution plans.
44
+ First run: paste API key, pick billing mode, done. Then:
151
45
 
152
- ```bash
153
- clio calc loan --principal 100000 --rate 6 --term 60 --json
154
- clio calc depreciation --cost 50000 --salvage 5000 --life 5 --method ddb --json
155
- clio calc lease --value 120000 --term 36 --rate 5 --json
156
- clio calc ecl --receivables '[{"bucket":"0-30","balance":50000,"rate":0.5}]' --json
157
- clio calc provision --amount 100000 --rate 4 --periods 24 --json
158
- clio calc fx-reval --account "USD Cash" --balance 10000 --old-rate 1.35 --new-rate 1.34 --json
159
- clio calc fixed-deposit --principal 100000 --rate 3.5 --term 12 --json
160
- clio calc disposal --cost 50000 --accum-dep 30000 --proceeds 15000 --json
161
- clio calc prepaid-expense --amount 12000 --periods 12 --start 2025-01-01 --json
162
- clio calc deferred-revenue --amount 24000 --periods 12 --start 2025-01-01 --json
163
- clio calc accrued-expense --amount 5000 --periods 3 --json
164
- clio calc leave-accrual --employees 50 --avg-daily-rate 200 --avg-days 15 --json
165
- clio calc dividend --amount 100000 --json
166
46
  ```
167
-
168
- ### Transaction Recipes (Capsule Transactions)
169
-
170
- 13 recipe subcommands that compute, plan, and optionally execute multi-step transactions from calculator output.
171
-
172
- ```bash
173
- clio capsule-transaction loan --principal 100000 --rate 6 --term 60 # alias: clio ct loan
174
- clio ct lease --payment 5000 --term 36 --rate 5
175
- clio ct depreciation --cost 50000 --salvage 5000 --life 5
176
- clio ct prepaid-expense --amount 12000 --periods 12 --start 2025-01-01
177
- clio ct fx-reval --account "USD Cash" --balance 10000 --old-rate 1.35 --new-rate 1.34
47
+ "create a draft invoice for Acme Corp — consulting $5k, travel $1.2k, software $3.8k"
48
+ "close the books for March"
49
+ "reconcile my bank and flag anything suspicious"
50
+ "show trial balance how's my cash position?"
51
+ "set up an IFRS 16 lease for the new office"
178
52
  ```
179
53
 
180
- ### Accounting Jobs
181
-
182
- 12 job blueprints that generate step-by-step playbooks with checklists and paired tools.
183
-
184
- ```bash
185
- clio jobs month-end --period 2025-01 # Month-end close
186
- clio jobs quarter-end --period 2025-Q1 # Quarter-end close
187
- clio jobs year-end --period 2025 # Year-end close
188
- clio jobs bank-recon match --input bank-data.json --json # Bank reconciliation matcher
189
- clio jobs document-collection ingest --source "./receipts" --json # Document scanner
190
- clio jobs gst-vat --period 2025-Q1 # GST/VAT filing prep
191
- clio jobs payment-run --due-before 2025-02-28 # Payment run
192
- clio jobs credit-control # AR aging + chase list
193
- clio jobs supplier-recon # AP vs supplier statements
194
- clio jobs audit-prep --period 2025 # Audit pack
195
- clio jobs fa-review # Fixed asset review
196
- clio jobs statutory-filing sg-cs --ya 2026 --revenue 500000 --profit 120000 --json # SG Form C-S
197
- ```
54
+ The agent discovers tools, calls the right APIs, asks before writing anything, and learns from each session. Bank recon playbooks, month-end checklists, GST filing guides, and IFRS recipes load automatically when relevant — no prompting needed.
198
55
 
199
- ### Reports
56
+ ---
200
57
 
201
- 16 report types:
58
+ ## CLI
202
59
 
203
60
  ```bash
204
- clio reports generate <type> # Generate a report
205
- clio reports pdf <type> # Download report as PDF
61
+ clio invoices create --contact "ACME" --json # Create draft, get JSON back
62
+ clio bank import statement.csv # Import and auto-reconcile
63
+ clio reports pdf profit-loss # Download P&L as PDF
64
+ clio calc lease --payment 5000 --term 36 --rate 5 # IFRS 16 (offline, instant)
65
+ clio jobs month-end --period 2026-03 # Step-by-step close playbook
66
+ clio magic create --file receipt.pdf # AI extracts → draft transaction
67
+ clio search "overdue" # Find it across all entities
206
68
  ```
207
69
 
208
- Types: `trial-balance`, `balance-sheet`, `profit-loss`, `cashflow`, `aged-ar`, `aged-ap`, `cash-balance`, `general-ledger`, `vat-ledger`, `equity-movement`, `bank-balance-summary`, `bank-recon-summary`, `bank-recon-details`, `fa-summary`, `fa-recon-summary`, `ar-report`.
209
-
210
- ### Other Commands
211
-
212
- ```bash
213
- clio org info # Current org details
214
- clio org-users list # Organization members
215
- clio currencies list # Enabled currencies
216
- clio currency-rates list # Exchange rates
217
- clio payments search # Search payments
218
- clio tax-profiles list # Tax profiles
219
- clio cashflow search # Search cashflow transactions
220
- clio schedulers list-invoices # Scheduled (recurring) invoices
221
- clio exports download --type INVOICES # Download data export
222
- clio attachments list <id> # List attachments on a transaction
223
- clio bookmarks list # Saved bookmarks
224
- clio inventory items # Inventory items
225
- clio inventory balance <item-id> # Inventory balance for an item
226
- clio search "query" # Universal cross-entity search
227
- clio magic create --file receipt.pdf # AI-extract from attachment
228
- clio kb "topic" # Search help center (alias: clio hc)
229
- clio context # Generate agent context summary
230
- clio versions # Show version info
231
- clio update # Update to latest
232
- ```
70
+ 48 command groups. 16 report types. 13 calculators. 12 job playbooks. Every command supports `--json`. Run `clio --help` for the full list.
233
71
 
234
- Every command supports `--json` for structured output — ideal for piping to other tools or for AI agents.
72
+ ---
235
73
 
236
74
  ## MCP Server
237
75
 
238
- Expose all 241 CLI tools to AI coding and coworking agents via the Model Context Protocol (MCP). The server runs locally on your machine — no cloud, no ports. API calls go directly from your machine to the Jaz API.
76
+ 243 CLI tools, available to any AI agent that speaks MCP. Runs locally — no cloud, no ports.
239
77
 
240
78
  **Claude Code:**
241
-
242
79
  ```bash
243
80
  claude mcp add jaz -- npx jaz-clio mcp
244
81
  ```
245
82
 
246
- **Cursor / VS Code / Windsurf** — add to your MCP config:
247
-
83
+ **Cursor / VS Code / Windsurf:**
248
84
  ```json
249
85
  {
250
86
  "mcpServers": {
251
87
  "jaz": {
252
88
  "command": "npx",
253
89
  "args": ["-y", "jaz-clio", "mcp"],
254
- "env": {
255
- "JAZ_API_KEY": "jk-your-api-key"
256
- }
90
+ "env": { "JAZ_API_KEY": "jk-your-api-key" }
257
91
  }
258
92
  }
259
93
  }
260
94
  ```
261
95
 
262
- Auth resolves the same way as the CLI: `JAZ_API_KEY` env var, `--api-key` flag, or existing credentials from `clio auth add`. Offline tools (calculators, job blueprints) work without any API key.
96
+ ---
263
97
 
264
- ## Install AI Skills
98
+ ## Skills
265
99
 
266
- Clio also installs AI agent skills into your project. Skills are knowledge files that teach AI tools (Claude Code, Antigravity, Codex, Copilot, Cursor) how to work with the Jaz API.
100
+ 117 production-tested API rules. Field name mappings. Error recovery patterns. 12 job playbooks. Installable into any AI-aware project.
267
101
 
268
102
  ```bash
269
- cd /path/to/your/project
270
- clio init # Auto-detects your AI tool, installs all 4 skills
271
- clio init --skill jaz-api # Install a specific skill
272
- clio init --platform claude # Force a specific platform
103
+ clio init
273
104
  ```
274
105
 
275
- See the [full README](https://github.com/teamtinvio/jaz-ai) for skill details, reference file catalogs, and plugin installation.
106
+ Auto-detects the AI tool (Claude Code, Codex, Copilot, Cursor, Antigravity) and installs the right skill files. The skills teach the AI how to call the Jaz API correctly — which fields to use, what to avoid, how to handle edge cases.
107
+
108
+ ---
109
+
110
+ ## Setup
111
+
112
+ ```bash
113
+ clio auth add <api-key> # Get key from Settings > API in Jaz
114
+ clio auth whoami # Verify
115
+ ```
116
+
117
+ Or just run `clio agent` — it handles everything interactively.
118
+
119
+ **Multiple orgs:** `clio auth add` each key, then `clio auth switch <label>` or `--org <label>` per command. In agent mode: `/org switch`.
276
120
 
277
- ## Privacy & Security
121
+ **Automation:** Every CLI command supports `--json` for structured output. Set `JAZ_API_KEY` as an env var for scripts and CI pipelines.
278
122
 
279
- Jaz AI runs entirely on your machine. API calls go directly from your machine to the Jaz API over HTTPS. This tool does not include telemetry or collect data. Your API key is stored locally in `~/.config/jaz-clio/credentials.json`.
123
+ ## Privacy
280
124
 
281
- See our full privacy policy: [jaz.ai/legal](https://jaz.ai/legal)
125
+ Runs on your machine. Calls go to the Jaz API over HTTPS. No telemetry. No data collection.
282
126
 
283
127
  ## Support
284
128
 
285
- - Help center: [help.jaz.ai](https://help.jaz.ai)
286
- - GitHub Issues: [github.com/teamtinvio/jaz-ai/issues](https://github.com/teamtinvio/jaz-ai/issues)
287
- - Email: api-support@jaz.ai
129
+ [help.jaz.ai](https://help.jaz.ai) · [GitHub Issues](https://github.com/teamtinvio/jaz-ai/issues) · api-support@jaz.ai
288
130
 
289
131
  ## License
290
132
 
291
- [MIT](https://github.com/teamtinvio/jaz-ai/blob/main/LICENSE) - Copyright (c) 2026 Tinvio / Jaz
133
+ [MIT](LICENSE)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-api
3
- version: 4.35.2
3
+ version: 4.46.0
4
4
  description: >-
5
5
  Use this skill whenever you call, debug, or review code that touches the Jaz
6
6
  REST API. Covers field names, response shapes, 117 production gotchas, error
@@ -66,6 +66,10 @@ You are working with the **Jaz REST API** — the accounting platform backend. A
66
66
  21. **CoA POST uses `classificationType`** — GET returns `accountType`. Same values.
67
67
  22. **CoA code mapping: match by NAME, not code** — pre-existing accounts may have different codes. Resource IDs are the universal identifier.
68
68
 
69
+ ### Bulk Upsert (Items & Rates)
70
+ - **Items bulk-upsert** (`POST /items/bulk-upsert`) — max 500 per call. Provide `resourceId` per item to update (partial — only changed fields needed, server preserves existing values). Omit `resourceId` to create (defaults: `status=ACTIVE`, `itemCategory=NON_INVENTORY`). Response: `{ resourceId: null, resourceIds: [...] }`.
71
+ - **Rates bulk-upsert** (`POST /organization/currencies/rates/bulk-upsert`) — max 500 per call. Requires `rateDirection` per rate (`FUNCTIONAL_TO_SOURCE` or `SOURCE_TO_FUNCTIONAL`). **Auto-enables currencies not yet enabled in the org** — no need to call `add_currency` first. Response: `{ resourceId: null, resourceIds: [...] }`.
72
+
69
73
  ### Journals & Cash
70
74
  23. **Journals use `journalEntries`** with `amount` + `type: "DEBIT"|"CREDIT"` — NOT `debit`/`credit` number fields.
71
75
  24. **Journals support multi-currency via `currency` object** — same format as invoices/bills: `"currency": { "sourceCurrency": "USD" }` (auto-fetch platform rate) or `"currency": { "sourceCurrency": "USD", "exchangeRate": 1.35 }` (custom rate). Must be enabled for the org. Omit for base currency. Three restrictions apply to foreign currency journals: (a) **no controlled accounts** — accounts with `controlFlag` (AR, AP) are off-limits (use invoices/bills instead), (b) **no FX accounts** — FX Unrealized Gain/Loss/Rounding are system-managed, (c) **bank accounts must match** — can only post to bank accounts in the same currency as the journal (e.g., USD journal → USD bank account only, not SGD bank account). All other non-controlled accounts (expenses, revenue, assets, liabilities) are available.
@@ -250,7 +254,7 @@ Bills, invoices, and credit notes share identical mandatory field specs. Adding
250
254
  ### Fixed Assets
251
255
  91. **Fixed asset search does NOT support `createdAt` sort** — Valid sort fields: `resourceId`, `name`, `purchaseDate`, `typeName`, `purchaseAmount`, `bookValueNetBookValueAmount`, `depreciationMethod`, `status`. Using `createdAt` returns 422. Default to `purchaseDate` DESC.
252
256
  92. **Fixed asset disposal/sale/transfer use different endpoint patterns** — Discard: `POST /discard-fixed-assets/:id` (body includes `resourceId` + dates). Mark sold: `POST /mark-as-sold/fixed-assets` (body-only, no path param). Transfer: `POST /transfer-fixed-assets` (body-only). Undo: `POST /undo-disposal/fixed-assets/:id`.
253
- 92a. **Two ways to create fixed assets** — (1) **Register** (`POST /fixed-assets`): links to an existing purchase bill or journal. ACTIVE assets require `purchaseBusinessTransactionType` (`PURCHASE` or `JOURNAL_MANUAL`) and `purchaseBusinessTransactionResourceId`. Draft assets skip this validation. (2) **Transfer** (`POST /transfer-fixed-assets`): standalone asset entry, no linked transaction needed.
257
+ 92a. **Two ways to register fixed assets** — (1) **Create** (`POST /fixed-assets`): for assets purchased via a bill or journal already in the system. ACTIVE assets require `purchaseBusinessTransactionType` (`PURCHASE` or `JOURNAL_MANUAL`) and `purchaseBusinessTransactionResourceId`. (2) **Transfer** (`POST /transfer-fixed-assets`): for pre-existing assets purchased before using Jaz or outside the system. Accepts `bookValueAccumulatedDepreciationAmount` for depreciation already incurred. No linked transaction needed.
254
258
  92b. **`saveAsDraft` defaults to `true`** — To create an ACTIVE fixed asset, pass `saveAsDraft: false` with ALL required fields: `name`, `category`, `typeCode`, `purchaseAmount`, `purchaseDate`, `purchaseAssetAccountResourceId`, `depreciationMethod`, `effectiveLife`, and for `STRAIGHT_LINE`: `depreciationStartDate`, `accumulatedDepreciationAccountResourceId`, `depreciationExpenseAccountResourceId`. Omitting any returns 422.
255
259
  92c. **Valid enums** — `depreciationMethod`: `STRAIGHT_LINE`, `NO_DEPRECIATION`. `category`: `TANGIBLE`, `INTANGIBLE`. Optional string fields (`purchaseBusinessTransactionResourceId`, `accumulatedDepreciationAccountResourceId`, `capsuleResourceId`) can be safely omitted — the API ignores empty values.
256
260
 
@@ -105,20 +105,24 @@ Source: https://help.jaz.ai/en/articles/9941732-export-reconciled-unreconciled-r
105
105
  ### Magic Match in Bank Reconciliation
106
106
  Source: https://help.jaz.ai/en/articles/9993390-magic-match-in-bank-reconciliation
107
107
 
108
- **Q1. What is a Magic match in Bank reconciliation?**
108
+ Q1. What is a Magic match in Bank reconciliation?
109
109
 
110
- - Magic Match automatically finds matching transactions or payments in Jaz when you upload your bank statements.
111
- - A banner with this information will be displayed for each bank account with uploaded statements.
112
- - If there are no magic match suggestions, you can manually reconcile the statements. Refer: [Different ways statements can be reconciled](https://help.jaz.ai/en/articles/9941720-reconciliations-overview#h_36afa48ec1).
110
+ - Magic Match automatically pairs your bank statement lines with corresponding records in Jaz. It simplifies the reconciliation process, making it faster and more accurate regardless of your accounting experience.
111
+ - You will see a notification banner whenever Magic Match finds potential pairings. If Jaz doesn't find a match, you can manually reconcile the entry yourself.
113
112
 
114
113
  **Q2. How does Jaz determine which transactions will potentially reconcile with a statement line?**
115
114
 
116
- - Jaz uses specific criteria to match transactions with statement lines:
117
- - **With Contact (Payer/Payee)**: Jaz looks for transactions within 30 days before the statement line date where the contact and amount match.
118
- - **Without Contact (Payer/Payee)**: Jaz looks for transactions within 30 days before the statement line date where any contact and the amount match.
119
- - **Payment (Cash-Out/Cash-In Entries)**: Jaz also matches these entries against statement lines with the same bank account if the transaction date is within 3 days before the statement line date.**Q3. I see the same transaction matched with more than one statement line. What happens if I reconcile both?**
115
+ - Jaz uses **Magic Match** which aims to save you time in reconciliations. It looks beyond simple dates and amounts, using layered search logic to suggest the most accurate records for your reconciliation.
116
+ - **Payment Recognition**: Magic Match automatically detects internal records, such as bill payments, customer refunds, or manual journal entries, that correspond to your bank activity.
117
+ - **Multidimensional Matching**: Jaz goes beyond amounts and includes contact names, reference numbers, and descriptions in order to find highest-confidence transactions to match a statement line.
118
+ - **Date Windows**: Magic Match identifies your typical payment patterns to suggest matches that occurred within a logical timeframe of your statement line.
119
+ - **Currency Conversion**: For cross-currency matching, Magic Match identifies transactions even when the currency of your invoice is different from the currency of your bank account.
120
+ - **Group Matching**: If a single bank entry represents multiple invoices or bills (such as a bulk deposit), Juan can identify and suggest the specific combination of records that add up to that total.
121
+
120
122
 
121
- - Jaz shows potential matches with statement lines, but if one transaction is matched with multiple statement lines, reconciling will not allow both to reconcile with the same transaction. Instead, you will see a partial success banner and only the first statement line in the list will be reconciled.
123
+ **Note:** If a single record doesn’t match the amount, Jaz can automatically identify a group of transactions that add up to your statement line. This is particularly helpful for reconciling bulk deposits or batch payments.**Q3. I see the same transaction matched with more than one statement line. What happens if I reconcile both?**
124
+
125
+ - If one transaction is matched with multiple statement lines, reconciling will not allow both to reconcile with the same transaction. Only the first statement line will be reconciled.
122
126
 
123
127
  **Q4. I see records with the same date and amount as the statement line, but I don't see them matched.**
124
128
 
@@ -360,7 +364,13 @@ Source: https://help.jaz.ai/en/articles/9941723-resetting-reconciliations
360
364
  - There will be no further impact on your financial reports. However, previously created transactions such as journal entries used for adjustments will remain recorded.
361
365
  - You can reset the reconciled statement lines individually using the 3-dot menu or you can bulk reset by multi-selecting desired records.
362
366
 
363
- **Q2. Are there any other triggers to reset reconciliation apart from manually resetting the statement lines?**
367
+ **Q2. What are the different reset reconciliation options?**
368
+
369
+ - There are three different reset options:
370
+ - **Reset:** resets the reconciliation without deleting any reconciled entries. The bank record returns to**Unreconciled**.
371
+ - **Delete Bank Records:** resets the reconciliation and deletes the bank record.
372
+ - Note: you can undelete bank records.
373
+ - **Delete Cashflows:**resets the reconciliation and deletes the cashflows. The bank record returns to **Unreconciled**.**Q3. Are there any other triggers to reset reconciliation apart from manually resetting the statement lines?**
364
374
 
365
375
  - Yes, there are a couple of ways you can reset reconciliations -
366
376
  - Updating the net payment amount of the payment record used for reconciliation
@@ -36,44 +36,6 @@ Source: https://help.jaz.ai/en/articles/9104226-apply-supplier-credit
36
36
 
37
37
  ---
38
38
 
39
- ### Apply Supplier Credit
40
- Source: https://help.jaz.ai/en/articles/9104226-apply-supplier-credit
41
-
42
- **Q1. Can I apply a draft supplier credit note to a bill?**
43
-
44
- - No, supplier credit notes must be active before they can be applied.
45
-
46
- **Q2. Can I apply a supplier credit note of a different currency than the bill?**
47
-
48
- - If you would like to apply a supplier credit note to a bill, the supplier credit note must be in the same currency that the bill was created in.
49
- - For example, a bill that was created in USD can only make use of supplier credits that were also credited in USD.
50
-
51
- **Q3. Can I partially apply a supplier credit note to a bill?**
52
-
53
- - Yes, you do not have to use the full amount in the supplier credit note.
54
- - You can adjust this via the **Amount to Apply**field. Enter an amount smaller than the supplier credit note amount to only apply the credit note partially.
55
-
56
- **Q4. Can I partially pay a bill using a supplier credit only?**
57
-
58
- - Yes, supplier credits do not have to cover the entire bill amount. You can apply as much of a supplier credit note as you would like to a bill.
59
- - The rest of the bill can be paid with other payment methods.
60
-
61
- **Q5. Can I remove an applied supplier credit note from a bill?**
62
-
63
- - Yes, you can remove an applied supplier credit note on a bill by updating the applied amount to 0.
64
- - Change the **Amount to Apply**amount to 0 on the **Edit Applied Credit**modal. This will remove all applied credit from the bill.
65
-
66
- **Q6. Does applying or removing a supplier credit note have an impact on my financial reports?**
67
-
68
- - There will be no further impact on your financial reports.
69
- - This is because the credits would have been accounted for during creation, appearing as a debit to Accounts Payable, and a credit to transaction account used on the bill.
70
- - The offset value date aligns with the later of the transaction date or the credit note date, ensuring accurate reporting across time zones. For example:
71
- - Transaction Date: 1 Jan 2025
72
- - Credit Note Date: 5 Jan 2025
73
- - Offset Value Date: 5 Jan 2025
74
-
75
- ---
76
-
77
39
  ### Bill Approval Records
78
40
  Source: https://help.jaz.ai/en/articles/9115415-bill-approval-records
79
41
 
@@ -152,6 +114,52 @@ Source: https://help.jaz.ai/en/articles/9104231-bill-receipts
152
114
 
153
115
  ---
154
116
 
117
+ ### Draft Bills & Payments
118
+ Source: https://help.jaz.ai/en/articles/9104224-draft-bills-payments
119
+
120
+ **Q1. Can I save a bill as a draft?**
121
+
122
+ - Yes, a bill can be saved as a draft even if all the mandatory fields are not filled.
123
+
124
+ **Q2. How can I convert a draft bill to an active one?**
125
+
126
+ - Any draft bill can be converted to active only after all the mandatory fields are filled.
127
+
128
+ **Q3. Can I save bill payment records as drafts?**
129
+
130
+ - Similar to bill records, bill payments can also be saved as a draft.
131
+
132
+ **Q4. How can I convert draft payment records to active ones?**
133
+
134
+ - For bills, any draft payments are converted only if the bill is also converted to active.
135
+ - Hence, to record the payment, the bill must be converted to active status.
136
+
137
+ **Q5. Can I delete a draft bill?**
138
+
139
+ - Yes, you can delete a draft bill. If the bill had a draft payment linked, it will also be deleted.
140
+
141
+ **Q6. Can I delete a draft bill payment?**
142
+
143
+ - Similar to draft bills, draft bill payments can also be deleted.
144
+
145
+ **Q7. Do draft bills affect my financial reports?**
146
+
147
+ - No, it does not. Financial reports are only affected once the bills are active.
148
+
149
+ **Q8. Do draft bill payments affect my financial reports?**
150
+
151
+ - No, it does not. Financial reports are only affected once the payments are active.
152
+
153
+ **Q9. Can I create a non-base currency draft bill?**
154
+
155
+ - Yes, the currency setting on a bill does not affect the ability to save it as a draft.
156
+
157
+ **Q10. Can I create a non-base currency draft bill payment?**
158
+
159
+ - Yes, you can save a bill payment as a draft even if it is in non-base currency.
160
+
161
+ ---
162
+
155
163
  ### Import Bills
156
164
  Source: https://help.jaz.ai/en/articles/9104236-import-bills
157
165