jaz-clio 4.34.0 → 4.34.2

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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-api
3
- version: 4.34.0
3
+ version: 4.34.2
4
4
  description: Complete reference for the Jaz REST API — the accounting platform backend. Use this skill whenever building, modifying, debugging, or extending any code that calls the API — including API clients, integrations, data seeding, test data, or new endpoint work. Contains every field name, response shape, error, gotcha, and edge case discovered through live production testing.
5
5
  license: MIT
6
6
  compatibility: Requires Jaz API key (x-jk-api-key header). Works with Claude Code, Google Antigravity, OpenAI Codex, GitHub Copilot, Cursor, and any agent that reads markdown.
@@ -284,7 +284,7 @@ Bills, invoices, and credit notes share identical mandatory field specs. Adding
284
284
  107. **20 Quick Fix endpoints for bulk-updating transactions and line items** — `POST /api/v1/quick-fix/{entity}` with `{ resourceIds: [...], attributes: {...} }`. Only included fields are changed — omitted fields are left unchanged. Response: `{ updated: string[], failed: [{ resourceId, error, errorCode }] }`. **HTTP status codes**: 200 = complete success (`failed` always empty). **207 Multi-Status** = partial or total failure with per-item detail (same response shape as 200 — check `failed` array). 422 = total failure with no per-item breakdown (rare). On 207, retry only `failed` resourceIds. Entities: **ARAP**: invoices, bills, customer-credit-notes, supplier-credit-notes. **Accounting**: journals, cash-entries. **Schedulers**: sale-schedules, purchase-schedules, subscription-schedules, journal-schedules. **Line-item request patterns**: ARAP + accounting use `{ lineItemResourceIds, attributes }`. Schedulers (sale/purchase/subscription) use Pattern C: `{ schedulerUpdates: [{ schedulerResourceId, lineItemUpdates: [{ arrayIndex, ...attrs }] }] }`. **Journal-schedules use Pattern D**: `lineItemResourceId` (UUID) instead of `arrayIndex`. **Field gotchas**: cash entries use `currencySetting` (singular: `{ rateFunctionalToSource, exchangeToken }`), NOT `currencySettings`. Journal schedules have `startDate` in addition to `endDate`/`interval`. Tags: string array, max 50 items, max 50 chars each.
285
285
 
286
286
  ### Transfer Trial Balance
287
- 108. **Transfer Trial Balance** (`POST /api/v1/transfer-trial-balance`) creates opening balance entries. Uses `journalEntries` (NOT `lines` — this is a journal type). Always ACTIVE (no draft mode), reference auto-generated as "Transfer Trial Balance", minimum 1 entry, entries cannot have 0 amounts, skips lock date validation. Each entry: `{ accountResourceId, type: "DEBIT"|"CREDIT", amount }`.
287
+ 108. **Transfer Trial Balance** (`POST /api/v1/transfer-trial-balance`) creates opening balance entries. Uses `journalEntries` (NOT `lines` — this is a journal type). Always ACTIVE (no draft mode), reference auto-generated as "Transfer Trial Balance", minimum 1 entry, entries cannot have 0 amounts, skips lock date validation. **`valueDate` must be today or in the past** — future dates are rejected with "Opening data cannot be future date". Each entry: `{ accountResourceId, type: "DEBIT"|"CREDIT", amount }`.
288
288
 
289
289
  ### Scheduler Dynamic Strings
290
290
  109. **Scheduler placeholder strings** — All scheduled transactions (invoices, bills, journals, subscriptions) support dynamic strings in any free text field (`reference`, line item `name`, `notes`). Strings are replaced with values relative to the **transaction date**: `{{Day}}` → day name (Monday), `{{Date}}` → full date (09 Mar 2026), `{{Date+X}}` → date + X days, `{{DateRange:X}}` → date range spanning X days (min 1, max 999), `{{Month}}` → month name (March), `{{Month+X}}` → month + X months, `{{MonthRange:X}}` → month range spanning X months, `{{Year}}` → year (2026), `{{Year+X}}` → year + X years. Example: `reference: "INV-{{Month}}-{{Year}}"` → `"INV-March-2026"` for a March transaction.
