jaz-clio 5.15.0 → 5.16.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.
- package/README.md +5 -8
- package/assets/skills/api/SKILL.md +5 -6
- package/assets/skills/cli/SKILL.md +3 -5
- package/assets/skills/conversion/SKILL.md +3 -8
- package/assets/skills/jaz-pseudo-sql/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +41 -33
- package/assets/skills/jobs/references/audit-prep.md +28 -31
- package/assets/skills/jobs/references/bank-recon.md +18 -20
- package/assets/skills/jobs/references/building-blocks.md +23 -24
- package/assets/skills/jobs/references/credit-control.md +17 -20
- package/assets/skills/jobs/references/document-collection.md +16 -19
- package/assets/skills/jobs/references/fa-review.md +28 -31
- package/assets/skills/jobs/references/gst-vat-filing.md +13 -17
- package/assets/skills/jobs/references/month-end-close.md +38 -44
- package/assets/skills/jobs/references/payment-run.md +14 -18
- package/assets/skills/jobs/references/quarter-end-close.md +29 -35
- package/assets/skills/jobs/references/supplier-recon.md +16 -19
- package/assets/skills/jobs/references/year-end-close.md +26 -32
- package/assets/skills/transaction-recipes/SKILL.md +36 -36
- package/assets/skills/transaction-recipes/references/accrued-expenses.md +15 -15
- package/assets/skills/transaction-recipes/references/asset-disposal.md +11 -11
- package/assets/skills/transaction-recipes/references/bad-debt-provision.md +12 -12
- package/assets/skills/transaction-recipes/references/bank-loan.md +16 -16
- package/assets/skills/transaction-recipes/references/capital-wip.md +7 -7
- package/assets/skills/transaction-recipes/references/declining-balance.md +9 -9
- package/assets/skills/transaction-recipes/references/deferred-revenue.md +9 -9
- package/assets/skills/transaction-recipes/references/dividend.md +11 -11
- package/assets/skills/transaction-recipes/references/employee-accruals.md +12 -12
- package/assets/skills/transaction-recipes/references/fixed-deposit.md +8 -8
- package/assets/skills/transaction-recipes/references/fx-revaluation.md +8 -8
- package/assets/skills/transaction-recipes/references/hire-purchase.md +3 -3
- package/assets/skills/transaction-recipes/references/ifrs16-lease.md +12 -12
- package/assets/skills/transaction-recipes/references/intercompany.md +17 -18
- package/assets/skills/transaction-recipes/references/prepaid-amortization.md +10 -10
- package/assets/skills/transaction-recipes/references/provisions.md +9 -9
- package/assets/templates/platform-rules/jaz-agent-rules.md +2 -10
- package/cli.mjs +528 -532
- package/package.json +1 -1
- package/assets/skills/practice/SKILL.md +0 -120
- package/assets/skills/practice/references/annual-statutory.md +0 -265
- package/assets/skills/practice/references/client-md-schema.md +0 -68
- package/assets/skills/practice/references/engagement-md-schema.md +0 -69
- package/assets/skills/practice/references/monthly-close.md +0 -189
- package/assets/skills/practice/references/onboarding.md +0 -207
- package/assets/skills/practice/references/quarterly-gst.md +0 -191
- package/assets/skills/practice/references/troubleshooting.md +0 -70
- package/assets/templates/CLIENT.md +0 -73
- package/assets/templates/ENGAGEMENT.md +0 -40
- package/assets/templates/PRACTICE.md +0 -22
- package/assets/templates/engagement-types/annual-statutory.md +0 -92
- package/assets/templates/engagement-types/monthly-close.md +0 -59
- package/assets/templates/engagement-types/onboarding.md +0 -101
- package/assets/templates/engagement-types/quarterly-gst.md +0 -59
package/README.md
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
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-283-blue?style=for-the-badge" alt="283 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
|
+
283 tools. 13 financial calculators. 12 job playbooks. 130 API rules. 16 IFRS recipes.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g jaz-clio
|
|
@@ -19,7 +19,7 @@ Requires **Node.js 18+** ([nodejs.org](https://nodejs.org)). Also fully compatib
|
|
|
19
19
|
|
|
20
20
|
- [Three Ways In](#three-ways-in) — CLI, MCP, Skills
|
|
21
21
|
- [CLI](#cli) — 55 command groups
|
|
22
|
-
- [MCP Server](#mcp-server) —
|
|
22
|
+
- [MCP Server](#mcp-server) — 283 tools for AI agents
|
|
23
23
|
- [Skills](#skills) — Teach any AI the Jaz API
|
|
24
24
|
- [Setup](#setup) — Auth, multi-org, automation
|
|
25
25
|
- [Semantic help-center search](#help-center-semantic-search-optional) — Optional OpenAI-backed retrieval
|
|
@@ -45,18 +45,15 @@ clio jobs month-end --period 2026-03 # Step-by-step close playbook
|
|
|
45
45
|
clio magic create --file receipt.pdf # AI extracts → draft transaction
|
|
46
46
|
clio invoices search --query 'status:unpaid AND $500+' # Structured per-entity search
|
|
47
47
|
clio invoices search --query 'status:unpaid' --view lean # Compact summary rows (id + key fields), then drill in with get
|
|
48
|
-
clio practice init --firm-name "My Firm" # Set up a client workspace at ~/Documents/Jaz Practice
|
|
49
|
-
clio practice onboard --name "Acme Pte Ltd" --fy-end 12-31 --gst quarterly
|
|
50
|
-
clio practice create-engagement acme-pte-ltd --type monthly-close --period 2026-03
|
|
51
48
|
```
|
|
52
49
|
|
|
53
|
-
55 command groups. 16 report types. 13 calculators. 12 job playbooks.
|
|
50
|
+
55 command groups. 16 report types. 13 calculators. 12 job playbooks. Every command supports `--json`. Run `clio --help` for the full list.
|
|
54
51
|
|
|
55
52
|
---
|
|
56
53
|
|
|
57
54
|
## MCP Server
|
|
58
55
|
|
|
59
|
-
|
|
56
|
+
283 CLI tools, available to any AI agent that speaks MCP. Runs locally — no cloud, no ports.
|
|
60
57
|
|
|
61
58
|
**Claude Code:**
|
|
62
59
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-api
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.16.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, 141 production gotchas, error
|
|
@@ -10,7 +10,7 @@ description: >-
|
|
|
10
10
|
schedulers, subscriptions, attachments, and Jaz Magic extraction. Also use
|
|
11
11
|
when building API clients, seeding test data, or adding new endpoint support.
|
|
12
12
|
license: MIT
|
|
13
|
-
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.
|
|
13
|
+
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.
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# Jaz API Skill
|
|
@@ -27,11 +27,11 @@ Before touching this skill's HTTP details, check what's actually available:
|
|
|
27
27
|
|
|
28
28
|
The rest of this skill — field names, gotchas, error catalog, dependency order, search filter syntax — applies regardless of invocation path. Read it for *context*, not for HTTP-call construction unless you're in the third bucket.
|
|
29
29
|
|
|
30
|
-
## Reading Order
|
|
30
|
+
## Reading Order
|
|
31
31
|
|
|
32
|
-
**
|
|
32
|
+
**Core fundamentals (read first, every integration):** Identifiers & Dates 1–3; Names & Fields 9–13; Transaction Creation 14–16; Chart of Accounts 17–22; Payments / Cross-Currency 4–8; Journals & Cash 23–26; Credit Notes & Refunds 27–28; Reports 36–37; Tax Profile Scoping 100; Transaction References 104; Draft Finalization Pipeline 81–88; Jaz Magic / PDF-JPG 57–63; Currency Rates 39, 49, 105; Withholding Tax 45, 98.
|
|
33
33
|
|
|
34
|
-
**
|
|
34
|
+
**Integration depth (API clients, pipelines, batch jobs, MCP/CLI):** Bulk Upsert (Items/Contacts/Rates); Background Jobs (filter `resourceId` not `jobId`); Export Records; Pagination (38); Search & Filter (50–56); Response Shape Gotchas (66–73); Cash Entry Response Shape (74–77); Entity Resolution (78–80); Bank Rules (89–90c); Fixed Assets (91–92c); Subscriptions & Scheduled (93–94); niche endpoints (95–102); Journals balance (103); Quick Fix (107, 111); TTB (108); Dynamic Strings (109–110); Sub-Resource Shapes (112); Nano-Classifier (113); Scheduler Asymmetry (114); Payment Record CRUD (115–117); Bulk Upserts transactions (118–122); Reconciliation write-side (123–127); Drafts lifecycle (128–135); Orders — Sale Quotes / Sale Orders / Purchase Requests / Purchase Orders (`references/orders.md`).
|
|
35
35
|
|
|
36
36
|
## When to Use This Skill
|
|
37
37
|
|
|
@@ -546,4 +546,3 @@ Supports `--json` for structured output. 186 articles across 20 sections. Automa
|
|
|
546
546
|
- **jaz-jobs** — 12 accounting job playbooks (month-end close, bank recon, GST/VAT filing, etc.)
|
|
547
547
|
- **jaz-conversion** — Data migration workflows from Xero, QuickBooks, Sage, MYOB, and Excel
|
|
548
548
|
- **jaz-cli** — CLI command reference, auth, output formats, pagination, and workflow patterns
|
|
549
|
-
- **jaz-practice** — Practitioner workspace + engagement-type wrapper (CLIENT.md, ENGAGEMENT.md, monthly-close / quarterly-gst / annual-statutory / onboarding playbooks); loads the gotchas above with concrete CLIENT.md-driven inputs (COA, materiality, JAZ_API_KEY override).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-cli
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.16.0
|
|
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,
|
|
@@ -15,7 +15,7 @@ compatibility: Requires Node.js >= 18.0.0. Install via npm install -g jaz-clio.
|
|
|
15
15
|
|
|
16
16
|
# Clio CLI Skill
|
|
17
17
|
|
|
18
|
-
> **Audience note:** for power users and CI/automation.
|
|
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
20
|
You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting platform. 55 command groups, 13 calculators, 12 job blueprints, 274 agent tools. Also fully compatible with Juan Accounting (same API, same endpoints).
|
|
21
21
|
|
|
@@ -38,9 +38,8 @@ You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting pl
|
|
|
38
38
|
| IFRS transaction recipes (depreciation, leases, loans) | **jaz-recipes** |
|
|
39
39
|
| Month-end close, bank recon, GST filing workflows | **jaz-jobs** |
|
|
40
40
|
| Migration from Xero/QuickBooks/Sage | **jaz-conversion** |
|
|
41
|
-
| Client + engagement workspace (CLIENT.md, ENGAGEMENT.md, engagement types) | **jaz-practice** |
|
|
42
41
|
|
|
43
|
-
Use **jaz-cli** when running commands. Use **jaz-api** when debugging API errors or understanding field mappings.
|
|
42
|
+
Use **jaz-cli** when running commands. Use **jaz-api** when debugging API errors or understanding field mappings.
|
|
44
43
|
|
|
45
44
|
## Auth Precedence
|
|
46
45
|
|
|
@@ -368,4 +367,3 @@ See [references/agent-gotchas.md](./references/agent-gotchas.md) for the full li
|
|
|
368
367
|
- **jaz-recipes** — 16 IFRS-compliant transaction recipes with calculators and capsules
|
|
369
368
|
- **jaz-jobs** — 12 accounting job playbooks (month-end close, bank recon, GST/VAT filing, etc.)
|
|
370
369
|
- **jaz-conversion** — Data migration workflows from Xero, QuickBooks, Sage, MYOB, and Excel
|
|
371
|
-
- **jaz-practice** — Practitioner workspace + engagement-type wrapper (CLIENT.md, ENGAGEMENT.md, onboarding / monthly-close / quarterly-gst / annual-statutory). Practice tools (`practice_init`, `practice_onboard_client`, etc.) live in the MCP surface, not the CLI.
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-conversion
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.16.0
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill when migrating accounting data into Jaz — importing from Xero,
|
|
6
6
|
QuickBooks, Sage, MYOB, or Excel exports. Covers the full conversion pipeline:
|
|
7
7
|
analyzing source files, mapping Chart of Accounts, contacts, tax profiles, and
|
|
8
8
|
items, creating clearing accounts, running TTB (trial transaction balance),
|
|
9
9
|
and verifying TB. Also use when the user mentions data migration, conversion,
|
|
10
|
-
import, or switching accounting software
|
|
11
|
-
|
|
12
|
-
Sage, or MYOB — see `jaz-practice/references/onboarding.md` for the
|
|
13
|
-
client-folder-aware wrapper that invokes this skill.
|
|
10
|
+
import, or switching accounting software — whenever a customer's prior system
|
|
11
|
+
is Xero, QuickBooks, Sage, MYOB, or an Excel-based ledger.
|
|
14
12
|
---
|
|
15
13
|
|
|
16
14
|
# Jaz Conversion Skill
|
|
@@ -21,8 +19,6 @@ You are performing an **accounting data conversion** — migrating a customer's
|
|
|
21
19
|
|
|
22
20
|
**This skill provides Jaz-contextual conversion domain knowledge. For API details (field names, endpoints, gotchas), load the `jaz-api` skill alongside this one.**
|
|
23
21
|
|
|
24
|
-
**Engagement context:** when this skill is invoked from inside a `jaz-practice` client folder, the onboarding flow (`practice_onboard_client`) loads CLIENT.md to capture FY-end, GST scheme, banking, and the prior firm's name — then routes to this skill for the actual data move. After conversion completes (Step 7 verification), the practitioner closes the onboarding engagement and the recurring engagement cadence (monthly-close / quarterly-gst / annual-statutory) takes over. See `jaz-practice/references/onboarding.md` for the complete sequence.
|
|
25
|
-
|
|
26
22
|
## Guided in-app data transfer
|
|
27
23
|
|
|
28
24
|
Jaz also has a guided **Data Transfer** flow available in Settings (Xero, QuickBooks, Sage, MYOB).
|
|
@@ -164,4 +160,3 @@ If TB doesn't match, identify the discrepancy:
|
|
|
164
160
|
- **jaz-api** — Field names, endpoints, error codes, and gotchas (load alongside this skill)
|
|
165
161
|
- **jaz-recipes** — Transaction recipes for complex IFRS scenarios encountered during conversion
|
|
166
162
|
- **jaz-jobs** — Post-conversion operational workflows (month-end close, bank recon, etc.)
|
|
167
|
-
- **jaz-practice** — Client-folder + engagement wrapper. The onboarding flow (`practice_onboard_client` + `jaz-practice/references/onboarding.md`) is the typical entry point for invoking this skill: it captures CLIENT.md basics, scaffolds the client folder, and routes to this skill for the data move. After verification passes, the recurring engagement cadence (monthly-close / quarterly-gst / annual-statutory) begins.
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-jobs
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.16.0
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill for recurring accounting workflows — month/quarter/year-end
|
|
6
6
|
close, bank reconciliation, GST/VAT filing, payment runs, credit control,
|
|
7
7
|
supplier recon, audit prep, fixed asset review, and Singapore Form C-S tax
|
|
8
|
-
computation. 12 job playbooks
|
|
9
|
-
when the user mentions closing the books,
|
|
10
|
-
operational accounting task.
|
|
8
|
+
computation. 12 job playbooks that sequence real platform tools into complete
|
|
9
|
+
business processes. Also use when the user mentions closing the books,
|
|
10
|
+
period-end, tax filing, or any operational accounting task.
|
|
11
11
|
license: MIT
|
|
12
|
-
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.
|
|
12
|
+
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.
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# Jobs Skill
|
|
16
16
|
|
|
17
17
|
You are helping an **SMB accountant or bookkeeper** complete recurring accounting tasks in Jaz — period-end closes, bank reconciliation, tax filing, payment processing, and operational reviews. These are the real jobs that keep the books accurate and the business compliant.
|
|
18
18
|
|
|
19
|
-
> **Jaz-native, not generic.** Every job in this skill names specific Jaz
|
|
19
|
+
> **Jaz-native, not generic.** Every job in this skill names specific Jaz tools (`search_invoices`, `quick_reconcile`, `bulk_finalize_drafts`, `reconcile_with_payments`, report tools like `generate_trial_balance`, `download_export`), Jaz reconciliation modes, and Jaz capsule patterns. It is NOT an interchangeable accounting workflow reference; it is the operating manual for running these processes through the Jaz platform tools. When the playbook says "match bank entries", it means call the 5-phase cascade matcher (`clio jobs bank-recon match` for a local CLI run, or follow the cascade logic in `references/bank-match.md` and drive the `reconcile_*` tools directly), not "use any matching algorithm".
|
|
20
20
|
|
|
21
|
-
**Jobs combine recipes, calculators, and
|
|
21
|
+
**Jobs combine recipes, calculators, and platform tools into complete business processes.** If recipes are ingredients, jobs are the meal. Each per-job reference is the canonical end-to-end orchestration: it lists the phases, and for each step names the exact report tool, recipe, or API call to run.
|
|
22
|
+
|
|
23
|
+
## How to run a job
|
|
24
|
+
|
|
25
|
+
You orchestrate the **real platform tools directly**, following the phase sequence in the per-job reference:
|
|
26
|
+
|
|
27
|
+
- **Hosted / MCP agent (no shell):** the per-job reference is your checklist. Walk its phases in order and call the named platform tools — `plan_recipe` / `execute_recipe`, `search_invoices` / `search_bills` / `search_bank_records`, the `generate-reports/*` report tools (`generate_trial_balance`, `generate_aged_ar`, `generate_vat_ledger`, …), `reconcile_*`, `create_journal`, `bulk_finalize_drafts`, `update_account` lockDate, and so on. There is no separate "blueprint tool" to call — the reference IS the plan.
|
|
28
|
+
- **Local CLI convenience:** if you're running `clio` in a terminal (e.g. Claude Code), `clio jobs <type> --json` prints the same phased checklist for the period so a human or script can follow it. This is a convenience, not the main path for a hosted agent — the platform tools above are the path that actually does the work.
|
|
22
29
|
|
|
23
30
|
## When to Use This Skill
|
|
24
31
|
|
|
@@ -38,41 +45,43 @@ You are helping an **SMB accountant or bookkeeper** complete recurring accountin
|
|
|
38
45
|
|
|
39
46
|
Period-close jobs build on each other. Quarter = month + extras. Year = quarter + extras. Each level runs **standalone by default** (includes all steps from lower levels). Use `--incremental` to generate only the extras.
|
|
40
47
|
|
|
41
|
-
| Job | CLI
|
|
42
|
-
|
|
43
|
-
| **Month-End Close**
|
|
44
|
-
| **Quarter-End Close**
|
|
45
|
-
| **Year-End Close**
|
|
48
|
+
| Job | CLI (local convenience) | Description |
|
|
49
|
+
|-----|-------------------------|-------------|
|
|
50
|
+
| **Month-End Close** | `clio jobs month-end --period YYYY-MM` | 5 phases: pre-close prep, accruals, valuations, verification, lock. The foundation. |
|
|
51
|
+
| **Quarter-End Close** | `clio jobs quarter-end --period YYYY-QN` | Month-end for each month + GST/VAT, ECL review, bonus accruals, intercompany, provision unwinding. |
|
|
52
|
+
| **Year-End Close** | `clio jobs year-end --period YYYY` | Quarter-end for each quarter + true-ups, dividends, retained-earnings rollover, audit prep, final lock. |
|
|
46
53
|
|
|
47
54
|
### Ad-Hoc Jobs
|
|
48
55
|
|
|
49
|
-
| Job | CLI
|
|
50
|
-
|
|
51
|
-
| **Bank Recon**
|
|
52
|
-
| **Document Collection**
|
|
53
|
-
| **GST/VAT Filing**
|
|
54
|
-
| **Payment Run**
|
|
55
|
-
| **Credit Control**
|
|
56
|
-
| **Supplier Recon**
|
|
57
|
-
| **Audit Preparation**
|
|
58
|
-
| **FA Review**
|
|
59
|
-
| **Statutory Filing**
|
|
56
|
+
| Job | CLI (local convenience) | Description |
|
|
57
|
+
|-----|-------------------------|-------------|
|
|
58
|
+
| **Bank Recon** | `clio jobs bank-recon` | Clear unreconciled items: match, categorize, resolve. **Match to EXISTING open bills/invoices/payments (`reconcile_with_payments`) is the primary path — create-new only when nothing matches.** Drive end-to-end via the `view_auto_reconciliation` decision gate (auto-commit high-confidence, checkpoint the rest — see `references/bank-recon.md` Step 4a). Cascade matcher: `clio jobs bank-recon match`. |
|
|
59
|
+
| **Document Collection** | `clio jobs document-collection` | Scan and classify client documents from local directories and cloud links (Dropbox, Drive, OneDrive). Outputs file paths for upload via Jaz Magic. Ingest helper: `clio jobs document-collection ingest`. |
|
|
60
|
+
| **GST/VAT Filing** | `clio jobs gst-vat --period YYYY-QN` | Tax ledger review, discrepancy check, filing summary. |
|
|
61
|
+
| **Payment Run** | `clio jobs payment-run` | Select outstanding bills by due date, process payments. |
|
|
62
|
+
| **Credit Control** | `clio jobs credit-control` | AR aging review, overdue chase list, bad debt assessment. Run on-demand when AR aging deteriorates. |
|
|
63
|
+
| **Supplier Recon** | `clio jobs supplier-recon` | AP vs supplier statement, identify mismatches. Run for major suppliers and at year-end for audit AP confirmations. |
|
|
64
|
+
| **Audit Preparation** | `clio jobs audit-prep --period YYYY` | Compile reports, schedules, reconciliations for auditor/tax. |
|
|
65
|
+
| **FA Review** | `clio jobs fa-review` | Fixed asset register review, disposal/write-off processing. Run as part of year-end. |
|
|
66
|
+
| **Statutory Filing** | `clio jobs statutory-filing` | Corporate income tax computation. CLI engines: `clio jobs statutory-filing sg-cs` (Form C-S computation), `clio jobs statutory-filing sg-ca` (capital allowance schedule). See the SG Form C-S section below. |
|
|
60
67
|
|
|
61
68
|
## How Jobs Work
|
|
62
69
|
|
|
63
|
-
Each job
|
|
70
|
+
Each per-job reference is a **phased checklist** of steps. Each step names:
|
|
64
71
|
|
|
65
|
-
- **API call** — the exact
|
|
72
|
+
- **API call** — the exact platform tool + request body to execute the step
|
|
66
73
|
- **Recipe reference** — link to the transaction-recipes skill for complex accounting patterns
|
|
67
|
-
- **Calculator command** — `clio calc` command for financial
|
|
74
|
+
- **Calculator command** — `clio calc` command for independent financial cross-checks
|
|
68
75
|
- **Verification check** — how to confirm the step was completed correctly
|
|
69
76
|
- **Conditional flag** — steps that only apply in certain situations (e.g., "only if multi-currency org")
|
|
70
77
|
|
|
71
|
-
**For AI agents:**
|
|
72
|
-
**For developers:**
|
|
73
|
-
**For accountants:**
|
|
78
|
+
**For AI agents (hosted or CLI):** walk the phases in the per-job reference and call the named platform tools directly. Use the jaz-api skill for payload shapes.
|
|
79
|
+
**For developers / scripts:** `clio jobs <type> --json` prints the phased checklist as JSON to drive automation pipelines.
|
|
80
|
+
**For accountants:** use the formatted checklist (`clio jobs <type>`) to work through the close systematically.
|
|
81
|
+
|
|
82
|
+
## CLI Usage (local convenience)
|
|
74
83
|
|
|
75
|
-
|
|
84
|
+
These commands print the phased checklist for a period. They are a terminal convenience — a hosted agent drives the platform tools named in each reference directly.
|
|
76
85
|
|
|
77
86
|
```bash
|
|
78
87
|
# Period-close (standalone = full plan, --incremental = extras only)
|
|
@@ -96,10 +105,9 @@ clio jobs fa-review [--json]
|
|
|
96
105
|
|-------|------|
|
|
97
106
|
| **jaz-api** | Provides the exact API payloads for each step (field names, gotchas, error handling) |
|
|
98
107
|
| **jaz-recipes** | Provides the accounting patterns for complex steps (accruals, FX reval, ECL, etc.) |
|
|
99
|
-
| **jaz-jobs** (this skill) | Combines recipes +
|
|
100
|
-
| **jaz-practice** | Wraps these blueprints inside the practitioner's client + engagement context. The 12 blueprints map to engagement types: month-end / quarter-end / bank-recon / payment-run → monthly-close; gst-vat → quarterly-gst; year-end / audit-prep / fa-review / supplier-recon / statutory-filing → annual-statutory; document-collection → onboarding flow + every engagement open phase; credit-control → ad-hoc. |
|
|
108
|
+
| **jaz-jobs** (this skill) | Combines recipes + platform tools into sequenced, verifiable business processes |
|
|
101
109
|
|
|
102
|
-
**Load all three skills together** for the complete picture. Jobs reference recipes by name —
|
|
110
|
+
**Load all three skills together** for the complete picture. Jobs reference recipes by name — read the referenced recipe for implementation details.
|
|
103
111
|
|
|
104
112
|
## Supporting Files
|
|
105
113
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# Audit Preparation
|
|
2
2
|
|
|
3
|
-
> Compile the report pack + supporting schedules + reconciliations an auditor or tax agent needs to issue an opinion or file a return.
|
|
3
|
+
> Compile the report pack + supporting schedules + reconciliations an auditor or tax agent needs to issue an opinion or file a return. Walk the steps below in order, calling the named platform tools directly. (Local CLI convenience: `clio jobs audit-prep --period <YYYY>` prints this same phased deliverables checklist.)
|
|
4
4
|
|
|
5
5
|
## Tools, recipes, calculators this job uses
|
|
6
6
|
|
|
7
|
-
###
|
|
8
|
-
- **`generate_audit_prep_blueprint`** — used in step 1: emit the phased deliverables list for the period.
|
|
7
|
+
### Platform tools — financial statements
|
|
9
8
|
- **`generate_trial_balance(period_end: <FY-end>)`** — step 2: master reconciliation. Every other report ties back to this.
|
|
10
9
|
- **`generate_balance_sheet(period_end: <FY-end>)`** — step 3.
|
|
11
10
|
- **`generate_profit_and_loss(period_start: <FY-start>, period_end: <FY-end>)`** — step 3.
|
|
@@ -13,17 +12,17 @@
|
|
|
13
12
|
- **`generate_equity_movement(period_start, period_end)`** — step 4.
|
|
14
13
|
- **`generate_general_ledger(period_start, period_end, groupBy: 'ACCOUNT')`** — step 5: the auditor's primary working document.
|
|
15
14
|
|
|
16
|
-
###
|
|
15
|
+
### Platform tools — supporting schedules
|
|
17
16
|
- **`generate_aged_ar(period_end)` / `generate_aged_ap(period_end)`** — step 6.
|
|
18
17
|
- **`generate_bank_recon_summary(period_end)` / `generate_bank_recon_details(period_end)`** — step 7. NON-NEGOTIABLE deliverable.
|
|
19
18
|
- **`generate_bank_balance_summary(period_end)`** — step 7. Cross-reference to bank confirmation letters.
|
|
20
19
|
- **`generate_fa_summary(period_end)` / `generate_fa_recon_summary(period_start, period_end)`** — step 8.
|
|
21
20
|
- **`generate_vat_ledger(period_start, period_end)`** — step 9. Annual total ties to sum of quarterly F5 returns.
|
|
22
21
|
|
|
23
|
-
###
|
|
22
|
+
### Platform tools — XLSX deliverables
|
|
24
23
|
- **`download_export(exportType: '<type>', startDate, endDate)`** — step 10: pre-signed XLSX URL (~5 min expiry). Per `jaz-api/SKILL.md` rule (data-exports), supported types include `trial-balance`, `profit-and-loss`, `balance-sheet`, `general-ledger`, `ar-report`, `ap-report`, `cashflow`, `analysis-anomalous-bills`, `analysis-anomalous-invoices`, `analysis-cashflow-anomalies`, `analysis-gl-journal-audit`, `analysis-exchange-rate-audit`, `analysis-receivables-customer-risk`, `analysis-cash-expense-health`. The audit-analyses are essential pre-emptive flags for the auditor.
|
|
25
24
|
|
|
26
|
-
###
|
|
25
|
+
### Platform tools — completeness gates
|
|
27
26
|
- **`search_journals(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: must return zero rows before pack hand-off.
|
|
28
27
|
- **`search_invoices(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: same gate, sales side.
|
|
29
28
|
- **`search_bills(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: same gate, purchases side.
|
|
@@ -38,8 +37,9 @@
|
|
|
38
37
|
- **`clio calc depreciation --cost --salvage --life --method --json`** — step 8: per-asset depreciation cross-check vs FA register.
|
|
39
38
|
|
|
40
39
|
### Cross-references
|
|
41
|
-
-
|
|
42
|
-
-
|
|
40
|
+
- Runs after year-end-close; it's the bridge between year-end close and statutory filing.
|
|
41
|
+
- Org inputs this job needs (confirm with the user when not already on file): whether a statutory audit is required, the tax jurisdiction (`SG` | `PH`), and the FY-end — these scope the deliverables.
|
|
42
|
+
- Sibling jobs: `year-end-close.md` (must complete BEFORE this job — audit-prep assumes books are closed), plus the SG Form C-S / PH ITR statutory filing that consumes the pack this job produces (see step 13).
|
|
43
43
|
- API rules: `jaz-api/SKILL.md` rule 36 (`endDate` not `startDate` for AR/AP point-in-time reports), rule 38 (pagination for `general-ledger`), rule 52 (response dates are epoch ms).
|
|
44
44
|
|
|
45
45
|
---
|
|
@@ -54,21 +54,17 @@
|
|
|
54
54
|
|
|
55
55
|
Even small exempt SG companies need this pack for the external accountant who prepares the financial statements + Form C-S.
|
|
56
56
|
|
|
57
|
-
## Step 1 —
|
|
57
|
+
## Step 1 — Scope the deliverables
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
generate_audit_prep_blueprint(period_start: '2025-01-01', period_end: '2025-12-31', currency: <CLIENT.base_currency>, jurisdiction: <CLIENT.tax_jurisdiction>)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Save to `recurring/annual/<period>/audit-prep/blueprint.json`. Blueprint emits jurisdiction-specific deliverable list (SG: TB / BS / P&L / CF / EM / AR aging / AP aging / bank recon / FA register / GST F5 yearly / supporting schedules. PH: same + ITR-specific schedules).
|
|
59
|
+
The jurisdiction-specific deliverable list. SG: TB / BS / P&L / CF / EM / AR aging / AP aging / bank recon / FA register / GST F5 yearly / supporting schedules. PH: same + ITR-specific schedules. (Local CLI: `clio jobs audit-prep --period 2025` prints this deliverables checklist.)
|
|
64
60
|
|
|
65
61
|
## Step 2 — Trial balance (the master)
|
|
66
62
|
|
|
67
63
|
```
|
|
68
|
-
generate_trial_balance(period_end: '2025-12-31', currency: <
|
|
64
|
+
generate_trial_balance(period_end: '2025-12-31', currency: <base currency>)
|
|
69
65
|
```
|
|
70
66
|
|
|
71
|
-
Save
|
|
67
|
+
Save the FY trial balance. Verify: every report from step 3 onwards must tie back to a TB line.
|
|
72
68
|
|
|
73
69
|
## Step 3 — Primary financial statements
|
|
74
70
|
|
|
@@ -100,7 +96,7 @@ Cashflow classifies into Operating / Investing / Financing per IAS 7. Equity Mov
|
|
|
100
96
|
generate_general_ledger(period_start: '2025-01-01', period_end: '2025-12-31', groupBy: 'ACCOUNT')
|
|
101
97
|
```
|
|
102
98
|
|
|
103
|
-
Per `jaz-api/SKILL.md` rule 38, paginate via `offset` if `totalElements > <page-size>`.
|
|
99
|
+
Per `jaz-api/SKILL.md` rule 38, paginate via `offset` if `totalElements > <page-size>`. Keep the full GL for the pack — the auditor will sample-test from this.
|
|
104
100
|
|
|
105
101
|
## Step 6 — AR / AP aging
|
|
106
102
|
|
|
@@ -127,7 +123,7 @@ generate_bank_recon_details(period_end: '2025-12-31')
|
|
|
127
123
|
generate_bank_balance_summary(period_end: '2025-12-31')
|
|
128
124
|
```
|
|
129
125
|
|
|
130
|
-
For each bank account: `unreconciledCount` MUST be 0 OR every unreconciled item has a documented timing-difference explanation
|
|
126
|
+
For each bank account: `unreconciledCount` MUST be 0 OR every unreconciled item has a documented timing-difference explanation. The auditor will request bank confirmation letters DIRECTLY from your banks — `generate_bank_balance_summary` total must reconcile to those letters within tolerance.
|
|
131
127
|
|
|
132
128
|
If `unreconciledCount > 0`: halt audit-prep and route back to `bank-recon.md` job. Do NOT hand the pack to the auditor with unreconciled items.
|
|
133
129
|
|
|
@@ -144,7 +140,7 @@ For non-FA-register schedules (loan, lease, ECL, fixed-deposit, prepaid, interco
|
|
|
144
140
|
```
|
|
145
141
|
search_capsules(filter: {capsuleType: {in: ['Loan Repayment', 'Lease', 'Fixed Deposit', 'Prepaid Expenses', 'Provision']}})
|
|
146
142
|
```
|
|
147
|
-
For each capsule, run the matching `clio calc <type>` to produce the independent schedule.
|
|
143
|
+
For each capsule, run the matching `clio calc <type>` to produce the independent schedule. Keep one schedule per capsule — the auditor uses these to test the IFRS 9 / IFRS 16 / IAS 37 measurements.
|
|
148
144
|
|
|
149
145
|
## Step 9 — Tax ledger
|
|
150
146
|
|
|
@@ -152,17 +148,17 @@ For each capsule, run the matching `clio calc <type>` to produce the independent
|
|
|
152
148
|
generate_vat_ledger(period_start: '2025-01-01', period_end: '2025-12-31')
|
|
153
149
|
```
|
|
154
150
|
|
|
155
|
-
For SG: annual total ties to sum of 4 quarterly GST F5 returns. For PH: annual total ties to monthly VAT returns + quarterly summary.
|
|
151
|
+
For SG: annual total ties to sum of 4 quarterly GST F5 returns. For PH: annual total ties to monthly VAT returns + quarterly summary. The annual reconciliation should already be clean if the `gst-vat-filing.md` job ran each period.
|
|
156
152
|
|
|
157
153
|
## Step 10 — XLSX deliverables (pre-empt auditor requests)
|
|
158
154
|
|
|
159
155
|
For each report the auditor needs in their workpapers:
|
|
160
156
|
|
|
161
157
|
```
|
|
162
|
-
download_export(exportType: 'trial-balance', startDate: '2025-01-01', endDate: '2025-12-31', currencyCode: <
|
|
158
|
+
download_export(exportType: 'trial-balance', startDate: '2025-01-01', endDate: '2025-12-31', currencyCode: <base currency>)
|
|
163
159
|
```
|
|
164
160
|
|
|
165
|
-
Returns `{ fileName, fileUrl }` (pre-signed, ~5 min). Download immediately
|
|
161
|
+
Returns `{ fileName, fileUrl }` (pre-signed, ~5 min). Download immediately (URL expires fast). Repeat for: `profit-and-loss`, `balance-sheet`, `general-ledger`, `ar-report`, `ap-report`, `cashflow`.
|
|
166
162
|
|
|
167
163
|
**Pre-emptive audit analyses** (run BEFORE handing over the pack — fix what they'd find):
|
|
168
164
|
- `download_export(exportType: 'analysis-anomalous-bills', startDate, endDate)` — flag bills with unusual amounts vs supplier history
|
|
@@ -171,7 +167,7 @@ Returns `{ fileName, fileUrl }` (pre-signed, ~5 min). Download immediately to `r
|
|
|
171
167
|
- `download_export(exportType: 'analysis-exchange-rate-audit', startDate, endDate)` — FX rates outside expected band
|
|
172
168
|
- `download_export(exportType: 'analysis-cash-expense-health', startDate, endDate)` — cash-only expense patterns auditors flag
|
|
173
169
|
|
|
174
|
-
If any analysis surfaces issues, fix BEFORE auditor sees them. Document the corrections
|
|
170
|
+
If any analysis surfaces issues, fix BEFORE the auditor sees them. Document the corrections.
|
|
175
171
|
|
|
176
172
|
## Step 11 — Reconciliation checklist
|
|
177
173
|
|
|
@@ -188,7 +184,7 @@ Before pack hand-off, assert each row:
|
|
|
188
184
|
| Revenue | step 3 P&L | step 9 VAT ledger Box 1+2+3 totals |
|
|
189
185
|
| GST Receivable / Payable | step 9 VAT ledger | TB GST Control account |
|
|
190
186
|
|
|
191
|
-
Any mismatch beyond
|
|
187
|
+
Any mismatch beyond the materiality threshold halts the pack and routes back to the originating job.
|
|
192
188
|
|
|
193
189
|
## Step 12 — Completeness gates (final)
|
|
194
190
|
|
|
@@ -209,13 +205,13 @@ This prevents backdated entries during fieldwork. If the auditor needs to post A
|
|
|
209
205
|
|
|
210
206
|
## Step 13 — Hand-off to statutory filing
|
|
211
207
|
|
|
212
|
-
The pack is now ready.
|
|
208
|
+
The pack is now ready. The SG Form C-S statutory filing (see the SG Form C-S section in `SKILL.md`) consumes:
|
|
213
209
|
- TB + P&L + BS for Form C-S Lite eligibility check (revenue ≤ S$200K)
|
|
214
210
|
- Audit-analyses for management-letter content
|
|
215
211
|
- Loan / lease / FA schedules for tax computation add-backs
|
|
216
212
|
- VAT ledger annual reconciliation for IRAS Box 1-7 cross-tie
|
|
217
213
|
|
|
218
|
-
The SG Form C-S wizard
|
|
214
|
+
The SG Form C-S wizard walks the user field-by-field through the C-S form, prefilling from the audit-prep pack and running the computation via `clio jobs statutory-filing sg-cs`.
|
|
219
215
|
|
|
220
216
|
---
|
|
221
217
|
|
|
@@ -230,7 +226,7 @@ The SG Form C-S wizard (`practice/references/annual-statutory.md` step 7) walks
|
|
|
230
226
|
| `update_account` | 422 `lock_date_in_future` | The CoA `lockDate` must be ≤ `period_end`. Use today if unsure. |
|
|
231
227
|
| Reconciliation | TB AR ≠ AR aging | Likely a mid-period credit-note application missed. `search_customer_credit_notes(filter: {valueDate: {between: ...}})` and verify each was applied via `apply_credit_to_invoice`. |
|
|
232
228
|
| Reconciliation | TB Cash ≠ bank balance summary | Unposted bank journal or unreconciled item. Re-run step 7. |
|
|
233
|
-
| Step 12 gate | Drafts present at year-end | Either clear (finalize) or document
|
|
229
|
+
| Step 12 gate | Drafts present at year-end | Either clear (finalize) or document the residuals and surface to the user. NEVER hand the pack over with drafts in the audit period. |
|
|
234
230
|
|
|
235
231
|
---
|
|
236
232
|
|
|
@@ -244,8 +240,9 @@ The SG Form C-S wizard (`practice/references/annual-statutory.md` step 7) walks
|
|
|
244
240
|
|
|
245
241
|
---
|
|
246
242
|
|
|
247
|
-
## Cross-references
|
|
243
|
+
## Cross-references
|
|
248
244
|
|
|
249
|
-
- `
|
|
250
|
-
- `
|
|
251
|
-
- `
|
|
245
|
+
- `year-end-close.md` — must complete first; audit-prep assumes the books are closed.
|
|
246
|
+
- SG Form C-S statutory filing (see the SG Form C-S section in `SKILL.md`) — audit-prep is the bridge into it; the deliverables prefill the Form C-S wizard.
|
|
247
|
+
- `gst-vat-filing.md` — keeps per-quarter F5 reconciliations clean; audit-prep step 9 trusts those.
|
|
248
|
+
- `jaz-conversion` skill — when a conversion happened mid-FY (rare), the audit pack must include a "conversion period" note explaining the mid-FY data load.
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# Bank Reconciliation
|
|
2
2
|
|
|
3
|
-
> Clear unreconciled bank statement entries by matching, creating, or flagging. Highest-leverage book-accuracy job in Jaz — clean cash means everything else has a fighting chance.
|
|
3
|
+
> Clear unreconciled bank statement entries by matching, creating, or flagging. Highest-leverage book-accuracy job in Jaz — clean cash means everything else has a fighting chance. Walk the steps below in order, calling the named platform tools directly. (Local CLI convenience: `clio jobs bank-recon` prints this same phased checklist.)
|
|
4
4
|
|
|
5
5
|
## Tools, recipes, calculators this job uses
|
|
6
6
|
|
|
7
|
-
###
|
|
8
|
-
- **`generate_bank_recon_blueprint(period: <YYYY-MM>, currency: <base>)`** — step 0: emit phased recon checklist.
|
|
7
|
+
### Platform tools — discovery + auto-match
|
|
9
8
|
- **`list_bank_accounts()`** — step 1: pull all bank-type CoA accounts (per `jaz-api/SKILL.md` rule 18: GET `/bank-accounts` returns flat array `[{...}]`, NOT the standard paginated `{ data, totalElements, totalPages }` shape — normalize before consuming).
|
|
10
9
|
- **`search_accounts(filter: {accountType: {eq: 'Bank Accounts'}})`** — step 1 alternative: same data via standard CoA-search envelope if downstream wants pagination.
|
|
11
10
|
- **`search_bank_records(accountResourceId: <id>, status: 'UNRECONCILED', valueDateRange: {from, to}, limit: 200, sort: 'valueDate:asc')`** — step 2: per-account work queue.
|
|
@@ -13,7 +12,7 @@
|
|
|
13
12
|
- **`view_auto_reconciliation(bankAccountResourceId: <id>, recommendationType: 'MAGIC_MATCH' | 'MAGIC_RECONCILE_WITH_CASH_TRANSFER' | 'MAGIC_RECONCILE_WITH_BANK_RULE' | 'MAGIC_QUICK_RECONCILE' | 'MAGIC_RECONCILE_WITH_CASH_IN_OUT', autoCommitMaxAmount?: <number>)`** — step 4: READ-ONLY auto-match suggestions. Returns **execution-ready `suggestions[]`** — each carries `recommendedTool`, `execute` (ready-to-pass args), `confidenceTier`, and `autoCommitEligible`. This is the entry point for the auto-match decision gate (step 4a). `MAGIC_RECONCILE_WITH_CASH_IN_OUT` returns Learned-Predictions. Does NOT write. NOTE: 500 quirk on high-volume accounts → degrades to `{degraded:true}`; scope by period or fall back to the cascade matcher (see error table).
|
|
14
13
|
- **`search_cashflow_transactions(filter: {organizationAccountResourceId: <bank-id>, totalAmount: {eq: <amt>}, valueDate: {between: [<-3d>, <+3d>]}})`** — step 5 manual match: search book-side transactions for the same amount within ±3 day window.
|
|
15
14
|
|
|
16
|
-
###
|
|
15
|
+
### Platform tools — execute reconciliation (NOT idempotent — see error table)
|
|
17
16
|
**Match to EXISTING (preferred — no duplicates):**
|
|
18
17
|
- **`reconcile_with_payments(bankStatementEntryResourceId, businessTransactionPayments: [{cashflowTransactionResourceId, transactionAmount}], matchedPayments?, matchedBatchPayments?, adjustment?)`** — **the primary match path.** Match a bank entry to an EXISTING open bill/invoice/payment; creates the payment AND reconciles in one call (no `pay_bill`/`pay_invoice` first). FX auto-resolved server-side — pass no rate. Sync.
|
|
19
18
|
- **`reconcile_magic_match(bankAccountResourceId, entries: [{workflowType:'MAGIC_MATCH', bankStatementEntryResourceId, matchedBusinessTransactions}])`** — bulk-accept MAGIC_MATCH suggestions (max 500). Returns `{reconciled[], failed[]}` — a non-empty `failed[]` is a partial success; loop on it.
|
|
@@ -29,12 +28,12 @@
|
|
|
29
28
|
- **`reconcile_manual_journal(...)`** — bank entry to a manual journal.
|
|
30
29
|
- **`reconcile_cash_transfer(...)`** — inter-account transfer.
|
|
31
30
|
|
|
32
|
-
###
|
|
31
|
+
### Platform tools — create missing transactions
|
|
33
32
|
- **`mcp magic create --file <pdf>` / `create_business_transaction_from_attachment(...)`** — step 6 path B: OCR + autofill bill or invoice from receipt PDF/JPG.
|
|
34
33
|
- **`create_cash_in_entry(...)` / `create_cash_out_entry(...)`** — step 6 path C: bank fees, interest, FX charges that have no source document.
|
|
35
34
|
- **`create_bank_rule(...)`** — preventive: build a rule for any recurring pattern you handled this run (subscription, rent, utility) so it auto-applies next time.
|
|
36
35
|
|
|
37
|
-
###
|
|
36
|
+
### Platform tools — verification
|
|
38
37
|
- **`generate_bank_recon_summary(period_end, accountResourceId)`** — step 7: per-account formal recon statement.
|
|
39
38
|
- **`generate_bank_recon_details(period_end, accountResourceId)`** — step 7: line-level recon detail for audit pack.
|
|
40
39
|
- **`generate_bank_balance_summary(period_end)`** — step 8: book balance vs bank statement balance per account.
|
|
@@ -43,17 +42,15 @@
|
|
|
43
42
|
- **`clio jobs bank-recon match --input <records.json> --tolerance 0.01 --date-window 14 --max-group 5 --json`** — the 5-phase cascade matcher (Phase 1 exact 1:1 hash join, Phase 2 fuzzy 1:1 greedy with weighted scoring, Phase 3 N:1, Phase 4 1:N, Phase 5 N:M). Returns matches sorted by confidence — feed each into the appropriate `reconcile_*` tool. See `bank-match.md` for the full algorithm.
|
|
44
43
|
|
|
45
44
|
### Cross-references
|
|
46
|
-
-
|
|
47
|
-
- Sibling job: `bank-match.md` (the cascade matcher algorithm + scoring weights).
|
|
45
|
+
- Invoked by `month-end-close.md` step 3 (mandatory pre-close gate) — loop over each of the org's bank accounts.
|
|
46
|
+
- Sibling job: `bank-match.md` (the cascade matcher algorithm + scoring weights). Always run the cascade matcher for any account with > ~10 unreconciled items.
|
|
48
47
|
- API rules: `jaz-api/SKILL.md` rules 18 (bank-accounts envelope), 26 (cash entries `accountResourceId` shape), 50a (search query DSL), 124 (recon NOT idempotent).
|
|
49
48
|
|
|
50
49
|
---
|
|
51
50
|
|
|
52
|
-
##
|
|
51
|
+
## Steps
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
generate_bank_recon_blueprint(period: '2025-01', currency: <CLIENT.base_currency>)
|
|
56
|
-
```
|
|
53
|
+
Walk steps 1-8 below. (Local CLI: `clio jobs bank-recon --period 2025-01` prints the same phased checklist.)
|
|
57
54
|
|
|
58
55
|
## Step 1 — Discover bank accounts
|
|
59
56
|
|
|
@@ -93,7 +90,7 @@ For accounts with > ~10 unreconciled rows, use the cascade matcher first:
|
|
|
93
90
|
|
|
94
91
|
```
|
|
95
92
|
clio jobs bank-recon match \
|
|
96
|
-
--input
|
|
93
|
+
--input <bank-records-for-account>.json \
|
|
97
94
|
--tolerance 0.01 \
|
|
98
95
|
--date-window 14 \
|
|
99
96
|
--max-group 5 \
|
|
@@ -199,7 +196,7 @@ create_bank_rule(
|
|
|
199
196
|
```
|
|
200
197
|
Next month's same charge auto-reconciles via `apply_bank_rule`.
|
|
201
198
|
|
|
202
|
-
**Path D — flag for investigation:** if no match and no source document, surface to
|
|
199
|
+
**Path D — flag for investigation:** if no match and no source document, surface to the user with the `extContactName + description` and the `netAmount`. Common: personal transactions, refunds, intercompany unrecorded, bank-feed errors. Record the unresolved item so it carries forward.
|
|
203
200
|
|
|
204
201
|
## Step 7 — Verify per account
|
|
205
202
|
|
|
@@ -214,7 +211,7 @@ generate_bank_recon_summary(period_end: '2025-01-31', accountResourceId: B.resou
|
|
|
214
211
|
generate_bank_recon_details(period_end: '2025-01-31', accountResourceId: B.resourceId)
|
|
215
212
|
```
|
|
216
213
|
|
|
217
|
-
|
|
214
|
+
Keep both the summary and the line-level detail per account — audit-prep step 7 will require them.
|
|
218
215
|
|
|
219
216
|
## Step 8 — Cross-account verify
|
|
220
217
|
|
|
@@ -243,7 +240,7 @@ Per account: `bookBalance == bankStatementBalance ± documentedTimingDifference`
|
|
|
243
240
|
| `reconcile_invoice_receipt` | 422 `amount_mismatch` | Bank amount ≠ invoice balance. Either partial payment (post via `create_invoice_payment` with partial amount, then reconcile), or wrong match (revisit step 4/5). |
|
|
244
241
|
| `apply_bank_rule` | 422 `rule_action_unsupported` | Rule's configured action doesn't match the bank entry shape (e.g., rule expects positive amount, entry is negative). Edit the rule via `update_bank_rule`. |
|
|
245
242
|
| `create_cash_out_entry` | 422 `lock_date_violated` | `valueDate` in locked period. Lift lock via `update_account` lockDate, post, re-lock. |
|
|
246
|
-
| Step 7 `unreconciledCount > 0` after step 6 | (residual misses) | Surface to
|
|
243
|
+
| Step 7 `unreconciledCount > 0` after step 6 | (residual misses) | Surface to the user with categorized residual ("3 bank charges to expense via path C, 1 unidentified deposit pending client query"). Record the residuals. Do NOT progress the month-end close with open items. |
|
|
247
244
|
|
|
248
245
|
---
|
|
249
246
|
|
|
@@ -256,8 +253,9 @@ Per account: `bookBalance == bankStatementBalance ± documentedTimingDifference`
|
|
|
256
253
|
|
|
257
254
|
---
|
|
258
255
|
|
|
259
|
-
## Cross-references
|
|
256
|
+
## Cross-references
|
|
260
257
|
|
|
261
|
-
- `
|
|
262
|
-
- `
|
|
263
|
-
- `
|
|
258
|
+
- `month-end-close.md` step 3 — invoked for every bank account as a mandatory pre-close gate.
|
|
259
|
+
- `quarter-end-close.md` — same recon job scoped to the quarter; F5 Box-1 cash receipts must reconcile against bank cash-in totals.
|
|
260
|
+
- `audit-prep.md` step 7 — the final pre-FYE recon output feeds the audit pack (NON-NEGOTIABLE deliverable: `unreconciledCount == 0` per account).
|
|
261
|
+
- `bank-match.md` — the cascade matcher algorithm.
|