jaz-cli 2.5.0 → 2.6.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/assets/skills/api/SKILL.md +1 -1
- package/assets/skills/api/references/feature-glossary.md +1 -1
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +53 -19
- package/assets/skills/transaction-recipes/references/asset-disposal.md +174 -0
- package/assets/skills/transaction-recipes/references/fixed-deposit.md +164 -0
- package/assets/skills/transaction-recipes/references/hire-purchase.md +190 -0
- package/dist/calc/amortization.js +21 -3
- package/dist/calc/asset-disposal.js +151 -0
- package/dist/calc/blueprint.js +26 -1
- package/dist/calc/depreciation.js +24 -1
- package/dist/calc/ecl.js +13 -1
- package/dist/calc/fixed-deposit.js +169 -0
- package/dist/calc/format.js +107 -2
- package/dist/calc/fx-reval.js +11 -1
- package/dist/calc/lease.js +37 -8
- package/dist/calc/loan.js +12 -2
- package/dist/calc/provision.js +17 -1
- package/dist/commands/calc.js +54 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.6.0
|
|
4
4
|
description: Complete reference for the Jaz/Juan 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/Juan API key (x-jk-api-key header). Works with Claude Code, Claude Cowork, Claude.ai, and any agent that reads markdown.
|
|
@@ -66,7 +66,7 @@ There is no dedicated `/deposits` endpoint (returns 404). Deposits are managed t
|
|
|
66
66
|
|
|
67
67
|
Manual accounting entries for non-payment transactions. Three types: Manual Journals (multi-line debit/credit entries), Cash Journals (2-line cash transfers between bank accounts with cross-currency support), and Transfer Journals (year-end trial balance transfers, non-editable).
|
|
68
68
|
|
|
69
|
-
Manual journals support multi-currency —
|
|
69
|
+
Manual journals support multi-currency — the entire journal can be in the org's base currency or any enabled foreign currency. Foreign currency journal restrictions: (1) no controlled accounts (AR/AP — use invoices/bills instead), (2) no FX system accounts (Unrealized Gain/Loss/Rounding), (3) bank accounts must match the journal's currency (e.g., USD journal → USD bank only).
|
|
70
70
|
|
|
71
71
|
Minimum 2 balanced entries required. Cash journals are restricted to exactly 2 lines. Bank/cash/current asset/equity/liability accounts cannot have tax profiles applied. Supports scheduled/recurring journals with dynamic scheduler strings (`{{YEAR}}`, `{{MONTH}}`).
|
|
72
72
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: conversion
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.6.0
|
|
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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: transaction-recipes
|
|
3
|
-
version: 2.
|
|
4
|
-
description:
|
|
3
|
+
version: 2.6.0
|
|
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 10 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.
|
|
7
7
|
---
|
|
@@ -17,7 +17,10 @@ You are modeling **complex multi-step accounting scenarios** in Jaz — transact
|
|
|
17
17
|
- Setting up prepaid expenses, deferred revenue, or accrued liabilities
|
|
18
18
|
- Modeling loan repayment schedules with amortization tables
|
|
19
19
|
- Implementing IFRS 16 lease accounting (right-of-use assets + lease liabilities)
|
|
20
|
+
- Recording hire purchase agreements (ownership transfers, depreciate over useful life)
|
|
20
21
|
- Recording depreciation using methods Jaz doesn't natively support (declining balance, 150DB)
|
|
22
|
+
- Managing fixed deposit placements with interest accrual schedules (IFRS 9)
|
|
23
|
+
- Disposing of fixed assets — sale, scrap, or write-off with gain/loss calculation (IAS 16)
|
|
21
24
|
- FX revaluation of non-AR/AP monetary items at period-end (IAS 21)
|
|
22
25
|
- Calculating expected credit loss provisions on aged receivables (IFRS 9)
|
|
23
26
|
- Accruing employee leave and bonus obligations (IAS 19)
|
|
@@ -61,7 +64,10 @@ Jaz schedulers generate **fixed-amount** recurring entries. This determines whic
|
|
|
61
64
|
| Declining Balance | Manual journals + capsule | Depreciation changes as book value reduces |
|
|
62
65
|
| FX Revaluation | Manual journals + capsule | Rates change each period |
|
|
63
66
|
| ECL Provision | Manual journals + capsule | Receivables and rates change each quarter |
|
|
64
|
-
|
|
|
67
|
+
| Fixed Deposit | Cash-out + manual journals + cash-in + capsule | Placement, monthly accruals, maturity |
|
|
68
|
+
| Hire Purchase | Manual journals + FA registration + capsule | Like IFRS 16 but depreciate over useful life |
|
|
69
|
+
| Asset Disposal | Manual journal + FA deregistration | One-off compound entry + FA update |
|
|
70
|
+
| Provisions (IAS 37) | Manual journals + cash-out + capsule | Unwinding amount changes each month |
|
|
65
71
|
| Bonus Accrual | Manual journals + capsule | Revenue/profit changes each quarter |
|
|
66
72
|
| Dividends | Manual journals + capsule | One-off: declaration + payment |
|
|
67
73
|
| Intercompany | Invoices/bills + capsule | Mirrored entries in two entities |
|
|
@@ -87,23 +93,29 @@ Each recipe includes: scenario description, accounts involved, journal entries,
|
|
|
87
93
|
|
|
88
94
|
6. **[Declining Balance Depreciation](references/declining-balance.md)** — DDB/150DB methods with switch-to-straight-line logic, for assets where Jaz's native SL isn't appropriate.
|
|
89
95
|
|
|
96
|
+
7. **[Fixed Deposit](references/fixed-deposit.md)** — Placement, monthly interest accrual (simple or compound), and maturity settlement. IFRS 9 amortized cost. *Paired calculator: `jaz calc fixed-deposit`*
|
|
97
|
+
|
|
98
|
+
8. **[Hire Purchase](references/hire-purchase.md)** — Like IFRS 16 lease but ownership transfers — ROU depreciation over useful life (not lease term). *Paired calculator: `jaz calc lease --useful-life <months>`*
|
|
99
|
+
|
|
100
|
+
9. **[Asset Disposal](references/asset-disposal.md)** — Sale at gain, sale at loss, or scrap/write-off. Computes accumulated depreciation to disposal date and gain/loss. *Paired calculator: `jaz calc asset-disposal`*
|
|
101
|
+
|
|
90
102
|
### Tier 3 — Month-End Close Recipes
|
|
91
103
|
|
|
92
|
-
|
|
104
|
+
10. **[FX Revaluation — Non-AR/AP Items](references/fx-revaluation.md)** — IAS 21 revaluation of non-AR/AP foreign currency monetary items (intercompany loans, term deposits, FX provisions) with Day 1 reversal. *Paired calculator: `jaz calc fx-reval`*
|
|
93
105
|
|
|
94
|
-
|
|
106
|
+
11. **[Bad Debt Provision / ECL](references/bad-debt-provision.md)** — IFRS 9 simplified approach provision matrix using aged receivables and historical loss rates. *Paired calculator: `jaz calc ecl`*
|
|
95
107
|
|
|
96
|
-
|
|
108
|
+
12. **[Employee Benefit Accruals](references/employee-accruals.md)** — IAS 19 leave accrual (scheduler, fixed monthly) and bonus accrual (manual journals, variable quarterly) with year-end true-up.
|
|
97
109
|
|
|
98
110
|
### Tier 4 — Corporate Events & Structures
|
|
99
111
|
|
|
100
|
-
|
|
112
|
+
13. **[Provisions with PV Unwinding](references/provisions.md)** — IAS 37 provision recognized at PV, with monthly discount unwinding schedule. For warranties, legal claims, decommissioning, restructuring. *Paired calculator: `jaz calc provision`*
|
|
101
113
|
|
|
102
|
-
|
|
114
|
+
14. **[Dividend Declaration & Payment](references/dividend.md)** — Board-declared dividend: two journals (declaration reducing retained earnings, then payment).
|
|
103
115
|
|
|
104
|
-
|
|
116
|
+
15. **[Intercompany Transactions](references/intercompany.md)** — Mirrored invoices/bills or journals across two Jaz entities with matching intercompany reference, quarterly settlement.
|
|
105
117
|
|
|
106
|
-
|
|
118
|
+
16. **[Capital WIP to Fixed Asset](references/capital-wip.md)** — Cost accumulation in CIP account during construction/development, transfer to FA on completion, auto-depreciation via Jaz FA module.
|
|
107
119
|
|
|
108
120
|
## How to Use These Recipes
|
|
109
121
|
|
|
@@ -118,19 +130,22 @@ Each recipe includes: scenario description, accounts involved, journal entries,
|
|
|
118
130
|
|
|
119
131
|
## Financial Calculators (CLI)
|
|
120
132
|
|
|
121
|
-
The `jaz-cli` includes
|
|
133
|
+
The `jaz-cli` includes 10 IFRS-compliant financial calculators. Each produces a formatted schedule + per-period journal entries + human-readable workings. Use `--json` for structured output with a complete **blueprint** — capsule type/name, tags, custom fields, workings (capsuleDescription), and every step with action type, date, accounts, and amounts.
|
|
122
134
|
|
|
123
|
-
All calculators support `--currency <code>`
|
|
135
|
+
All calculators support `--currency <code>` and `--json`.
|
|
124
136
|
|
|
125
137
|
```bash
|
|
126
138
|
# ── Tier 2 Calculators ──────────────────────────────────────────
|
|
127
139
|
|
|
128
|
-
# Loan amortization
|
|
140
|
+
# Loan amortization (PMT, interest/principal split)
|
|
129
141
|
jaz calc loan --principal 100000 --rate 6 --term 60 [--start-date 2025-01-01] [--currency SGD] [--json]
|
|
130
142
|
|
|
131
143
|
# IFRS 16 lease (PV, liability unwinding, ROU depreciation)
|
|
132
144
|
jaz calc lease --payment 5000 --term 36 --rate 5 [--start-date 2025-01-01] [--currency SGD] [--json]
|
|
133
145
|
|
|
146
|
+
# Hire purchase (lease + ownership transfer — depreciate over useful life)
|
|
147
|
+
jaz calc lease --payment 5000 --term 36 --rate 5 --useful-life 60 [--start-date 2025-01-01] [--currency SGD] [--json]
|
|
148
|
+
|
|
134
149
|
# Depreciation (DDB, 150DB, or straight-line)
|
|
135
150
|
jaz calc depreciation --cost 50000 --salvage 5000 --life 5 [--method ddb|150db|sl] [--frequency annual|monthly] [--currency SGD] [--json]
|
|
136
151
|
|
|
@@ -140,6 +155,12 @@ jaz calc prepaid-expense --amount 12000 --periods 12 [--frequency monthly|quarte
|
|
|
140
155
|
# Deferred revenue recognition
|
|
141
156
|
jaz calc deferred-revenue --amount 36000 --periods 12 [--frequency monthly|quarterly] [--start-date 2025-01-01] [--currency SGD] [--json]
|
|
142
157
|
|
|
158
|
+
# Fixed deposit — simple or compound interest accrual (IFRS 9)
|
|
159
|
+
jaz calc fixed-deposit --principal 100000 --rate 3.5 --term 12 [--compound monthly|quarterly|annually] [--start-date 2025-01-01] [--currency SGD] [--json]
|
|
160
|
+
|
|
161
|
+
# Asset disposal — gain/loss on sale or scrap (IAS 16)
|
|
162
|
+
jaz calc asset-disposal --cost 50000 --salvage 5000 --life 5 --acquired 2022-01-01 --disposed 2025-06-15 --proceeds 20000 [--method sl|ddb|150db] [--currency SGD] [--json]
|
|
163
|
+
|
|
143
164
|
# ── Tier 3 Calculators ──────────────────────────────────────────
|
|
144
165
|
|
|
145
166
|
# FX revaluation — unrealized gain/loss on non-AR/AP items (IAS 21)
|
|
@@ -156,7 +177,7 @@ jaz calc provision --amount 500000 --rate 4 --term 60 [--start-date 2025-01-01]
|
|
|
156
177
|
|
|
157
178
|
### Blueprint Output (`--json`)
|
|
158
179
|
|
|
159
|
-
Every calculator's `--json` output includes a `blueprint` object — a complete execution plan
|
|
180
|
+
Every calculator's `--json` output includes a `blueprint` object — a complete execution plan for creating the capsule and posting all transactions in Jaz:
|
|
160
181
|
|
|
161
182
|
```json
|
|
162
183
|
{
|
|
@@ -165,13 +186,14 @@ Every calculator's `--json` output includes a `blueprint` object — a complete
|
|
|
165
186
|
"blueprint": {
|
|
166
187
|
"capsuleType": "Loan Repayment",
|
|
167
188
|
"capsuleName": "Bank Loan — SGD 100,000 — 6% — 60 months",
|
|
189
|
+
"capsuleDescription": "Loan Amortization Workings\nPrincipal: SGD 100,000.00 | Rate: 6% p.a. ...",
|
|
168
190
|
"tags": ["Bank Loan"],
|
|
169
191
|
"customFields": { "Loan Reference": null },
|
|
170
192
|
"steps": [
|
|
171
193
|
{
|
|
172
194
|
"step": 1,
|
|
173
|
-
"action": "
|
|
174
|
-
"description": "
|
|
195
|
+
"action": "cash-in",
|
|
196
|
+
"description": "Record loan proceeds received from bank",
|
|
175
197
|
"date": "2025-01-01",
|
|
176
198
|
"lines": [
|
|
177
199
|
{ "account": "Cash / Bank Account", "debit": 100000, "credit": 0 },
|
|
@@ -183,12 +205,24 @@ Every calculator's `--json` output includes a `blueprint` object — a complete
|
|
|
183
205
|
}
|
|
184
206
|
```
|
|
185
207
|
|
|
208
|
+
**Blueprint action types** — each step tells you HOW to execute it in Jaz:
|
|
209
|
+
|
|
210
|
+
| Action | When used | Jaz module |
|
|
211
|
+
|---|---|---|
|
|
212
|
+
| `bill` | Supplier document (prepaid expense) | Bills |
|
|
213
|
+
| `invoice` | Customer document (deferred revenue) | Invoices |
|
|
214
|
+
| `cash-in` | Cash arrives in bank (loan disbursement, FD maturity) | Bank / Manual Journal |
|
|
215
|
+
| `cash-out` | Cash leaves bank (FD placement, provision settlement) | Bank / Manual Journal |
|
|
216
|
+
| `journal` | No cash movement (accrual, depreciation, unwinding, reval) | Manual Journals |
|
|
217
|
+
| `fixed-asset` | Register/update FA module (ROU asset, capital project) | Fixed Assets |
|
|
218
|
+
| `note` | Instruction only (deregister FA on disposal) | N/A |
|
|
219
|
+
|
|
186
220
|
**Math guarantees:**
|
|
187
|
-
-
|
|
188
|
-
-
|
|
221
|
+
- `financial` npm package (TypeScript port of numpy-financial) for PV, PMT — no hand-rolled TVM
|
|
222
|
+
- 2dp per period, final period closes balance to exactly $0.00
|
|
189
223
|
- Input validation with clear error messages (negative values, invalid dates, salvage > cost)
|
|
190
224
|
- DDB→SL switch when straight-line >= declining balance or when DDB would breach salvage floor
|
|
191
|
-
-
|
|
225
|
+
- All journal entries balanced (debits = credits in every step)
|
|
192
226
|
|
|
193
227
|
## Cross-References
|
|
194
228
|
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Recipe: Asset Disposal
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company disposes of a fixed asset — either selling it, trading it in, or scrapping it. IAS 16.67-72 requires derecognition on disposal or when no future economic benefits are expected. The gain or loss is the difference between net disposal proceeds and the carrying amount (IAS 16.68), and gains are NOT classified as revenue (IAS 16.71) — they appear separately in the P&L under Other Income.
|
|
6
|
+
|
|
7
|
+
**Pattern:** One-shot calculator (not a schedule) — computes accumulated depreciation to disposal date, net book value, and gain/loss, then produces a single disposal journal
|
|
8
|
+
|
|
9
|
+
**Why manual:** Jaz's fixed asset register tracks depreciation automatically, but the disposal journal (removing cost + accumulated depreciation + recognizing gain/loss) must be recorded manually. After the journal, the asset is marked as sold or discarded in the FA register.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Accounts Involved
|
|
14
|
+
|
|
15
|
+
| Account | Type | Subtype | Role |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| Fixed Asset (at cost) | Asset | Non-Current Asset | Original cost being removed |
|
|
18
|
+
| Accumulated Depreciation | Asset | Non-Current Asset (contra) | Contra-asset being cleared |
|
|
19
|
+
| Gain on Disposal | Revenue | Other Income | If proceeds > NBV |
|
|
20
|
+
| Loss on Disposal | Expense | Other Expense | If proceeds < NBV |
|
|
21
|
+
| Cash / Bank Account | Asset | Bank | Receives sale proceeds |
|
|
22
|
+
|
|
23
|
+
> **Note:** Gain on Disposal is NOT revenue — IAS 16.71 requires it to be classified separately. Use an "Other Income" account, not a sales revenue account.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Journal Entries
|
|
28
|
+
|
|
29
|
+
### Scenario A: Sale at a Gain (Proceeds > NBV)
|
|
30
|
+
|
|
31
|
+
Proceeds $12,000, NBV $10,000 — Gain of $2,000:
|
|
32
|
+
|
|
33
|
+
| Line | Account | Debit | Credit |
|
|
34
|
+
|---|---|---|---|
|
|
35
|
+
| 1 | Cash / Bank Account | $12,000 | |
|
|
36
|
+
| 2 | Accumulated Depreciation | $40,000 | |
|
|
37
|
+
| 3 | Fixed Asset (at cost) | | $50,000 |
|
|
38
|
+
| 4 | Gain on Disposal | | $2,000 |
|
|
39
|
+
|
|
40
|
+
### Scenario B: Sale at a Loss (Proceeds < NBV)
|
|
41
|
+
|
|
42
|
+
Proceeds $8,000, NBV $10,000 — Loss of $2,000:
|
|
43
|
+
|
|
44
|
+
| Line | Account | Debit | Credit |
|
|
45
|
+
|---|---|---|---|
|
|
46
|
+
| 1 | Cash / Bank Account | $8,000 | |
|
|
47
|
+
| 2 | Accumulated Depreciation | $40,000 | |
|
|
48
|
+
| 3 | Loss on Disposal | $2,000 | |
|
|
49
|
+
| 4 | Fixed Asset (at cost) | | $50,000 |
|
|
50
|
+
|
|
51
|
+
### Scenario C: Scrap / Write-Off (Zero Proceeds)
|
|
52
|
+
|
|
53
|
+
No proceeds, NBV $10,000 — Loss of $10,000:
|
|
54
|
+
|
|
55
|
+
| Line | Account | Debit | Credit |
|
|
56
|
+
|---|---|---|---|
|
|
57
|
+
| 1 | Accumulated Depreciation | $40,000 | |
|
|
58
|
+
| 2 | Loss on Disposal | $10,000 | |
|
|
59
|
+
| 3 | Fixed Asset (at cost) | | $50,000 |
|
|
60
|
+
|
|
61
|
+
**In all scenarios:** Debits = Credits = Original cost ($50,000).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Capsule Structure
|
|
66
|
+
|
|
67
|
+
**Capsule:** "Asset Disposal — Delivery Van VH-1234"
|
|
68
|
+
**Capsule Type:** "Asset Disposal"
|
|
69
|
+
|
|
70
|
+
Contents:
|
|
71
|
+
- 1 disposal journal (removing cost, clearing accumulated depreciation, recognizing gain/loss)
|
|
72
|
+
- **Total entries:** 1
|
|
73
|
+
|
|
74
|
+
> **Note:** After recording the disposal journal, update the Jaz FA register to mark the asset as sold or discarded. This is a separate step — the register update does not create a journal entry but ensures the asset stops depreciating.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Worked Example
|
|
79
|
+
|
|
80
|
+
**Asset details:**
|
|
81
|
+
- Asset: Delivery Van VH-1234
|
|
82
|
+
- Original cost: $50,000
|
|
83
|
+
- Salvage value: $5,000
|
|
84
|
+
- Useful life: 5 years (60 months)
|
|
85
|
+
- Depreciation method: Straight-line
|
|
86
|
+
- Acquired: January 1, 2022
|
|
87
|
+
- Disposed: June 15, 2025
|
|
88
|
+
- Sale proceeds: $12,000
|
|
89
|
+
|
|
90
|
+
**Step 1 — Calculate months held:**
|
|
91
|
+
```
|
|
92
|
+
Acquired: Jan 1, 2022
|
|
93
|
+
Disposed: Jun 15, 2025
|
|
94
|
+
Months held: 42 months (Jan 2022 through Jun 2025)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Step 2 — Calculate monthly depreciation (straight-line):**
|
|
98
|
+
```
|
|
99
|
+
Depreciable base = Cost − Salvage = $50,000 − $5,000 = $45,000
|
|
100
|
+
Monthly depreciation = $45,000 / 60 months = $750.00/month
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Step 3 — Calculate accumulated depreciation to disposal date:**
|
|
104
|
+
```
|
|
105
|
+
Accumulated depreciation = $750.00 × 42 months = $31,500.00
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Step 4 — Calculate net book value (NBV):**
|
|
109
|
+
```
|
|
110
|
+
NBV = Cost − Accumulated depreciation
|
|
111
|
+
NBV = $50,000 − $31,500 = $18,500.00
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Step 5 — Calculate gain or loss:**
|
|
115
|
+
```
|
|
116
|
+
Gain/(Loss) = Proceeds − NBV
|
|
117
|
+
Gain/(Loss) = $12,000 − $18,500 = −$6,500.00 (Loss)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Disposal journal (Jun 15, 2025):**
|
|
121
|
+
- Dr Cash $12,000.00
|
|
122
|
+
- Dr Accumulated Depreciation $31,500.00
|
|
123
|
+
- Dr Loss on Disposal $6,500.00
|
|
124
|
+
- Cr Fixed Asset (at cost) $50,000.00
|
|
125
|
+
- Description: "Disposal of Delivery Van VH-1234 — sold at loss"
|
|
126
|
+
- Assign to capsule
|
|
127
|
+
|
|
128
|
+
**Verification of debits = credits:**
|
|
129
|
+
```
|
|
130
|
+
Debits: $12,000 + $31,500 + $6,500 = $50,000
|
|
131
|
+
Credits: $50,000
|
|
132
|
+
Balanced: Yes
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Use the calculator:** `jaz calc asset-disposal --cost 50000 --salvage 5000 --life 5 --acquired 2022-01-01 --disposed 2025-06-15 --proceeds 12000`
|
|
136
|
+
|
|
137
|
+
The CLI generates a `capsuleDescription` with full workings (cost, accumulated depreciation, NBV, gain/loss breakdown) that can be attached to the capsule for audit trail.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Enrichment Suggestions
|
|
142
|
+
|
|
143
|
+
| Enrichment | Value | Why |
|
|
144
|
+
|---|---|---|
|
|
145
|
+
| Tracking Tag | "Asset Disposal" | Filter all disposal transactions in reports |
|
|
146
|
+
| Nano Classifier | Disposal Type → "Sale" or "Scrap" | Distinguish sales from write-offs |
|
|
147
|
+
| Custom Field | "Asset Description" → "Delivery Van VH-1234" | Identify the specific asset disposed |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Verification
|
|
152
|
+
|
|
153
|
+
1. **Fixed Asset account** → The original cost for this asset is fully removed (zeroed out).
|
|
154
|
+
2. **Accumulated Depreciation account** → The accumulated depreciation for this asset is fully cleared (zeroed out).
|
|
155
|
+
3. **P&L** → Gain or Loss on Disposal appears under "Other Income" or "Other Expense" (not revenue).
|
|
156
|
+
4. **FA register** → Asset is marked as sold or discarded. No further depreciation is posted.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Variations
|
|
161
|
+
|
|
162
|
+
**DDB/150DB depreciation:** If the asset uses declining balance instead of straight-line, use `--method ddb` or `--method 150db` in the calculator. The accumulated depreciation will differ, changing the NBV and gain/loss.
|
|
163
|
+
|
|
164
|
+
**Partial-year depreciation:** The calculator pro-rates automatically based on the acquisition and disposal dates. No manual adjustment needed for mid-month or mid-year disposals.
|
|
165
|
+
|
|
166
|
+
**Fully depreciated asset:** If the asset is fully depreciated, NBV = salvage value. Gain = proceeds − salvage. If scrapped, loss = salvage value (the remaining book value written off).
|
|
167
|
+
|
|
168
|
+
**Trade-in:** Record as a disposal (this recipe) plus a new asset acquisition in the same capsule. The trade-in allowance is the "proceeds" for the old asset. The new asset is recorded at its full cost, with the trade-in reducing the cash paid.
|
|
169
|
+
|
|
170
|
+
**Insurance claim (involuntary disposal):** If the asset is destroyed (fire, theft, accident), the insurance payout is the "proceeds." Same journal structure — the only difference is the source of cash (insurer instead of buyer).
|
|
171
|
+
|
|
172
|
+
**Jaz FA register update:** After recording the disposal journal, update the FA register:
|
|
173
|
+
- Sold: `POST /mark-as-sold/fixed-assets` — marks the asset as sold with the disposal date
|
|
174
|
+
- Scrapped: `POST /discard-fixed-assets/:id` — marks the asset as discarded
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Recipe: Fixed Deposit
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company places $100,000 in a 12-month fixed deposit at 3.5% annual interest. Under IFRS 9, this is classified as a financial asset at amortized cost (hold-to-collect business model, passes the SPPI test — solely payments of principal and interest). Interest is accrued monthly using the effective interest rate method and recognized in profit or loss. At maturity, the bank returns the principal plus accumulated interest.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Manual journals + capsule (monthly accrual, single maturity settlement)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Accounts Involved
|
|
12
|
+
|
|
13
|
+
| Account | Type | Subtype | Role |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Fixed Deposit | Asset | Current Asset | Carries the principal for the deposit term |
|
|
16
|
+
| Accrued Interest Receivable | Asset | Current Asset | Accumulates monthly interest accruals |
|
|
17
|
+
| Interest Income | Revenue | Other Income | P&L recognition of interest earned |
|
|
18
|
+
| Cash / Bank Account | Asset | Bank | Outflow on placement, inflow at maturity |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Journal Entries
|
|
23
|
+
|
|
24
|
+
### Step 1: Placement (Day 1) — cash-out
|
|
25
|
+
|
|
26
|
+
Record the transfer from operating account to the fixed deposit. This is a **cash-out** entry in Jaz (cash leaves the bank account):
|
|
27
|
+
|
|
28
|
+
| Line | Account | Debit | Credit |
|
|
29
|
+
|---|---|---|---|
|
|
30
|
+
| 1 | Fixed Deposit | $100,000 | |
|
|
31
|
+
| 2 | Cash / Bank Account | | $100,000 |
|
|
32
|
+
|
|
33
|
+
> In Jaz, record this via the bank module (match the outgoing bank feed entry) or as a manual journal.
|
|
34
|
+
|
|
35
|
+
### Step 2: Monthly Interest Accrual (each month)
|
|
36
|
+
|
|
37
|
+
**Simple interest (default):** Equal monthly accrual amount.
|
|
38
|
+
|
|
39
|
+
| Line | Account | Debit | Credit |
|
|
40
|
+
|---|---|---|---|
|
|
41
|
+
| 1 | Accrued Interest Receivable | $291.67 | |
|
|
42
|
+
| 2 | Interest Income | | $291.67 |
|
|
43
|
+
|
|
44
|
+
**Calculation:**
|
|
45
|
+
- Annual interest = $100,000 × 3.5% = $3,500
|
|
46
|
+
- Monthly accrual = $3,500 / 12 = $291.67
|
|
47
|
+
|
|
48
|
+
**Compound interest:** Interest is calculated on the carrying amount (principal + previously accrued interest) using the effective interest rate. Each month's accrual is slightly higher than the last. Use `jaz calc fixed-deposit --principal 100000 --rate 3.5 --term 12 --compound monthly` to generate the exact schedule.
|
|
49
|
+
|
|
50
|
+
### Step 3: Maturity (final day) — cash-in
|
|
51
|
+
|
|
52
|
+
Principal plus accrued interest returns to the bank account. This is a **cash-in** entry in Jaz (cash arrives in the bank account):
|
|
53
|
+
|
|
54
|
+
| Line | Account | Debit | Credit |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| 1 | Cash / Bank Account | $103,500 | |
|
|
57
|
+
| 2 | Fixed Deposit | | $100,000 |
|
|
58
|
+
| 3 | Accrued Interest Receivable | | $3,500 |
|
|
59
|
+
|
|
60
|
+
> After this entry, Fixed Deposit and Accrued Interest Receivable both zero out. The net P&L impact is $3,500 of Interest Income recognized over the 12 months. In Jaz, record via the bank module (match the incoming bank feed entry) or as a manual journal.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Capsule Structure
|
|
65
|
+
|
|
66
|
+
**Capsule:** "Fixed Deposit — DBS — 2025"
|
|
67
|
+
**Capsule Type:** "Fixed Deposit"
|
|
68
|
+
|
|
69
|
+
Contents:
|
|
70
|
+
- 1 placement journal
|
|
71
|
+
- 12 monthly interest accrual journals
|
|
72
|
+
- 1 maturity journal
|
|
73
|
+
- **Total entries:** 14
|
|
74
|
+
|
|
75
|
+
The CLI generates a `capsuleDescription` field with full workings — including the interest calculation method, per-period accrual amounts, and maturity value — so the capsule is self-documenting.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Worked Example
|
|
80
|
+
|
|
81
|
+
**Deposit terms:**
|
|
82
|
+
- Principal: $100,000
|
|
83
|
+
- Annual rate: 3.5%
|
|
84
|
+
- Term: 12 months (simple interest)
|
|
85
|
+
- Monthly accrual: $100,000 × 3.5% / 12 = $291.67
|
|
86
|
+
- Total interest: $3,500.00
|
|
87
|
+
- Maturity value: $103,500.00
|
|
88
|
+
|
|
89
|
+
**CLI command:**
|
|
90
|
+
```
|
|
91
|
+
jaz calc fixed-deposit --principal 100000 --rate 3.5 --term 12 --currency SGD
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Accrual Schedule (first 3 months + last month)
|
|
95
|
+
|
|
96
|
+
| Month | Accrual Amount | Cumulative Interest | Accrued Interest Receivable |
|
|
97
|
+
|---|---|---|---|
|
|
98
|
+
| 1 | $291.67 | $291.67 | $291.67 |
|
|
99
|
+
| 2 | $291.67 | $583.34 | $583.34 |
|
|
100
|
+
| 3 | $291.67 | $875.01 | $875.01 |
|
|
101
|
+
| ... | ... | ... | ... |
|
|
102
|
+
| 12 | $291.63* | $3,500.00 | $3,500.00 |
|
|
103
|
+
|
|
104
|
+
> *Final month adjusted by $0.04 to close the balance exactly to $3,500.00 (rounding correction).
|
|
105
|
+
|
|
106
|
+
**Month 1 journal entry:**
|
|
107
|
+
- Dr Accrued Interest Receivable $291.67
|
|
108
|
+
- Cr Interest Income $291.67
|
|
109
|
+
- Description: "FD interest accrual — Month 1 of 12 (DBS)"
|
|
110
|
+
- Assign to capsule
|
|
111
|
+
|
|
112
|
+
**Month 3 journal entry:**
|
|
113
|
+
- Dr Accrued Interest Receivable $291.67
|
|
114
|
+
- Cr Interest Income $291.67
|
|
115
|
+
- Description: "FD interest accrual — Month 3 of 12 (DBS)"
|
|
116
|
+
- Assign to capsule
|
|
117
|
+
|
|
118
|
+
**Maturity journal entry:**
|
|
119
|
+
- Dr Cash $103,500.00
|
|
120
|
+
- Cr Fixed Deposit $100,000.00
|
|
121
|
+
- Cr Accrued Interest Receivable $3,500.00
|
|
122
|
+
- Description: "FD maturity — principal + interest received (DBS)"
|
|
123
|
+
- Assign to capsule
|
|
124
|
+
|
|
125
|
+
**Totals over 12 months:**
|
|
126
|
+
- Total interest income: $3,500.00
|
|
127
|
+
- Net cash impact: −$100,000 at placement, +$103,500 at maturity = +$3,500
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Enrichment Suggestions
|
|
132
|
+
|
|
133
|
+
| Enrichment | Value | Why |
|
|
134
|
+
|---|---|---|
|
|
135
|
+
| Tracking Tag | "Fixed Deposit" | Filter all FD-related transactions in reports |
|
|
136
|
+
| Nano Classifier | Instrument → "Term Deposit" | Distinguish from savings accounts or money market funds |
|
|
137
|
+
| Custom Field | "Deposit Reference" → "TD-2025-001" | Record the bank's deposit certificate number |
|
|
138
|
+
| Custom Field | "Bank Name" → "DBS" | Identify the issuing bank for multi-bank portfolios |
|
|
139
|
+
|
|
140
|
+
Set the tag and nano classifier on each accrual journal. Custom fields go on the placement journal (the capsule groups everything together).
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Verification
|
|
145
|
+
|
|
146
|
+
1. **Accrued Interest Receivable should accumulate monthly** → Trial Balance at month 6 should show $1,750.02 (6 × $291.67). The balance grows each month until maturity.
|
|
147
|
+
2. **Interest Income P&L line = total accrual to date** → P&L at any date should equal the sum of accrual entries posted up to that date.
|
|
148
|
+
3. **At maturity, Fixed Deposit account zeros out** → After the maturity journal, Fixed Deposit balance = $0 and Accrued Interest Receivable balance = $0.
|
|
149
|
+
4. **Cash flow: Cash decreased by principal on placement, increased by maturity value at end** → Net cash movement over the 12 months = +$3,500 (the interest earned).
|
|
150
|
+
5. **Group General Ledger by Capsule** → "Fixed Deposit — DBS — 2025" should show all 14 entries. Fixed Deposit nets to $0 and Interest Income totals $3,500.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Variations
|
|
155
|
+
|
|
156
|
+
**Compound interest:** Use `jaz calc fixed-deposit --principal 100000 --rate 3.5 --term 12 --compound monthly` to generate a schedule where each month's interest is calculated on the carrying amount (principal + accrued interest to date). Total interest will be slightly higher than simple interest ($3,556.46 vs $3,500.00 for monthly compounding). The effective interest rate method applies the same logic — each period's income = carrying amount × periodic rate.
|
|
157
|
+
|
|
158
|
+
**FX-denominated deposit:** If the deposit is in USD but your base currency is SGD, record the placement journal with `currency: { sourceCurrency: "USD" }`. Monthly accruals should use the spot rate at each month-end. At maturity, any difference between the cumulative translated amounts and the actual SGD received is an FX gain/loss. Cross-reference the fx-revaluation recipe for month-end revaluation of the outstanding balance.
|
|
159
|
+
|
|
160
|
+
**Premature withdrawal:** The bank may impose a penalty (reduced interest rate or flat fee). Record the maturity journal with the reduced interest amount. If interest already accrued exceeds the actual payout, reverse the excess: Dr Interest Income / Cr Accrued Interest Receivable. Note the penalty in the journal description.
|
|
161
|
+
|
|
162
|
+
**Auto-rollover:** When the bank automatically rolls over the deposit at maturity, close the original capsule with a maturity journal (Dr Fixed Deposit New / Cr Fixed Deposit Old + Cr Accrued Interest Receivable), then create a new capsule for the rolled deposit. The new principal may include the prior interest if the bank compounds on rollover.
|
|
163
|
+
|
|
164
|
+
**PH withholding tax (20% final WHT on interest income):** In jurisdictions that withhold tax on interest at source, the maturity cash received is net of WHT. Record: Dr Cash (net) + Dr WHT Receivable or Tax Expense / Cr Fixed Deposit + Cr Accrued Interest Receivable. This variation is deferred to a future recipe update.
|