@@ -307,6 +307,9 @@ Bills, invoices, and credit notes share identical mandatory field specs. Adding
307
307
  ### Payment Record CRUD
308
308
  115. **Payment record CRUD** — `GET /payments/:resourceId` returns `{data: PaymentRecord}` (wrapped). Payment resourceIds come from invoice/bill GET response → `paymentRecords[].resourceId`. **Cashflow transaction IDs ≠ payment IDs** — don't mix them. `POST /cashflow-transactions/search` returns cashflow IDs, while payment CRUD uses separate payment IDs from the parent document.
309
309
 
310
+ 116. **PaymentMethod accepts 11 values** — All payment endpoints (invoices, bills, credit note refunds, payment updates) accept: `CASH`, `BANK_TRANSFER`, `CREDIT_CARD`, `CHEQUE`, `E_WALLET`, `WITHHOLDING_TAX_CERTIFICATE`, `CLEARING_SETTLEMENT`, `DEBT_WRITE_OFF`, `INTER_COMPANY`, `OTHER`, `PAYMENT_GATEWAY`. Default is `BANK_TRANSFER`. The OAS previously listed only 7 — the API runtime already accepted all 11.
311
+ 117. **Fixed asset sale accepts PURCHASE type** — `saleBusinessTransactionType` in mark-as-sold accepts `SALE`, `PURCHASE`, or `JOURNAL_MANUAL`. Use `PURCHASE` when the disposal is linked to a purchase-side transaction (e.g., trade-in).
312
+
310
313
  ## Supporting Files
311
314
 
312
315
  For detailed reference, read these files in this skill directory:
@@ -283,7 +283,7 @@ DELETE → expects "A" (parentEntityResourceId, via /cash-entries/:id)
283
283
  | `amount` | `paymentAmount` | **Bank account currency** — actual cash moved. NOT `amount`. |
284
284
  | (none) | `transactionAmount` | **Transaction document currency (invoice/bill/credit note)** — amount applied to balance. Equal to `paymentAmount` for same-currency. For FX: differs (e.g., USD invoice paid from SGD bank at 1.35 → `paymentAmount: 1350`, `transactionAmount: 1000`). |
285
285
  | `bankAccountResourceId` | `accountResourceId` | Canonical is `accountResourceId`. **Alias `bankAccountResourceId` now accepted on POST.** |
286
- | (none) | `paymentMethod` | Required: `"BANK_TRANSFER"` |
286
+ | (none) | `paymentMethod` | Default: `"BANK_TRANSFER"`. Full enum: `CASH`, `BANK_TRANSFER`, `CREDIT_CARD`, `CHEQUE`, `E_WALLET`, `WITHHOLDING_TAX_CERTIFICATE`, `CLEARING_SETTLEMENT`, `DEBT_WRITE_OFF`, `INTER_COMPANY`, `OTHER`, `PAYMENT_GATEWAY` |
287
287
  | (none) | `reference` | Required: payment reference string |
288
288
  | `date` / `paymentDate` | `valueDate` | NOT `paymentDate`, NOT `date`. Must be `YYYY-MM-DD` |
289
289
  | (flat object) | `{ payments: [...] }` | Must be wrapped in array |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-conversion
3
- version: 4.34.0
3
+ version: 4.34.2
4
4
  description: Accounting data conversion skill — migrates customer data from Xero, QuickBooks, Sage, MYOB, and Excel exports to Jaz. Covers config, quick, and full conversion workflows, Excel parsing, CoA/contact/tax/items mapping, clearing accounts, TTB, and TB verification.
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-jobs
3
- version: 4.34.0
3
+ version: 4.34.2
4
4
  description: 12 accounting jobs for SMB bookkeepers and accountants — month-end, quarter-end, and year-end close playbooks plus 9 ad-hoc operational jobs (bank recon, document collection, GST/VAT filing, payment runs, credit control, supplier recon, audit prep, fixed asset review, statutory filing). Jobs can have paired tools as nested subcommands (e.g., `clio jobs bank-recon match`, `clio jobs document-collection ingest`, `clio jobs statutory-filing sg-cs`). Paired with an interactive CLI blueprint generator (clio jobs).
5
5
  license: MIT
