jaz-clio 5.4.18 → 5.4.20
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 +1 -1
- package/assets/skills/api/SKILL.md +1 -1
- package/assets/skills/cli/SKILL.md +1 -1
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +1 -1
- package/assets/skills/jobs/references/audit-prep.md +2 -2
- package/assets/skills/jobs/references/fa-review.md +3 -2
- package/assets/skills/jobs/references/month-end-close.md +4 -4
- package/assets/skills/jobs/references/quarter-end-close.md +2 -2
- package/assets/skills/jobs/references/year-end-close.md +2 -1
- package/assets/skills/practice/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/references/accrued-expenses.md +2 -1
- package/assets/skills/transaction-recipes/references/bad-debt-provision.md +1 -0
- package/assets/skills/transaction-recipes/references/bank-loan.md +2 -1
- package/assets/skills/transaction-recipes/references/declining-balance.md +1 -1
- package/assets/skills/transaction-recipes/references/deferred-revenue.md +2 -1
- package/assets/skills/transaction-recipes/references/dividend.md +1 -0
- package/assets/skills/transaction-recipes/references/employee-accruals.md +3 -1
- package/assets/skills/transaction-recipes/references/fixed-deposit.md +1 -1
- package/assets/skills/transaction-recipes/references/ifrs16-lease.md +2 -1
- package/assets/skills/transaction-recipes/references/prepaid-amortization.md +1 -0
- package/assets/skills/transaction-recipes/references/provisions.md +2 -1
- package/cli.mjs +203 -197
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ clio practice create-engagement acme-pte-ltd --type monthly-close --period 2026-
|
|
|
54
54
|
|
|
55
55
|
## MCP Server
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
275 CLI tools, available to any AI agent that speaks MCP. Runs locally — no cloud, no ports. Includes the v5.2.0 `practice_*` tools (init, onboard_client, list_clients, load_client, create_engagement, load_engagement) so an agent in Claude Desktop or Claude Code can scaffold and load client workspaces conversationally.
|
|
58
58
|
|
|
59
59
|
**Claude Code:**
|
|
60
60
|
```bash
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
- **`search_journals(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: must return zero rows before pack hand-off.
|
|
28
28
|
- **`search_invoices(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: same gate, sales side.
|
|
29
29
|
- **`search_bills(filter: {status: {eq: 'DRAFT'}, valueDate: {between: [<FY-start>, <FY-end>]}})`** — step 12: same gate, purchases side.
|
|
30
|
-
- **`
|
|
30
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 12 fallback: clear residual drafts before pack hand-off.
|
|
31
31
|
- **`update_account(resourceId: <CoA root>, lockDate: <FY-end>)`** — step 12 final: lock the period to prevent backdated entries during fieldwork.
|
|
32
32
|
|
|
33
33
|
### Calculators (cross-check schedules — no API key needed)
|
|
@@ -198,7 +198,7 @@ search_invoices(filter: {status: {eq: 'DRAFT'}, valueDate: {between: ['2025-01-0
|
|
|
198
198
|
search_bills(filter: {status: {eq: 'DRAFT'}, valueDate: {between: ['2025-01-01', '2025-12-31']}})
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-
ALL three must return zero. If any return rows: collect `resourceId`s, classify (delete vs finalize) per practitioner judgment, and `
|
|
201
|
+
ALL three must return zero. If any return rows: collect `resourceId`s, classify (delete vs finalize) per practitioner judgment, and `bulk_update_journals(items: [{resourceId, saveAsDraft: false}, ...]) for journals; bulk_finalize_drafts(items: [{type, resourceId}, ...]) for invoices/bills/CN` for the keep-set.
|
|
202
202
|
|
|
203
203
|
Then lock the period:
|
|
204
204
|
```
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- **`generate_general_ledger(accountResourceId: <FA category GL>, period_start, period_end)`** — step 4: per-FA-category GL movement vs FA register.
|
|
14
14
|
- **`update_fixed_asset(resourceId: <id>, status: 'DISPOSED' | 'WRITTEN_OFF', disposalDate, disposalProceeds)`** — step 5: status updates for disposals. Mirror endpoints `POST /api/v1/mark-as-sold/fixed-assets` (sale) / `POST /api/v1/discard-fixed-assets/{id}` (scrap).
|
|
15
15
|
- **`plan_recipe(recipe: 'asset-disposal', ...)` + `execute_recipe(...)`** — step 5: invoke per disposal identified during review (per `asset-disposal.md` recipe).
|
|
16
|
-
- **`
|
|
16
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 / 6: finalize disposal journals + any pending DDB / 150DB depreciation DRAFTs from `declining-balance.md` recipe.
|
|
17
17
|
|
|
18
18
|
### Calculators (cross-check, no API key needed)
|
|
19
19
|
- **`clio calc depreciation --cost --salvage --life --method --frequency annual --json`** — step 4 per-asset cross-check.
|
|
@@ -72,7 +72,7 @@ For each ACTIVE SL asset (Jaz auto-depreciates):
|
|
|
72
72
|
|
|
73
73
|
For each ACTIVE DDB / 150DB asset (recipe-managed, see `declining-balance.md`):
|
|
74
74
|
- Per capsule: `search_journals(filter: {capsuleResourceId: {eq: <dep capsule>}, valueDate: {between: [<year-start>, <year-end>]}, status: 'DRAFT'})`. Should be zero — all 12 months' DRAFT depreciation journals should already be FINALIZED via monthly-close.
|
|
75
|
-
- If non-zero: `
|
|
75
|
+
- If non-zero: `bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])` for each remaining DRAFT.
|
|
76
76
|
|
|
77
77
|
Cross-check via `clio calc depreciation --frequency annual --json` per asset; auditor will sample-test.
|
|
78
78
|
|
|
@@ -82,6 +82,7 @@ For each disposal identified in step 2:
|
|
|
82
82
|
|
|
83
83
|
```
|
|
84
84
|
plan_recipe(
|
|
85
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
85
86
|
recipe: 'asset-disposal',
|
|
86
87
|
cost, salvageValue, usefulLifeYears, acquisitionDate, disposalDate, proceeds, method,
|
|
87
88
|
...,
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
- **`generate_profit_and_loss(period_start, period_end)`** — step 15.
|
|
31
31
|
- **`generate_balance_sheet(period_end)`** — step 16.
|
|
32
32
|
- **`search_journals(filter: {status: 'DRAFT', valueDate: {between: [<period-start>, <period-end>]}})`** — step 17: gate on zero drafts.
|
|
33
|
-
- **`
|
|
33
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 17: clear residual drafts before lock.
|
|
34
34
|
- **`update_account(resourceId: <CoA root>, lockDate: <period-end>)`** — step 18: lock the period.
|
|
35
35
|
|
|
36
36
|
### Calculators (cross-check, no API key needed)
|
|
@@ -107,7 +107,7 @@ For each `CLIENT.recurring_accruals[]` where `last_posted < '2025-01-31'`:
|
|
|
107
107
|
4. Resolve `requiredAccounts` + `needsContact` (search/create as needed).
|
|
108
108
|
5. `execute_recipe(...)`. Engine emits dual-entry accrual + reversal scheduler.
|
|
109
109
|
6. `validate_journal_draft(resourceId: <id>)` for each draft journal.
|
|
110
|
-
7. After all accruals processed: `
|
|
110
|
+
7. After all accruals processed: `bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`.
|
|
111
111
|
|
|
112
112
|
Cross-check: `generate_trial_balance(period_end: '2025-01-31')`. Sum credit movements against accrual liability accounts. Verify `|sum - expected| ≤ CLIENT.materiality_threshold`.
|
|
113
113
|
|
|
@@ -117,7 +117,7 @@ For each existing `Prepaid Expenses` capsule (via `search_capsules(filter: {caps
|
|
|
117
117
|
|
|
118
118
|
1. `search_journals(filter: {capsuleResourceId: {eq: <capsule.id>}, valueDate: {between: ['2025-01-01', '2025-01-31']}, status: {eq: 'DRAFT'}})`. The recipe pre-emitted this period's recognition journal as DRAFT at recipe-execution time.
|
|
119
119
|
2. If empty: either the recipe was set up wrong (no journal for this period — investigate via `search_journals` without status filter to see if it's already ACTIVE, then skip), OR the practitioner went off-recipe. Surface to practitioner.
|
|
120
|
-
3. If found: collect resourceIds, then `
|
|
120
|
+
3. If found: collect resourceIds, then `bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`.
|
|
121
121
|
4. New prepaid setups during this period (a new prepaid started this month): invoke `plan_recipe(recipe: 'prepaid-expense', ...)` per `prepaid-amortization.md` — this creates the bill + N future-dated DRAFT journals; the current period's journal is then in the bulk_finalize_drafts queue above.
|
|
122
122
|
|
|
123
123
|
### Step 8 — Deferred revenue recognition
|
|
@@ -148,7 +148,7 @@ For each active loan capsule (via `search_capsules(filter: {capsuleType: {eq: 'L
|
|
|
148
148
|
|
|
149
149
|
1. `search_journals(filter: {capsuleResourceId: {eq: <loan-capsule-id>}, valueDate: {between: ['2025-01-01', '2025-01-31']}, status: {eq: 'DRAFT'}})`. The `loan` recipe pre-emitted all `termMonths` future-dated DRAFT journals at execution time — this period's repayment is one of them.
|
|
150
150
|
2. Should return exactly one DRAFT journal per active loan. Each is a 3-line entry (debit Loan Payable, debit Interest Expense, credit Cash) with the correct amortization split for the period.
|
|
151
|
-
3. Collect resourceIds, then `
|
|
151
|
+
3. Collect resourceIds, then `bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`.
|
|
152
152
|
4. Do NOT post manual loan-interest accruals — the recipe already emitted the journal with the correct split per `clio calc loan` schedule.
|
|
153
153
|
|
|
154
154
|
If a loan was newly disbursed this period: invoke `plan_recipe(recipe: 'loan', ...)` then `execute_recipe`; the disbursement (cash-in) and this period's repayment journal are both included in the engine output.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- **`search_journals(filter: {tag: 'bonus-accrual', valueDate: {between: [<Q-start>, <Q-end>]}})`** — Q3 bonus YTD pull.
|
|
16
16
|
- **`create_journal(...)`** — Q3 bonus true-up adjustment (manual one-off).
|
|
17
17
|
- **`search_capsules(filter: {capsuleType: {eq: 'Intercompany'}})`** — Q4 IC reconciliation per pair of entities (multi-org coordination — see `intercompany.md` recipe).
|
|
18
|
-
- **`search_capsules(filter: {capsuleType: {eq: 'Provisions'}})` + `
|
|
18
|
+
- **`search_capsules(filter: {capsuleType: {eq: 'Provisions'}})` + `bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — Q5 finalize each provision capsule's quarter-end DRAFT unwinding journals.
|
|
19
19
|
- **`generate_trial_balance(period_end: <Q-end>)`** — verification.
|
|
20
20
|
- **`update_account(resourceId: <CoA root>, lockDate: <Q-end>)`** — final lock.
|
|
21
21
|
|
|
@@ -121,7 +121,7 @@ Per capsule: this period's quarter-end unwinding DRAFT journals (3 monthly DRAFT
|
|
|
121
121
|
|
|
122
122
|
```
|
|
123
123
|
search_journals(filter: {capsuleResourceId: {eq: <provision capsule id>}, valueDate: {between: ['2025-01-01', '2025-03-31']}, status: {eq: 'DRAFT'}})
|
|
124
|
-
|
|
124
|
+
bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
If practitioner determines remeasurement is needed (cash-flow estimate changed, discount rate moved): see `provisions.md` step 6 — recompute, post adjustment, reverse remaining DRAFT unwinding journals, re-execute recipe with new inputs.
|
|
@@ -109,6 +109,7 @@ If `CLIENT.dividend_policy.declared_for_FY > 0`:
|
|
|
109
109
|
|
|
110
110
|
```
|
|
111
111
|
plan_recipe(
|
|
112
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
112
113
|
recipe: 'dividend',
|
|
113
114
|
amount: <gross-dividend>,
|
|
114
115
|
withholdingRate: <CLIENT.dividend_policy.withholding_rate>,
|
|
@@ -194,7 +195,7 @@ search_invoices(filter: {status: {eq: 'DRAFT'}, valueDate: {between: ['2025-01-0
|
|
|
194
195
|
search_bills(filter: {status: {eq: 'DRAFT'}, valueDate: {between: ['2025-01-01', '2025-12-31']}})
|
|
195
196
|
```
|
|
196
197
|
|
|
197
|
-
ALL three must return zero. If any: `
|
|
198
|
+
ALL three must return zero. If any: `bulk_update_journals(items: [{resourceId, saveAsDraft: false}, ...]) for journals; bulk_finalize_drafts(items: [{type, resourceId}, ...]) for invoices/bills/CN` for the keep-set; `delete_*` for the discards.
|
|
198
199
|
|
|
199
200
|
### Y8 — Lock the year
|
|
200
201
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- **`search_contacts(filter: {name: {eq: <vendor>}})`** — step 3: resolve vendor (per `CLIENT.recurring_accruals[i].vendor`).
|
|
18
18
|
- **`search_accounts(filter: {name: {in: ['<expense GL>', '<accrued liability GL>']}})`** — step 3: confirm both sides of the journal exist in CoA.
|
|
19
19
|
- **`search_journals(filter: {capsuleResourceId: {eq: <id>}, valueDate: {between: [<period-start>, <period-end>]}, status: 'DRAFT'})`** — step 5 monthly: find this period's pre-emitted DRAFT for finalization.
|
|
20
|
-
- **`
|
|
20
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5: finalize this period's accrual + reversal pair.
|
|
21
21
|
- **`generate_trial_balance(period_end: <date>)`** — step 5 verification: confirm Accrued Expenses balance and net P&L impact.
|
|
22
22
|
|
|
23
23
|
### Cross-references
|
|
@@ -50,6 +50,7 @@ Returns `{ totalAccrued: 3000, schedule: [{accrualDate: '2025-01-31', reversalDa
|
|
|
50
50
|
|
|
51
51
|
```
|
|
52
52
|
plan_recipe(
|
|
53
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
53
54
|
recipe: 'accrued-expense',
|
|
54
55
|
amount: 3000,
|
|
55
56
|
periods: 1,
|
|
@@ -77,6 +77,7 @@ If `topUpRequired` is below `CLIENT.materiality_threshold`: skip the recipe enti
|
|
|
77
77
|
|
|
78
78
|
```
|
|
79
79
|
plan_recipe(
|
|
80
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
80
81
|
recipe: 'ecl',
|
|
81
82
|
receivables: [
|
|
82
83
|
{bucket: 'current', balance: 100000, lossRate: 0.005},
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
- **`search_accounts(filter: {name: {in: ['Loan Payable', 'Interest Expense']}})`** — used in step 3: confirm liability + expense GL accounts exist.
|
|
17
17
|
- **`search_capsules(filter: {capsuleType: {eq: 'Loan Repayment'}, name: {eq: <capsuleName>}})`** — used in step 0: detect duplicate setup before re-running. Loan capsules are unique per facility — duplicate creation is almost always an agent error.
|
|
18
18
|
- **`generate_trial_balance(period_end: <date>)`** — used in step 5: verify the loan liability balance matches the schedule's `closingBalance` column.
|
|
19
|
-
- **`update_journal(resourceId: <id>, saveAsDraft: false)`** — used in step 4 verification: lift draft journals to ACTIVE once practitioner confirms.
|
|
19
|
+
- **`update_journal(resourceId: <id>, saveAsDraft: false)`** — used in step 4 verification: lift draft journals to ACTIVE once practitioner confirms.
|
|
20
20
|
|
|
21
21
|
### Cross-references
|
|
22
22
|
- Within an engagement: invoked from `practice/references/onboarding.md` (when the prior firm's loan transfers in via the conversion clearing account, then forward-recognition starts here) and from `practice/references/monthly-close.md` step 4 (monthly accruals do NOT include loan interest — interest is auto-emitted by the loan scheduler).
|
|
@@ -47,6 +47,7 @@ Returns: `{ perPeriodAmount: 1933.28, totalInterest: 15996.80, schedule: [{perio
|
|
|
47
47
|
|
|
48
48
|
```
|
|
49
49
|
plan_recipe(
|
|
50
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
50
51
|
recipe: 'loan',
|
|
51
52
|
principal: 100000,
|
|
52
53
|
annualRate: 6,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- **`search_capsules(filter: {capsuleType: {eq: 'Depreciation'}, name: {eq: <capsule.name>}})`** — step 0 idempotency check. One depreciation capsule per asset; duplicate setup is almost always an error.
|
|
16
16
|
- **`search_accounts(filter: {name: {in: ['Vehicles', 'Accumulated Depreciation — Vehicles', 'Depreciation Expense']}})`** — step 3: confirm the asset, contra-asset, and expense GL accounts exist.
|
|
17
17
|
- **`generate_trial_balance(period_end: <date>)`** — step 5: verify NBV matches schedule.
|
|
18
|
-
- **`
|
|
18
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 monthly: finalize this period's pre-emitted DRAFT depreciation journal.
|
|
19
19
|
|
|
20
20
|
### Cross-references
|
|
21
21
|
- Within an engagement: invoked from `practice/references/monthly-close.md` step 9 (only when an asset uses non-SL method — Jaz native FA handles SL automatically). For SL: `create_fixed_asset` directly via `fixed-assets` tool family; do NOT use this recipe.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
- **`generate_trial_balance(period_end: <date>)`** — step 5: verify Deferred Revenue balance unwinds correctly.
|
|
19
19
|
- **`search_capsules(filter: {capsuleType: {eq: 'Deferred Revenue'}, name: {eq: <capsule.name>}})`** — step 0 idempotency check.
|
|
20
20
|
- **`finalize_invoice(resourceId: <id>)`** — step 4 fallback: lift the upfront invoice from DRAFT to ACTIVE once practitioner confirms the engagement is genuinely starting.
|
|
21
|
-
- **`
|
|
21
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 monthly: finalize this period's pre-emitted DRAFT recognition journal.
|
|
22
22
|
|
|
23
23
|
### Cross-references
|
|
24
24
|
- Within an engagement: invoked from `practice/references/monthly-close.md` step 8 (finalize this period's pre-emitted journal for existing capsules; create a new capsule for any new deferred arrangement starting this period).
|
|
@@ -49,6 +49,7 @@ Returns: `{ perPeriodAmount: 2000, recognitionStartDate: '2025-01-31', recogniti
|
|
|
49
49
|
|
|
50
50
|
```
|
|
51
51
|
plan_recipe(
|
|
52
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
52
53
|
recipe: 'deferred-revenue',
|
|
53
54
|
amount: 24000,
|
|
54
55
|
periods: 12,
|
|
@@ -54,6 +54,7 @@ clio calc dividend --amount 200000 --withholding-rate 10 --currency PHP --json
|
|
|
54
54
|
|
|
55
55
|
```
|
|
56
56
|
plan_recipe(
|
|
57
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
57
58
|
recipe: 'dividend',
|
|
58
59
|
amount: 200000,
|
|
59
60
|
withholdingRate: 0,
|
|
@@ -28,7 +28,7 @@ The two patterns share the same `Employee Benefits` capsule type but use differe
|
|
|
28
28
|
- **`search_capsules(filter: {capsuleType: {eq: 'Employee Benefits'}})`** — step 0: discover existing leave + bonus capsules.
|
|
29
29
|
- **`search_accounts(filter: {name: {in: ['Leave Expense', 'Leave Liability', 'Bonus Expense', 'Bonus Payable']}})`** — step 3.
|
|
30
30
|
- **`search_journals(filter: {tag: 'leave-accrual', valueDate: {between: [<period-start>, <period-end>]}, status: 'DRAFT'})`** — step 5 monthly: pull this period's pre-emitted leave DRAFT.
|
|
31
|
-
- **`
|
|
31
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — monthly finalize.
|
|
32
32
|
- **`generate_trial_balance(period_end: <date>)`** — verification.
|
|
33
33
|
- For year-end true-up: see `year-end-close.md` Y2 — manual journal pattern with HR-supplied actuals.
|
|
34
34
|
|
|
@@ -61,6 +61,7 @@ Returns: `{ totalAnnualCost: 84000, perPeriodAmount: 7000, schedule: [{period: 1
|
|
|
61
61
|
|
|
62
62
|
```
|
|
63
63
|
plan_recipe(
|
|
64
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
64
65
|
recipe: 'leave-accrual',
|
|
65
66
|
headcount: 20,
|
|
66
67
|
daysPerEmployee: 14,
|
|
@@ -118,6 +119,7 @@ clio calc accrued-expense --amount <est> --periods 1 --start-date 2025-03-31 --j
|
|
|
118
119
|
|
|
119
120
|
```
|
|
120
121
|
plan_recipe(
|
|
122
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
121
123
|
recipe: 'accrued-expense',
|
|
122
124
|
amount: <est>,
|
|
123
125
|
periods: 1,
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
- **`search_accounts(filter: {name: {in: ['Fixed Deposit Receivable', 'Accrued Interest Receivable', 'Interest Income']}})`** — step 3.
|
|
17
17
|
- **`search_contacts(filter: {supplier: true, name: {eq: <bank>}})`** — step 3 optional: bank contact for narrative.
|
|
18
18
|
- **`generate_trial_balance(period_end: <date>)`** — step 5 verify accrued interest unwinds; FD principal stays at carrying amount until maturity.
|
|
19
|
-
- **`
|
|
19
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 monthly finalize.
|
|
20
20
|
|
|
21
21
|
### Cross-references
|
|
22
22
|
- Within an engagement: invoked from `practice/references/monthly-close.md` step 7 (existing FD capsules — finalize this month's accrual; new FD setups during the period — invoke recipe).
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- **`search_contacts(filter: {supplier: true, name: {eq: <lessor>}})`** — step 3 (lease counterparty).
|
|
18
18
|
- **`create_fixed_asset(...)`** — step 4 manual: register the ROU asset in Jaz native FA. `cost` = PV from calculator, `usefulLifeMonths` = lease term, `depreciationMethod` = 'sl' (straight-line). Jaz auto-posts monthly depreciation thereafter.
|
|
19
19
|
- **`generate_trial_balance(period_end: <date>)`** — step 5 verify.
|
|
20
|
-
- **`
|
|
20
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 monthly: finalize this period's pre-emitted unwinding DRAFT.
|
|
21
21
|
- **`generate_fa_summary(period_end: <date>)`** — step 5 verify Jaz auto-posted ROU depreciation.
|
|
22
22
|
|
|
23
23
|
### Cross-references
|
|
@@ -49,6 +49,7 @@ Returns: `{ presentValue: 167287.43, totalInterest: 12712.57, schedule: [{period
|
|
|
49
49
|
|
|
50
50
|
```
|
|
51
51
|
plan_recipe(
|
|
52
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
52
53
|
recipe: 'lease',
|
|
53
54
|
monthlyPayment: 5000,
|
|
54
55
|
termMonths: 36,
|
|
@@ -39,6 +39,7 @@ Returns: `{ perPeriodAmount, recognitionStartDate, recognitionEndDate, schedule[
|
|
|
39
39
|
|
|
40
40
|
```
|
|
41
41
|
plan_recipe(
|
|
42
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
42
43
|
recipe: 'prepaid-expense',
|
|
43
44
|
amount: 12000,
|
|
44
45
|
periods: 12,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
- **`search_capsules(filter: {capsuleType: {eq: 'Provisions'}, name: {eq: <capsule.name>}})`** — step 0 idempotency check.
|
|
16
16
|
- **`search_accounts(filter: {name: {in: ['Provision for Warranties', 'Finance Cost', 'Warranty Expense']}})`** — step 3.
|
|
17
17
|
- **`generate_trial_balance(period_end: <date>)`** — step 5 verify provision balance matches schedule's `closingProvision`.
|
|
18
|
-
- **`
|
|
18
|
+
- **`bulk_update_journals(items: [{resourceId: <id>, saveAsDraft: false}, ...])`** — step 5 monthly finalize.
|
|
19
19
|
|
|
20
20
|
### Cross-references
|
|
21
21
|
- Within an engagement: invoked from `practice/references/annual-statutory.md` step 4e (Y5 in `year-end-close.md`) for year-end provision remeasurement, and `practice/references/monthly-close.md` step 7 (verify scheduler, finalize this period's unwinding DRAFT).
|
|
@@ -48,6 +48,7 @@ Save schedule to `workpapers/<period>/provision-warranty-FY2025.json`.
|
|
|
48
48
|
|
|
49
49
|
```
|
|
50
50
|
plan_recipe(
|
|
51
|
+
// Note: gl*, capsuleType, capsuleName, bankAccountResourceId, vendor, customer below are illustrative — auto-resolved at execute time from CoA / CLIENT.md, not real plan_recipe params.
|
|
51
52
|
recipe: 'provision',
|
|
52
53
|
amount: 500000,
|
|
53
54
|
annualRate: 4,
|