6
6
  compatibility: Works with Claude Code, Claude Cowork, Claude.ai, and any agent that reads markdown. For API payloads, load the jaz-api skill. For individual transaction patterns, load the jaz-recipes skill.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-recipes
3
- version: 4.34.0
3
+ version: 4.34.2
4
4
  description: 16 IFRS-compliant recipes for complex multi-step accounting in Jaz — prepaid amortization, deferred revenue, loan schedules, IFRS 16 leases, hire purchase, fixed deposits, asset disposal, FX revaluation, ECL provisioning, IAS 37 provisions, dividends, intercompany, and capital WIP. Each recipe includes journal entries, capsule structure, and verification steps. Paired with 13 financial calculators that produce execution-ready blueprints with workings.
5
5
  license: MIT
6
6
  compatibility: Works with Claude Code, Claude Cowork, Claude.ai, and any agent that reads markdown. For API payloads, load the jaz-api skill alongside this one.
@@ -136,6 +136,15 @@ const LINE_ITEM_PARAM = {
136
136
  },
137
137
  description: 'Line items — include accountResourceId on each line when finalizing (saveAsDraft: false)',
138
138
  };
139
+ const PAYMENT_METHOD_PARAM = {
140
+ type: 'string',
141
+ enum: [
142
+ 'CASH', 'BANK_TRANSFER', 'CREDIT_CARD', 'CHEQUE', 'E_WALLET',
143
+ 'WITHHOLDING_TAX_CERTIFICATE', 'CLEARING_SETTLEMENT',
144
+ 'DEBT_WRITE_OFF', 'INTER_COMPANY', 'OTHER', 'PAYMENT_GATEWAY',
145
+ ],
146
+ description: 'Payment method (default BANK_TRANSFER)',
147
+ };
139
148
  // ── Helper to extract common input fields ────────────────────────
140
149
  function extractPaginationInput(input) {
141
150
  const limit = input.limit;
@@ -604,11 +613,7 @@ export const TOOL_DEFINITIONS = [
604
613
  accountResourceId: { type: 'string', description: 'Bank/cash account resourceId for payment' },
605
614
  valueDate: { type: 'string', description: 'Payment date (YYYY-MM-DD)' },
606
615
  reference: { type: 'string', description: 'Payment reference' },
607
- paymentMethod: {
608
- type: 'string',
609
- enum: ['CASH', 'BANK_TRANSFER', 'CREDIT_CARD', 'CHEQUE', 'E_WALLET', 'OTHER'],
610
- description: 'Payment method (default BANK_TRANSFER)',
611
- },
616
+ paymentMethod: PAYMENT_METHOD_PARAM,
612
617
  customFields: CUSTOM_FIELDS_PARAM,
613
618
  },
614
619
  required: ['resourceId', 'paymentAmount', 'accountResourceId', 'valueDate'],
@@ -806,7 +811,7 @@ Steps: 1) search_customer_credit_notes with status UNAPPLIED for the same contac
806
811
  accountResourceId: { type: 'string' },
807
812
  valueDate: { type: 'string' },
808
813
  reference: { type: 'string' },
809
- paymentMethod: { type: 'string' },
814
+ paymentMethod: PAYMENT_METHOD_PARAM,
810
815
  customFields: CUSTOM_FIELDS_PARAM,
811
816
  },
812
817
  required: ['resourceId', 'paymentAmount', 'accountResourceId', 'valueDate'],
@@ -1483,11 +1488,7 @@ Steps: 1) search_customer_credit_notes with status UNAPPLIED for the same contac
1483
1488
  accountResourceId: { type: 'string', description: 'Bank/cash account resourceId' },
1484
1489
  valueDate: { type: 'string', description: 'Payment date (YYYY-MM-DD)' },
1485
1490
  reference: { type: 'string', description: 'Payment reference' },
1486
- paymentMethod: {
1487
- type: 'string',
1488
- enum: ['CASH', 'BANK_TRANSFER', 'CREDIT_CARD', 'CHEQUE', 'E_WALLET', 'OTHER'],
1489
- description: 'Payment method (default BANK_TRANSFER)',
1490
- },
1491
+ paymentMethod: PAYMENT_METHOD_PARAM,
1491
1492
  },
1492
1493
  required: ['creditNoteId', 'paymentAmount', 'accountResourceId', 'valueDate'],
1493
1494
  group: 'customer_credit_notes',
@@ -1658,11 +1659,7 @@ Steps: 1) search_customer_credit_notes with status UNAPPLIED for the same contac
1658
1659
  accountResourceId: { type: 'string', description: 'Bank/cash account resourceId' },
1659
1660
  valueDate: { type: 'string', description: 'Payment date (YYYY-MM-DD)' },
1660
1661
  reference: { type: 'string', description: 'Payment reference' },
1661
- paymentMethod: {
1662
- type: 'string',
1663
- enum: ['CASH', 'BANK_TRANSFER', 'CREDIT_CARD', 'CHEQUE', 'E_WALLET', 'OTHER'],
1664
- description: 'Payment method (default BANK_TRANSFER)',
1665
- },
1662
+ paymentMethod: PAYMENT_METHOD_PARAM,
1666
1663
  },
1667
1664
  required: ['creditNoteId', 'paymentAmount', 'accountResourceId', 'valueDate'],
1668
1665
  group: 'supplier_credit_notes',
@@ -3328,7 +3325,7 @@ Dynamic strings for name/reference: {{bankReference}} (e.g., INV-03/01/2025-01),
3328
3325
  resourceId: { type: 'string', description: 'Fixed asset resourceId' },
3329
3326
  depreciationEndDate: { type: 'string', description: 'Final depreciation date (YYYY-MM-DD)' },
3330
3327
  assetDisposalGainLossAccountResourceId: { type: 'string', description: 'Gain/loss account resourceId' },
3331
- saleBusinessTransactionType: { type: 'string', enum: ['SALE', 'JOURNAL_MANUAL'], description: 'Sale transaction type' },
3328
+ saleBusinessTransactionType: { type: 'string', enum: ['SALE', 'PURCHASE', 'JOURNAL_MANUAL'], description: 'Sale transaction type' },
3332
3329
  saleItemResourceId: { type: 'string', description: 'Sale item resourceId' },
3333
3330
  },
3334
3331
  required: ['resourceId', 'depreciationEndDate', 'assetDisposalGainLossAccountResourceId', 'saleBusinessTransactionType', 'saleItemResourceId'],
@@ -4408,7 +4405,7 @@ Response: { updated: string[], failed: [{ resourceId, error, errorCode }] }. On
4408
4405
  endDate: { type: 'string', description: 'Last occurrence date (YYYY-MM-DD)' },
4409
4406
  status: { type: 'string', description: 'Status: ACTIVE or PAUSED' },
4410
4407
  valueDate: { type: 'string', description: 'Journal date (YYYY-MM-DD)' },
4411
- schedulerEntries: { type: 'array', description: 'Journal entries: [{ accountResourceId, type: CREDIT|DEBIT, amount, ... }]' },
4408
+ schedulerEntries: { type: 'array', items: { type: 'object' }, description: 'Journal entries: [{ accountResourceId, type: CREDIT|DEBIT, amount, ... }]' },
4412
4409
  reference: { type: 'string', description: 'Journal reference' },
4413
4410
  notes: { type: 'string', description: 'Journal notes' },
4414
4411
  },
@@ -4447,7 +4444,7 @@ Response: { updated: string[], failed: [{ resourceId, error, errorCode }] }. On
4447
4444
  paymentAmount: { type: 'number', description: 'Corrected payment amount (bank currency)' },
4448
4445
  reference: { type: 'string', description: 'Payment reference' },
4449
4446
  valueDate: { type: 'string', description: 'Payment date (YYYY-MM-DD)' },
4450
- paymentMethod: { type: 'string', description: 'Payment method (BANK_TRANSFER, CASH, CHEQUE, etc.)' },
4447
+ paymentMethod: PAYMENT_METHOD_PARAM,
4451
4448
  accountResourceId: { type: 'string', description: 'Bank/cash account resourceId' },
4452
4449
  transactionFee: { type: 'number', description: 'Transaction fee amount' },
4453
4450
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jaz-clio",
3
- "version": "4.34.0",
3
+ "version": "4.34.2",
4
4
  "description": "Clio — Command Line Interface Orchestrator for Jaz AI.",
5
5
  "type": "module",
6
6
  "bin": {