jaz-cli 2.2.0 → 2.3.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 +13 -3
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +89 -0
- package/assets/skills/transaction-recipes/references/accrued-expenses.md +157 -0
- package/assets/skills/transaction-recipes/references/bank-loan.md +145 -0
- package/assets/skills/transaction-recipes/references/building-blocks.md +112 -0
- package/assets/skills/transaction-recipes/references/declining-balance.md +190 -0
- package/assets/skills/transaction-recipes/references/deferred-revenue.md +125 -0
- package/assets/skills/transaction-recipes/references/ifrs16-lease.md +188 -0
- package/assets/skills/transaction-recipes/references/prepaid-amortization.md +123 -0
- package/dist/commands/init.js +8 -3
- package/dist/types/index.js +2 -1
- package/dist/utils/template.js +1 -1
- package/package.json +6 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.3.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.
|
|
@@ -78,7 +78,7 @@ Cash transfer FX logic: if either side is base currency, keep as-is; if both non
|
|
|
78
78
|
|
|
79
79
|
Containers that group related transactions for complex accounting scenarios. Use cases: prepaid expenses (annual insurance amortization), deferred revenue, accrued expenses, fixed asset acquisitions (CIP), intercompany transactions, renovation projects.
|
|
80
80
|
|
|
81
|
-
A capsule links invoices, bills, journals, and schedulers into a single logical unit. The ledger can be filtered and grouped by capsule. Capsule Types are customizable labels. A capsule must be empty before deletion.
|
|
81
|
+
A capsule links invoices, bills, journals, and schedulers into a single logical unit. If a scheduler belongs to a capsule, every recurring entry it generates is automatically created under that same capsule — this is how prepaid expenses, deferred revenue, and accruals spread entries across periods while keeping them grouped. The ledger can be filtered and grouped by capsule (the only enrichment that supports group-by). Capsule Types are customizable labels. A capsule must be empty before deletion. Transactions can be bulk-attached via Quick Fix or moved between capsules.
|
|
82
82
|
|
|
83
83
|
**API**: CRUD `GET/POST/PUT/DELETE /capsules`, `POST /capsules/search`, `POST /move-transaction-capsules`, CRUD `GET/POST/PUT/DELETE /capsuleTypes`, `POST /capsuleTypes/search` (also available as `/capsule-types/*` kebab-case aliases)
|
|
84
84
|
|
|
@@ -185,9 +185,19 @@ Fixed assets lock their linked line items — cannot edit account, amounts, or e
|
|
|
185
185
|
|
|
186
186
|
**Currencies & FX Rates**: Enable currencies before use. Rate priority: transaction-level custom rate > org-level custom rate > ECB/Frankfurter auto-fetch. Rate direction: `rate` = functionalToSource (1 base = X foreign).
|
|
187
187
|
|
|
188
|
-
**
|
|
188
|
+
**Transaction Data Enrichments** — four optional metadata layers at different granularities:
|
|
189
189
|
|
|
190
|
-
|
|
190
|
+
| Layer | Scope | Purpose | Reporting | PDF | Scheduler |
|
|
191
|
+
|-------|-------|---------|-----------|-----|-----------|
|
|
192
|
+
| **Tracking Tags** | Transaction only | Hashtags for advanced reporting | Filter | No | Inherited |
|
|
193
|
+
| **Nano Classifiers** | Line item only | Classification intent (department, cost center) | Filter | Yes (line items) | Inherited |
|
|
194
|
+
| **Capsules** | Group of transactions | Workflow container for multi-step accounting | Filter + Group by | No | All entries land in capsule |
|
|
195
|
+
| **Custom Fields** | Transaction | Additional record-keeping | No impact | Yes | No |
|
|
196
|
+
|
|
197
|
+
- **Tracking Tags**: Like hashtags on transactions — data enrichment for advanced reporting. Transaction-level only (not line items). Can be set on schedulers — generated entries inherit them. Cannot group by tags in reports, only filter.
|
|
198
|
+
- **Nano Classifiers**: Data enrichment with a classification intent — group line items into named classes within a classifier (e.g., Department: Engineering/Sales/Finance). Line-item-level only (not transaction headers). Can be displayed on PDF line items. Can be set on schedulers — generated entries inherit them. Assigning classifiers to items auto-applies them to line items in transactions.
|
|
199
|
+
- **Capsules**: Not a classification — a workflow container that groups related transactions for a specific accounting scenario (prepaid, deferred, accrual, CIP). The only enrichment supporting group-by in reports. See dedicated Capsules section above.
|
|
200
|
+
- **Custom Fields**: Text/number/date/dropdown fields for additional record-keeping. Transaction-level, applied to invoices/bills/journals/contacts. Can show on PDFs and be made mandatory. No reporting impact, not available on schedulers.
|
|
191
201
|
|
|
192
202
|
**Lock Dates**: Prevent edits to transactions before a date (org-wide or per-account). Prevents backdated entries.
|
|
193
203
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: conversion
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.3.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
|
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: transaction-recipes
|
|
3
|
+
version: 2.3.0
|
|
4
|
+
description: Step-by-step recipes for modeling complex multi-step accounting scenarios in Jaz — prepaid amortization, deferred revenue, accrued expenses, bank loans, IFRS 16 leases, and declining balance depreciation. Each recipe shows the journal entries, capsule structure, and verification steps.
|
|
5
|
+
license: MIT
|
|
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
|
+
---
|
|
8
|
+
|
|
9
|
+
# Transaction Recipes Skill
|
|
10
|
+
|
|
11
|
+
You are modeling **complex multi-step accounting scenarios** in Jaz — transactions that span multiple periods, involve changing amounts, or require several linked entries to complete a single business event.
|
|
12
|
+
|
|
13
|
+
**This skill provides conceptual recipes with full accounting logic. For API field names and payloads, load the `jaz-api` skill alongside this one.**
|
|
14
|
+
|
|
15
|
+
## When to Use This Skill
|
|
16
|
+
|
|
17
|
+
- Setting up prepaid expenses, deferred revenue, or accrued liabilities
|
|
18
|
+
- Modeling loan repayment schedules with amortization tables
|
|
19
|
+
- Implementing IFRS 16 lease accounting (right-of-use assets + lease liabilities)
|
|
20
|
+
- Recording depreciation using methods Jaz doesn't natively support (e.g., declining balance)
|
|
21
|
+
- Any scenario that groups related transactions in a capsule over multiple periods
|
|
22
|
+
|
|
23
|
+
## Building Blocks
|
|
24
|
+
|
|
25
|
+
Every recipe uses a combination of these Jaz features. See `references/building-blocks.md` for details.
|
|
26
|
+
|
|
27
|
+
| Building Block | Role in Recipes |
|
|
28
|
+
|---|---|
|
|
29
|
+
| **Capsules** | Group all related entries into one workflow container |
|
|
30
|
+
| **Schedulers** | Automate fixed-amount recurring journals (prepaid, deferred) |
|
|
31
|
+
| **Manual Journals** | Record variable-amount entries (loan interest, IFRS 16 unwinding, declining balance) |
|
|
32
|
+
| **Fixed Assets** | Native straight-line depreciation for ROU assets |
|
|
33
|
+
| **Tracking Tags** | Tag all entries in a scenario for report filtering |
|
|
34
|
+
| **Nano Classifiers** | Classify line items by department, cost center, or project |
|
|
35
|
+
| **Custom Fields** | Record reference numbers (policy, loan, lease contract) |
|
|
36
|
+
|
|
37
|
+
## Key Principle: Schedulers vs Manual Journals
|
|
38
|
+
|
|
39
|
+
Jaz schedulers generate **fixed-amount** recurring entries. This determines which recipe pattern to use:
|
|
40
|
+
|
|
41
|
+
- **Fixed amounts each period** → Use a scheduler inside a capsule (automated)
|
|
42
|
+
- **Variable amounts each period** → Use manual journals inside a capsule (calculated per period)
|
|
43
|
+
|
|
44
|
+
| Recipe | Pattern | Why |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| Prepaid Amortization | Scheduler + capsule | Same amount each month |
|
|
47
|
+
| Deferred Revenue | Scheduler + capsule | Same amount each month |
|
|
48
|
+
| Accrued Expenses | Two schedulers + capsule (or manual for one-offs) | Accrual + reversal cycle with end dates |
|
|
49
|
+
| Bank Loan | Manual journals + capsule | Interest changes as principal reduces |
|
|
50
|
+
| IFRS 16 Lease | Hybrid (native FA + manual journals) + capsule | ROU depreciation is fixed (native FA); liability unwinding changes each month |
|
|
51
|
+
| Declining Balance | Manual journals + capsule | Depreciation changes as book value reduces |
|
|
52
|
+
|
|
53
|
+
## Recipe Index
|
|
54
|
+
|
|
55
|
+
Each recipe includes: scenario description, accounts involved, journal entries, capsule structure, worked example with real numbers, enrichment suggestions, verification steps, and common variations.
|
|
56
|
+
|
|
57
|
+
### Tier 1 — Scheduler Recipes (Automated)
|
|
58
|
+
|
|
59
|
+
1. **[Prepaid Amortization](references/prepaid-amortization.md)** — Annual insurance, rent, or subscription paid upfront with monthly expense recognition via scheduler.
|
|
60
|
+
|
|
61
|
+
2. **[Deferred Revenue](references/deferred-revenue.md)** — Upfront customer payment for a service delivered over time, with monthly revenue recognition via scheduler.
|
|
62
|
+
|
|
63
|
+
### Tier 2 — Manual Journal Recipes (Calculated)
|
|
64
|
+
|
|
65
|
+
3. **[Accrued Expenses](references/accrued-expenses.md)** — Month-end expense accrual and start-of-month reversal using two schedulers with end dates, plus the actual supplier bill.
|
|
66
|
+
|
|
67
|
+
4. **[Bank Loan](references/bank-loan.md)** — Loan disbursement, monthly installments splitting principal and interest, full amortization table with worked example.
|
|
68
|
+
|
|
69
|
+
5. **[IFRS 16 Lease](references/ifrs16-lease.md)** — Right-of-use asset recognition, lease liability unwinding with changing interest, native FA for ROU straight-line depreciation.
|
|
70
|
+
|
|
71
|
+
6. **[Declining Balance Depreciation](references/declining-balance.md)** — Double declining balance method with switch-to-straight-line logic, for assets where Jaz's native straight-line isn't appropriate.
|
|
72
|
+
|
|
73
|
+
## How to Use These Recipes
|
|
74
|
+
|
|
75
|
+
1. **Read the recipe** for your scenario — understand the accounts, journal entries, and capsule structure.
|
|
76
|
+
2. **Create the accounts** listed in the "Accounts Involved" table (if they don't already exist in the CoA).
|
|
77
|
+
3. **Create the capsule** with an appropriate capsule type.
|
|
78
|
+
4. **Record the initial transaction** (bill, invoice, or journal) — assign it to the capsule.
|
|
79
|
+
5. **For scheduler recipes**: Create the scheduler with the same capsule — it generates all subsequent entries automatically.
|
|
80
|
+
6. **For manual journal recipes**: Record each period's journal manually using the calculations in the worked example, always assigning to the same capsule.
|
|
81
|
+
7. **Verify** using the steps in each recipe (ledger grouping by capsule, trial balance checks).
|
|
82
|
+
|
|
83
|
+
## Cross-References
|
|
84
|
+
|
|
85
|
+
- **API field names and payloads**: Load the `jaz-api` skill — see `references/endpoints.md` and `references/field-map.md`
|
|
86
|
+
- **Capsule API**: `POST /capsules`, `POST /capsuleTypes` — see api skill's `references/full-api-surface.md`
|
|
87
|
+
- **Scheduler API**: `POST /scheduled/journals`, `POST /scheduled/invoices`, `POST /scheduled/bills`
|
|
88
|
+
- **Fixed Assets API**: `POST /fixed-assets` — see api skill's `references/feature-glossary.md`
|
|
89
|
+
- **Enrichments overview**: See `references/building-blocks.md` or api skill's `references/feature-glossary.md`
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Recipe: Accrued Expenses
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company receives electricity each month but the supplier invoices quarterly. At the end of January, you estimate $3,000 of electricity expense that hasn't been billed yet. You accrue it, reverse it next month, and record the actual bill when it arrives.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Two schedulers + capsule (accrual scheduler + reversal scheduler with end dates), or manual journals for one-off accruals
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Accounts Involved
|
|
12
|
+
|
|
13
|
+
| Account | Type | Subtype | Role |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Accrued Expenses | Liability | Current Liability | Holds the accrued liability |
|
|
16
|
+
| Utilities Expense | Expense | Expense | Receives the expense charge |
|
|
17
|
+
| Accounts Payable | Liability | Current Liability | When the actual bill arrives |
|
|
18
|
+
| Cash / Bank Account | Asset | Bank | Pays the bill |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## How Reversals Work in Jaz
|
|
23
|
+
|
|
24
|
+
Jaz does not have a native "reversal" concept. To automate the accrual-reversal cycle, use **two journal schedulers** — one for the accrual, one for the reversal — each with an end date. The end date stops the schedulers when the actual bill is expected.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Journal Entries
|
|
29
|
+
|
|
30
|
+
### Step 1: Accrual Scheduler (runs at month-end)
|
|
31
|
+
|
|
32
|
+
Create a journal scheduler for the monthly accrual:
|
|
33
|
+
|
|
34
|
+
| Line | Account | Debit | Credit |
|
|
35
|
+
|---|---|---|---|
|
|
36
|
+
| 1 | Utilities Expense | $3,000 | |
|
|
37
|
+
| 2 | Accrued Expenses | | $3,000 |
|
|
38
|
+
|
|
39
|
+
**Scheduler settings:**
|
|
40
|
+
- Frequency: Monthly
|
|
41
|
+
- Start date: 2025-01-31 (last day of first accrual month)
|
|
42
|
+
- **End date: 2025-03-31** — stops when you expect the bill to arrive
|
|
43
|
+
- Capsule: "Q1 2025 Electricity — PowerCo"
|
|
44
|
+
- Description: `Electricity accrual — {{MONTH_NAME}} {{YEAR}}`
|
|
45
|
+
|
|
46
|
+
### Step 2: Reversal Scheduler (runs at start of next month)
|
|
47
|
+
|
|
48
|
+
Create a second journal scheduler for the reversal (opposite entries):
|
|
49
|
+
|
|
50
|
+
| Line | Account | Debit | Credit |
|
|
51
|
+
|---|---|---|---|
|
|
52
|
+
| 1 | Accrued Expenses | $3,000 | |
|
|
53
|
+
| 2 | Utilities Expense | | $3,000 |
|
|
54
|
+
|
|
55
|
+
**Scheduler settings:**
|
|
56
|
+
- Frequency: Monthly
|
|
57
|
+
- Start date: 2025-02-01 (first day after first accrual)
|
|
58
|
+
- **End date: 2025-04-01** — one month after the accrual scheduler's end date
|
|
59
|
+
- Capsule: same capsule — "Q1 2025 Electricity — PowerCo"
|
|
60
|
+
- Description: `Reversal of electricity accrual — {{MONTH_NAME}} {{YEAR}}`
|
|
61
|
+
|
|
62
|
+
This clears each month's accrual so the actual bill can be recorded cleanly.
|
|
63
|
+
|
|
64
|
+
### Step 3: Actual Bill (when received — e.g., Mar 15)
|
|
65
|
+
|
|
66
|
+
Create a bill to the electricity supplier for the actual amount (which may differ from the estimate):
|
|
67
|
+
|
|
68
|
+
- Bill: Dr Utilities Expense $9,200 / Cr AP $9,200
|
|
69
|
+
- Assign to the same capsule
|
|
70
|
+
|
|
71
|
+
The net effect per month:
|
|
72
|
+
- Each month's P&L shows the estimated expense (accrual)
|
|
73
|
+
- Each reversal clears the accrual at the start of the next month
|
|
74
|
+
- The bill captures the full actual amount when it arrives
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Capsule Structure
|
|
79
|
+
|
|
80
|
+
**Capsule:** "Q1 2025 Electricity — PowerCo"
|
|
81
|
+
**Capsule Type:** "Accrued Expenses"
|
|
82
|
+
|
|
83
|
+
Contents:
|
|
84
|
+
- 3 accrual journals — generated by the accrual scheduler (one per month-end)
|
|
85
|
+
- 3 reversal journals — generated by the reversal scheduler (one at start of next month)
|
|
86
|
+
- 1 supplier bill (when received)
|
|
87
|
+
- **Total entries:** 7
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Worked Example
|
|
92
|
+
|
|
93
|
+
**Setup:**
|
|
94
|
+
- Create capsule "Q1 2025 Electricity — PowerCo" with type "Accrued Expenses"
|
|
95
|
+
- Create accrual scheduler (Dr Utilities $3,000 / Cr Accrued $3,000) — monthly, end date Mar 31, assign to capsule
|
|
96
|
+
- Create reversal scheduler (Dr Accrued $3,000 / Cr Utilities $3,000) — monthly, end date Apr 1, assign to capsule
|
|
97
|
+
|
|
98
|
+
**Jan 31, 2025 — auto-generated by accrual scheduler:**
|
|
99
|
+
- Dr Utilities Expense $3,000 / Cr Accrued Expenses $3,000
|
|
100
|
+
- P&L: Utilities Expense $3,000
|
|
101
|
+
|
|
102
|
+
**Feb 1, 2025 — auto-generated by reversal scheduler:**
|
|
103
|
+
- Dr Accrued Expenses $3,000 / Cr Utilities Expense $3,000
|
|
104
|
+
- Accrued balance cleared to $0
|
|
105
|
+
|
|
106
|
+
**Feb 28, 2025 — auto-generated by accrual scheduler:**
|
|
107
|
+
- Dr Utilities Expense $3,000 / Cr Accrued Expenses $3,000
|
|
108
|
+
|
|
109
|
+
**Mar 1, 2025 — auto-generated by reversal scheduler:**
|
|
110
|
+
- Dr Accrued Expenses $3,000 / Cr Utilities Expense $3,000
|
|
111
|
+
|
|
112
|
+
**Mar 15, 2025 — Actual bill received:**
|
|
113
|
+
- Create bill: $9,200 to PowerCo, coded to Utilities Expense
|
|
114
|
+
- Assign to same capsule
|
|
115
|
+
- Pay bill when due
|
|
116
|
+
|
|
117
|
+
**Mar 31, 2025 — auto-generated by accrual scheduler (final):**
|
|
118
|
+
- Dr Utilities Expense $3,000 / Cr Accrued Expenses $3,000
|
|
119
|
+
|
|
120
|
+
**Apr 1, 2025 — auto-generated by reversal scheduler (final):**
|
|
121
|
+
- Dr Accrued Expenses $3,000 / Cr Utilities Expense $3,000
|
|
122
|
+
|
|
123
|
+
**P&L impact per month:**
|
|
124
|
+
- January: $3,000 (accrual, not yet reversed)
|
|
125
|
+
- February: −$3,000 (reversal) + $3,000 (new accrual) = net $0 change
|
|
126
|
+
- March: −$3,000 (reversal) + $9,200 (bill) + $3,000 (accrual) = net $9,200
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Enrichment Suggestions
|
|
131
|
+
|
|
132
|
+
| Enrichment | Value | Why |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| Tracking Tag | "Utilities" | Filter all utility-related transactions |
|
|
135
|
+
| Nano Classifier | Department → "Operations" | Attribute to responsible department |
|
|
136
|
+
| Custom Field | "Supplier Account #" → "PWR-88201" | Record the utility account number |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Verification
|
|
141
|
+
|
|
142
|
+
1. **Group General Ledger by Capsule** → "Q1 2025 Electricity — PowerCo" shows all 7 entries. Accrued Expenses should net to zero after all reversals.
|
|
143
|
+
2. **Trial Balance at Jan 31** → Accrued Expenses shows $3,000 credit (liability exists). Utilities Expense shows $3,000.
|
|
144
|
+
3. **Trial Balance at Mar 31 (after bill)** → Accrued Expenses shows $3,100 credit (March accrual not yet reversed). Utilities Expense reflects year-to-date charges.
|
|
145
|
+
4. **Trial Balance at Apr 1 (after reversal)** → Accrued Expenses shows $0 (all cleared).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Variations
|
|
150
|
+
|
|
151
|
+
**One-off accrual (no scheduler):** For a single accrual-reversal pair (e.g., a year-end audit adjustment), create two manual journals instead of schedulers — one accrual journal at Dec 31 and one reversal journal at Jan 1. Both go in the same capsule.
|
|
152
|
+
|
|
153
|
+
**Variable estimate amounts:** If the monthly estimate changes (e.g., $3,000 in Jan, $3,100 in Feb), schedulers won't work since they produce fixed amounts. Use manual journals for each accrual and reversal instead, all in the same capsule.
|
|
154
|
+
|
|
155
|
+
**No reversal method:** Some companies accrue at month-end and only reverse when the actual bill arrives (instead of reversing at the start of each month). This is simpler but less granular in monthly P&L. Use one accrual scheduler with an end date, and a single manual reversal journal when the bill comes.
|
|
156
|
+
|
|
157
|
+
**Known amount, unknown timing:** If you know the quarterly bill is always ~$9,000 but don't know the exact date, set the scheduler end dates to your best estimate. Adjust by deleting or adding manual journals in the capsule if timing shifts.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Recipe: Bank Loan
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company takes a $100,000 bank loan at 6% annual interest, repaid in 60 equal monthly installments of $1,933.28. Each payment splits between principal (reducing the loan balance) and interest (expense), with the split changing every month as the outstanding balance decreases.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Manual journals + capsule (interest amount changes each period)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Accounts Involved
|
|
12
|
+
|
|
13
|
+
| Account | Type | Subtype | Role |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Loan Payable | Liability | Non-Current Liability | Long-term portion of loan balance |
|
|
16
|
+
| Loan Payable (Current) | Liability | Current Liability | Portion due within 12 months |
|
|
17
|
+
| Interest Expense | Expense | Expense | Monthly interest charge |
|
|
18
|
+
| Cash / Bank Account | Asset | Bank | Receives disbursement, makes payments |
|
|
19
|
+
|
|
20
|
+
> **Note on current/non-current split:** For simplicity, this recipe uses a single "Loan Payable" account. In practice, you may maintain two accounts and periodically reclassify the next 12 months' principal as current. A year-end reclassification journal (Dr Loan Payable Non-Current / Cr Loan Payable Current) can be added to the capsule.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Journal Entries
|
|
25
|
+
|
|
26
|
+
### Step 1: Loan Disbursement (Day 1)
|
|
27
|
+
|
|
28
|
+
| Line | Account | Debit | Credit |
|
|
29
|
+
|---|---|---|---|
|
|
30
|
+
| 1 | Cash / Bank Account | $100,000 | |
|
|
31
|
+
| 2 | Loan Payable | | $100,000 |
|
|
32
|
+
|
|
33
|
+
### Step 2: Monthly Payment (each month)
|
|
34
|
+
|
|
35
|
+
Each payment is a fixed installment of $1,933.28, split as follows:
|
|
36
|
+
|
|
37
|
+
| Line | Account | Debit | Credit |
|
|
38
|
+
|---|---|---|---|
|
|
39
|
+
| 1 | Loan Payable | *principal portion* | |
|
|
40
|
+
| 2 | Interest Expense | *interest portion* | |
|
|
41
|
+
| 3 | Cash / Bank Account | | $1,933.28 |
|
|
42
|
+
|
|
43
|
+
**Calculation per month:**
|
|
44
|
+
- Monthly rate = 6% / 12 = 0.5%
|
|
45
|
+
- Interest = Outstanding balance × 0.005
|
|
46
|
+
- Principal = $1,933.28 − Interest
|
|
47
|
+
- New balance = Outstanding balance − Principal
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Capsule Structure
|
|
52
|
+
|
|
53
|
+
**Capsule:** "Bank Loan — ABC Bank — 2025"
|
|
54
|
+
**Capsule Type:** "Loan Repayment"
|
|
55
|
+
|
|
56
|
+
Contents:
|
|
57
|
+
- 1 disbursement journal
|
|
58
|
+
- 60 monthly payment journals
|
|
59
|
+
- Optional: year-end current/non-current reclassification journals
|
|
60
|
+
- **Total entries:** 61+
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Worked Example
|
|
65
|
+
|
|
66
|
+
**Loan terms:**
|
|
67
|
+
- Principal: $100,000
|
|
68
|
+
- Annual rate: 6% (monthly rate: 0.5%)
|
|
69
|
+
- Term: 60 months
|
|
70
|
+
- Fixed installment: $1,933.28
|
|
71
|
+
|
|
72
|
+
**Monthly installment formula:**
|
|
73
|
+
```
|
|
74
|
+
PMT = P × r / (1 − (1 + r)^−n)
|
|
75
|
+
PMT = 100,000 × 0.005 / (1 − 1.005^−60)
|
|
76
|
+
PMT = 500 / 0.2586 = $1,933.28
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Amortization Table (first 6 months + last 2)
|
|
80
|
+
|
|
81
|
+
| Month | Opening Balance | Interest (0.5%) | Principal | Closing Balance |
|
|
82
|
+
|---|---|---|---|---|
|
|
83
|
+
| 1 | $100,000.00 | $500.00 | $1,433.28 | $98,566.72 |
|
|
84
|
+
| 2 | $98,566.72 | $492.83 | $1,440.45 | $97,126.27 |
|
|
85
|
+
| 3 | $97,126.27 | $485.63 | $1,447.65 | $95,678.62 |
|
|
86
|
+
| 4 | $95,678.62 | $478.39 | $1,454.89 | $94,223.73 |
|
|
87
|
+
| 5 | $94,223.73 | $471.12 | $1,462.16 | $92,761.57 |
|
|
88
|
+
| 6 | $92,761.57 | $463.81 | $1,469.47 | $91,292.10 |
|
|
89
|
+
| ... | ... | ... | ... | ... |
|
|
90
|
+
| 59 | $3,847.42 | $19.24 | $1,914.04 | $1,933.38 |
|
|
91
|
+
| 60 | $1,933.38 | $9.67 | $1,923.61 | $0.00* |
|
|
92
|
+
|
|
93
|
+
> *Final payment may need a small rounding adjustment (±$0.10) to close the balance exactly to zero.
|
|
94
|
+
|
|
95
|
+
**Month 1 journal entry:**
|
|
96
|
+
- Dr Loan Payable $1,433.28
|
|
97
|
+
- Dr Interest Expense $500.00
|
|
98
|
+
- Cr Cash $1,933.28
|
|
99
|
+
- Description: "Loan payment — Month 1 of 60 (ABC Bank)"
|
|
100
|
+
- Assign to capsule
|
|
101
|
+
|
|
102
|
+
**Month 6 journal entry:**
|
|
103
|
+
- Dr Loan Payable $1,469.47
|
|
104
|
+
- Dr Interest Expense $463.81
|
|
105
|
+
- Cr Cash $1,933.28
|
|
106
|
+
- Description: "Loan payment — Month 6 of 60 (ABC Bank)"
|
|
107
|
+
- Assign to capsule
|
|
108
|
+
|
|
109
|
+
**Totals over 60 months:**
|
|
110
|
+
- Total payments: $1,933.28 × 60 = $115,996.80
|
|
111
|
+
- Total interest: $15,996.80
|
|
112
|
+
- Total principal: $100,000.00
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Enrichment Suggestions
|
|
117
|
+
|
|
118
|
+
| Enrichment | Value | Why |
|
|
119
|
+
|---|---|---|
|
|
120
|
+
| Tracking Tag | "Bank Loan" | Filter all loan-related transactions |
|
|
121
|
+
| Nano Classifier | Facility → "Term Loan" | Distinguish from revolving credit or overdraft |
|
|
122
|
+
| Custom Field | "Loan Reference" → "LN-2025-0042" | Record the bank's loan reference number |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Verification
|
|
127
|
+
|
|
128
|
+
1. **Group General Ledger by Capsule** → Shows disbursement + all payments. Loan Payable should start at $100,000 credit and reduce to $0 by month 60.
|
|
129
|
+
2. **Trial Balance at any date** → Loan Payable balance should match the "Closing Balance" column in the amortization table for that month.
|
|
130
|
+
3. **P&L for Year 1** → Interest Expense = sum of interest column for months 1–12 (approximately $5,580).
|
|
131
|
+
4. **Cash movement** → Cash decreased by $1,933.28 × number of payments made, offset by the initial $100,000 disbursement.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Variations
|
|
136
|
+
|
|
137
|
+
**Variable rate loan:** Recalculate the installment amount whenever the rate changes. The capsule still holds all entries. Note in the journal description when the rate changed.
|
|
138
|
+
|
|
139
|
+
**Lump-sum principal repayment:** Record an additional journal: Dr Loan Payable / Cr Cash for the lump sum. Recalculate remaining monthly installments based on the new balance.
|
|
140
|
+
|
|
141
|
+
**Interest-only period:** During interest-only months, the journal is: Dr Interest Expense / Cr Cash (no principal portion). Once amortization begins, switch to the split format.
|
|
142
|
+
|
|
143
|
+
**Multi-currency loan:** If the loan is in USD but base currency is SGD, record the disbursement with `currency: { sourceCurrency: "USD" }`. Monthly payments should use the spot rate on payment date. FX gains/losses are captured automatically.
|
|
144
|
+
|
|
145
|
+
**Fees:** Loan origination fees can be recorded as a separate journal in the capsule: Dr Loan Origination Fee (expense or amortized asset) / Cr Cash.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Building Blocks
|
|
2
|
+
|
|
3
|
+
The Jaz features that transaction recipes combine to model complex, multi-period accounting scenarios.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Capsules — Workflow Containers
|
|
8
|
+
|
|
9
|
+
Capsules group related transactions into a single logical unit for a specific accounting workflow. They are **not** a classification tool — they represent the full lifecycle of a business event.
|
|
10
|
+
|
|
11
|
+
**How capsules work in recipes:**
|
|
12
|
+
- Create one capsule per scenario instance (e.g., "FY2025 Office Insurance")
|
|
13
|
+
- Assign the initial transaction (bill, invoice, or journal) to the capsule
|
|
14
|
+
- Assign the scheduler (if any) to the same capsule — every entry it generates automatically lands in that capsule
|
|
15
|
+
- For manual journal recipes, assign each monthly journal to the capsule as you create it
|
|
16
|
+
|
|
17
|
+
**Capsule Types** are labels that categorize capsules. Create types that match your recipes:
|
|
18
|
+
- Prepaid Expenses
|
|
19
|
+
- Deferred Revenue
|
|
20
|
+
- Accrued Expenses
|
|
21
|
+
- Loan Repayment
|
|
22
|
+
- Lease Accounting (IFRS 16)
|
|
23
|
+
- Depreciation (Non-Standard)
|
|
24
|
+
|
|
25
|
+
**Reporting:** Capsules are the **only enrichment that supports group-by** in the General Ledger. Grouping by capsule shows the complete lifecycle of a multi-step transaction in one view.
|
|
26
|
+
|
|
27
|
+
**API:** `POST /capsules`, `POST /capsuleTypes`, `POST /capsuleTypes/search`
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Schedulers — Recurring Entry Generators
|
|
32
|
+
|
|
33
|
+
Schedulers automate **fixed-amount** recurring transactions. A scheduler generates one entry per period (monthly, quarterly, annually) until its end date.
|
|
34
|
+
|
|
35
|
+
**Key limitation:** Scheduler amounts are **fixed** — every generated entry has the same amount. This makes schedulers perfect for:
|
|
36
|
+
- Prepaid amortization ($1,000/month for 12 months)
|
|
37
|
+
- Deferred revenue recognition ($2,000/month for 12 months)
|
|
38
|
+
|
|
39
|
+
But **not suitable** for:
|
|
40
|
+
- Loan interest (changes as principal balance reduces)
|
|
41
|
+
- IFRS 16 liability unwinding (interest component changes each period)
|
|
42
|
+
- Declining balance depreciation (amount changes as book value drops)
|
|
43
|
+
|
|
44
|
+
**Scheduler + capsule:** When a scheduler has a capsule assigned, every entry it generates is automatically created under that capsule. This is the automation sweet spot for fixed-amount recipes.
|
|
45
|
+
|
|
46
|
+
**Dynamic strings:** Scheduler descriptions support `{{YEAR}}`, `{{MONTH}}`, `{{MONTH_NAME}}` — e.g., "Insurance amortization — {{MONTH_NAME}} {{YEAR}}" produces "Insurance amortization — January 2025".
|
|
47
|
+
|
|
48
|
+
**API:** `POST /scheduled/journals` (manual journal scheduler), `POST /scheduled/invoices`, `POST /scheduled/bills`
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Manual Journals — Flexible Entries
|
|
53
|
+
|
|
54
|
+
Manual journals are multi-line debit/credit entries. Use them when amounts change each period or timing is irregular.
|
|
55
|
+
|
|
56
|
+
**In variable-amount recipes**, you record one journal per period with calculated amounts (from the amortization table or depreciation schedule). Each journal is assigned to the capsule manually.
|
|
57
|
+
|
|
58
|
+
**Requirements:** Minimum 2 lines, debits must equal credits. Journal descriptions should identify the period (e.g., "Loan payment — Month 3 of 60").
|
|
59
|
+
|
|
60
|
+
**API:** `POST /journals`
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Fixed Assets — Native Straight-Line Depreciation
|
|
65
|
+
|
|
66
|
+
Jaz has built-in fixed asset management with **straight-line depreciation only**. Register an asset and Jaz auto-posts monthly depreciation journal entries.
|
|
67
|
+
|
|
68
|
+
**Formula:** `(Cost - Salvage Value) / Useful Life in Months`
|
|
69
|
+
|
|
70
|
+
**Used in IFRS 16:** The ROU (right-of-use) asset is registered as a native fixed asset. Jaz handles its straight-line depreciation automatically — you only need manual journals for the liability unwinding side.
|
|
71
|
+
|
|
72
|
+
**Not suitable for:** Declining balance, units of production, sum-of-years-digits, or any non-straight-line method. Use manual journals instead.
|
|
73
|
+
|
|
74
|
+
**API:** `POST /fixed-assets`
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Enrichments — Metadata for Recipes
|
|
79
|
+
|
|
80
|
+
Apply enrichments to recipe transactions for richer reporting and record-keeping:
|
|
81
|
+
|
|
82
|
+
| Enrichment | Level | Recipe Use |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| **Tracking Tags** | Transaction | Tag all entries with scenario label (e.g., "Insurance", "Office Lease") |
|
|
85
|
+
| **Nano Classifiers** | Line item | Classify by department or cost center on each journal line |
|
|
86
|
+
| **Custom Fields** | Transaction | Record reference numbers (policy #, loan #, lease contract #) |
|
|
87
|
+
|
|
88
|
+
**Schedulers inherit tags and nano classifiers** — set them once on the scheduler and all generated entries get them automatically.
|
|
89
|
+
|
|
90
|
+
**Custom fields are not available on schedulers** — only on individual transactions.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Accounts Required
|
|
95
|
+
|
|
96
|
+
Each recipe lists the specific CoA accounts needed. Common patterns:
|
|
97
|
+
|
|
98
|
+
| Account | Type | Subtype | Used In |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| Prepaid Expenses | Asset | Current Asset | Prepaid amortization |
|
|
101
|
+
| Deferred Revenue | Liability | Current Liability | Deferred revenue |
|
|
102
|
+
| Accrued Expenses | Liability | Current Liability | Accrued expenses |
|
|
103
|
+
| Loan Payable | Liability | Non-Current Liability | Bank loan |
|
|
104
|
+
| Loan Payable (Current) | Liability | Current Liability | Bank loan (current portion) |
|
|
105
|
+
| Interest Expense | Expense | Expense | Bank loan, IFRS 16 |
|
|
106
|
+
| Right-of-Use Asset | Asset | Non-Current Asset | IFRS 16 |
|
|
107
|
+
| Lease Liability | Liability | Non-Current Liability | IFRS 16 |
|
|
108
|
+
| Lease Liability (Current) | Liability | Current Liability | IFRS 16 |
|
|
109
|
+
| Accumulated Depreciation | Asset | Non-Current Asset | Declining balance |
|
|
110
|
+
| Depreciation Expense | Expense | Expense | Declining balance |
|
|
111
|
+
|
|
112
|
+
**API:** `POST /chart-of-accounts` or `POST /chart-of-accounts/bulk-upsert`
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Recipe: Declining Balance Depreciation
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company purchases a delivery vehicle for $50,000 with a 5-year useful life and $5,000 salvage value. Management wants to use **double declining balance (DDB)** depreciation instead of straight-line because the vehicle loses more value in early years. Jaz only supports straight-line natively, so you record depreciation manually.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Manual journals + capsule (depreciation amount changes each period)
|
|
8
|
+
|
|
9
|
+
**Why manual:** Jaz's fixed asset register only supports straight-line depreciation. Declining balance produces different amounts each period as the book value decreases, so a scheduler (fixed-amount) won't work either.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Accounts Involved
|
|
14
|
+
|
|
15
|
+
| Account | Type | Subtype | Role |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| Vehicles | Asset | Non-Current Asset | The asset at cost |
|
|
18
|
+
| Accumulated Depreciation — Vehicles | Asset | Non-Current Asset | Contra-asset reducing net book value |
|
|
19
|
+
| Depreciation Expense | Expense | Expense | Monthly/annual depreciation charge |
|
|
20
|
+
|
|
21
|
+
> **Do NOT register the asset in Jaz's fixed asset register** — that would trigger automatic straight-line depreciation. Track the asset in the CoA only.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## DDB Method — How It Works
|
|
26
|
+
|
|
27
|
+
**Double Declining Balance Rate:**
|
|
28
|
+
```
|
|
29
|
+
DDB Rate = 2 / Useful Life = 2 / 5 = 40% per year
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Each period:**
|
|
33
|
+
```
|
|
34
|
+
Depreciation = Book Value at Start of Period × DDB Rate
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Key constraint:** Book value can never go below salvage value. When the declining balance amount would push book value below salvage, **switch to straight-line** for the remaining life.
|
|
38
|
+
|
|
39
|
+
**Switch-to-straight-line rule:** At the start of each period, compare:
|
|
40
|
+
- DDB depreciation = Book value × DDB rate
|
|
41
|
+
- Straight-line for remaining life = (Book value − Salvage value) / Remaining years
|
|
42
|
+
|
|
43
|
+
When straight-line ≥ DDB, switch to straight-line for all remaining periods.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Journal Entry (Each Period)
|
|
48
|
+
|
|
49
|
+
| Line | Account | Debit | Credit |
|
|
50
|
+
|---|---|---|---|
|
|
51
|
+
| 1 | Depreciation Expense | *calculated amount* | |
|
|
52
|
+
| 2 | Accumulated Depreciation — Vehicles | | *calculated amount* |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Capsule Structure
|
|
57
|
+
|
|
58
|
+
**Capsule:** "Depreciation — Delivery Vehicle VH-001"
|
|
59
|
+
**Capsule Type:** "Depreciation (Non-Standard)"
|
|
60
|
+
|
|
61
|
+
Contents:
|
|
62
|
+
- 5 annual depreciation journals (or 60 monthly if recording monthly)
|
|
63
|
+
- **Total entries:** 5 (annual) or 60 (monthly)
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Worked Example — Annual
|
|
68
|
+
|
|
69
|
+
**Asset details:**
|
|
70
|
+
- Cost: $50,000
|
|
71
|
+
- Salvage value: $5,000
|
|
72
|
+
- Useful life: 5 years
|
|
73
|
+
- DDB rate: 40%
|
|
74
|
+
- Depreciable base: $45,000
|
|
75
|
+
|
|
76
|
+
### Annual Depreciation Schedule
|
|
77
|
+
|
|
78
|
+
| Year | Opening Book Value | DDB (40%) | SL for Remaining | Use | Depreciation | Closing Book Value |
|
|
79
|
+
|---|---|---|---|---|---|---|
|
|
80
|
+
| 1 | $50,000 | $20,000 | $9,000 (45k/5) | DDB | **$20,000** | $30,000 |
|
|
81
|
+
| 2 | $30,000 | $12,000 | $6,250 (25k/4) | DDB | **$12,000** | $18,000 |
|
|
82
|
+
| 3 | $18,000 | $7,200 | $4,333 (13k/3) | DDB | **$7,200** | $10,800 |
|
|
83
|
+
| 4 | $10,800 | $4,320 | $2,900 (5.8k/2) | DDB | **$4,320** | $6,480 |
|
|
84
|
+
| 5 | $6,480 | $2,592 | $1,480 (1.48k/1) | **Switch** | **$1,480** | $5,000 |
|
|
85
|
+
|
|
86
|
+
**Year 5 switch logic:**
|
|
87
|
+
- DDB = $6,480 × 40% = $2,592 → would give closing BV of $3,888 (below salvage)
|
|
88
|
+
- SL = ($6,480 − $5,000) / 1 = $1,480
|
|
89
|
+
- Since we can't go below salvage, depreciate only $1,480
|
|
90
|
+
|
|
91
|
+
**Total depreciation:** $20,000 + $12,000 + $7,200 + $4,320 + $1,480 = **$45,000** ✓
|
|
92
|
+
|
|
93
|
+
### Year 1 Journal Entry
|
|
94
|
+
|
|
95
|
+
- Dr Depreciation Expense $20,000
|
|
96
|
+
- Cr Accumulated Depreciation — Vehicles $20,000
|
|
97
|
+
- Description: "DDB depreciation — Delivery Vehicle VH-001 — Year 1 of 5"
|
|
98
|
+
- Assign to capsule
|
|
99
|
+
|
|
100
|
+
### Year 4 Journal Entry
|
|
101
|
+
|
|
102
|
+
- Dr Depreciation Expense $4,320
|
|
103
|
+
- Cr Accumulated Depreciation — Vehicles $4,320
|
|
104
|
+
- Description: "DDB depreciation — Delivery Vehicle VH-001 — Year 4 of 5"
|
|
105
|
+
- Assign to capsule
|
|
106
|
+
|
|
107
|
+
### Year 5 Journal Entry (Switched to SL)
|
|
108
|
+
|
|
109
|
+
- Dr Depreciation Expense $1,480
|
|
110
|
+
- Cr Accumulated Depreciation — Vehicles $1,480
|
|
111
|
+
- Description: "SL depreciation (switched from DDB) — Delivery Vehicle VH-001 — Year 5 of 5"
|
|
112
|
+
- Assign to capsule
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Worked Example — Monthly
|
|
117
|
+
|
|
118
|
+
For monthly recording, divide each year's depreciation by 12:
|
|
119
|
+
|
|
120
|
+
| Year | Annual Depreciation | Monthly Depreciation |
|
|
121
|
+
|---|---|---|
|
|
122
|
+
| 1 | $20,000 | $1,666.67 |
|
|
123
|
+
| 2 | $12,000 | $1,000.00 |
|
|
124
|
+
| 3 | $7,200 | $600.00 |
|
|
125
|
+
| 4 | $4,320 | $360.00 |
|
|
126
|
+
| 5 | $1,480 | $123.33 |
|
|
127
|
+
|
|
128
|
+
**Month 1 (Year 1) journal:**
|
|
129
|
+
- Dr Depreciation Expense $1,666.67
|
|
130
|
+
- Cr Accumulated Depreciation — Vehicles $1,666.67
|
|
131
|
+
- Description: "DDB depreciation — Delivery Vehicle VH-001 — Month 1 of 60"
|
|
132
|
+
|
|
133
|
+
**Month 13 (Year 2, Month 1) journal:**
|
|
134
|
+
- Dr Depreciation Expense $1,000.00
|
|
135
|
+
- Cr Accumulated Depreciation — Vehicles $1,000.00
|
|
136
|
+
- Description: "DDB depreciation — Delivery Vehicle VH-001 — Month 13 of 60"
|
|
137
|
+
|
|
138
|
+
> The monthly amount changes at the start of each year, not each month. Within a year, the monthly amount is constant.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Enrichment Suggestions
|
|
143
|
+
|
|
144
|
+
| Enrichment | Value | Why |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| Tracking Tag | "Vehicle Depreciation" | Filter all vehicle depreciation entries |
|
|
147
|
+
| Nano Classifier | Asset Class → "Motor Vehicles" | Break down depreciation by asset class |
|
|
148
|
+
| Custom Field | "Asset ID" → "VH-001" | Record the internal asset tracking number |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Verification
|
|
153
|
+
|
|
154
|
+
1. **Group General Ledger by Capsule** → Shows all depreciation entries. Accumulated Depreciation should sum to $45,000 at end of Year 5.
|
|
155
|
+
2. **Trial Balance at any date** → Vehicles account shows $50,000 (cost, unchanged). Accumulated Depreciation shows the running total. Net book value = Cost − Accumulated Depreciation.
|
|
156
|
+
3. **Net book value check:**
|
|
157
|
+
- End of Year 1: $50,000 − $20,000 = $30,000
|
|
158
|
+
- End of Year 3: $50,000 − $39,200 = $10,800
|
|
159
|
+
- End of Year 5: $50,000 − $45,000 = $5,000 (= salvage value) ✓
|
|
160
|
+
4. **P&L per year** → Depreciation Expense matches the annual schedule: $20K, $12K, $7.2K, $4.32K, $1.48K.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Variations
|
|
165
|
+
|
|
166
|
+
**150% declining balance:** Use rate = 1.5 / Useful Life instead of 2 / Useful Life. Same switch-to-SL logic applies.
|
|
167
|
+
|
|
168
|
+
**No salvage value:** If salvage = $0, the switch-to-SL happens when SL depreciation ≥ DDB. The entire cost is depreciated.
|
|
169
|
+
|
|
170
|
+
**Mid-year acquisition:** If the vehicle is purchased in July, Year 1 gets 6/12 of the annual DDB amount. The remaining 6/12 rolls into a 6th partial year. Adjust the schedule accordingly.
|
|
171
|
+
|
|
172
|
+
**Disposal before end of life:** If the vehicle is sold in Year 3:
|
|
173
|
+
1. Record depreciation up to the disposal date (prorated if mid-year)
|
|
174
|
+
2. Remove the asset: Dr Cash (proceeds) + Dr Accumulated Depreciation + Dr/Cr Gain or Loss on Disposal / Cr Vehicles (cost)
|
|
175
|
+
3. All entries stay in the same capsule for audit trail
|
|
176
|
+
|
|
177
|
+
**Multiple assets:** Create a separate capsule per asset. Use the same "Depreciation (Non-Standard)" capsule type. Tags and nano classifiers help aggregate across assets in reports.
|
|
178
|
+
|
|
179
|
+
### Comparison: DDB vs Straight-Line
|
|
180
|
+
|
|
181
|
+
| Year | DDB | Straight-Line ($9,000/yr) | Difference |
|
|
182
|
+
|---|---|---|---|
|
|
183
|
+
| 1 | $20,000 | $9,000 | +$11,000 |
|
|
184
|
+
| 2 | $12,000 | $9,000 | +$3,000 |
|
|
185
|
+
| 3 | $7,200 | $9,000 | −$1,800 |
|
|
186
|
+
| 4 | $4,320 | $9,000 | −$4,680 |
|
|
187
|
+
| 5 | $1,480 | $9,000 | −$7,520 |
|
|
188
|
+
| **Total** | **$45,000** | **$45,000** | **$0** |
|
|
189
|
+
|
|
190
|
+
Both methods depreciate the same total ($45,000). DDB front-loads the expense — higher expense in early years, lower in later years.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Recipe: Deferred Revenue
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
A customer pays $24,000 upfront for a 12-month SaaS subscription (Jan 1 to Dec 31, 2025). The cash is a liability on day one (you owe the service), then recognized as revenue evenly over 12 months at $2,000/month.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Scheduler + capsule (fixed monthly amount)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Accounts Involved
|
|
12
|
+
|
|
13
|
+
| Account | Type | Subtype | Role |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Deferred Revenue | Liability | Current Liability | Holds unearned revenue |
|
|
16
|
+
| Subscription Revenue | Revenue | Revenue | Receives monthly recognition |
|
|
17
|
+
| Cash / Bank Account | Asset | Bank | Receives the upfront payment |
|
|
18
|
+
| Accounts Receivable | Asset | Current Asset | If recorded as an invoice first |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Journal Entries
|
|
23
|
+
|
|
24
|
+
### Step 1: Record the Upfront Payment
|
|
25
|
+
|
|
26
|
+
**Option A — Invoice (with or without payment):**
|
|
27
|
+
|
|
28
|
+
Create an invoice to the customer for $24,000 with the line item coded to **Deferred Revenue** (not Subscription Revenue). Record payment on the invoice when ready.
|
|
29
|
+
|
|
30
|
+
**Option B — Cash-in entry:**
|
|
31
|
+
|
|
32
|
+
| Line | Account | Debit | Credit |
|
|
33
|
+
|---|---|---|---|
|
|
34
|
+
| 1 | Cash / Bank Account | $24,000 | |
|
|
35
|
+
| 2 | Deferred Revenue | | $24,000 |
|
|
36
|
+
|
|
37
|
+
### Step 2: Monthly Revenue Recognition (Scheduler)
|
|
38
|
+
|
|
39
|
+
Create a journal scheduler that runs monthly for 12 periods:
|
|
40
|
+
|
|
41
|
+
| Line | Account | Debit | Credit |
|
|
42
|
+
|---|---|---|---|
|
|
43
|
+
| 1 | Deferred Revenue | $2,000 | |
|
|
44
|
+
| 2 | Subscription Revenue | | $2,000 |
|
|
45
|
+
|
|
46
|
+
**Scheduler settings:**
|
|
47
|
+
- Frequency: Monthly
|
|
48
|
+
- Start date: 2025-01-31 (end of first month)
|
|
49
|
+
- **End date: 2025-12-31** — the end date is what ensures the deferred balance fully unwinds to zero. After the 12th entry, the scheduler stops and the Deferred Revenue account is cleared.
|
|
50
|
+
- Capsule: "FY2025 SaaS — Acme Corp"
|
|
51
|
+
- Description: `Revenue recognition — {{MONTH_NAME}} {{YEAR}}`
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Capsule Structure
|
|
56
|
+
|
|
57
|
+
**Capsule:** "FY2025 SaaS — Acme Corp"
|
|
58
|
+
**Capsule Type:** "Deferred Revenue"
|
|
59
|
+
|
|
60
|
+
Contents:
|
|
61
|
+
- 1 invoice (or cash-in entry) — the initial $24,000 payment
|
|
62
|
+
- 12 journal entries — generated by the scheduler ($2,000/month)
|
|
63
|
+
- **Total entries:** 13
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Worked Example
|
|
68
|
+
|
|
69
|
+
**Setup (Jan 1, 2025):**
|
|
70
|
+
- Record invoice to customer: Dr AR $24,000 / Cr Deferred Revenue $24,000
|
|
71
|
+
- Record payment on invoice: Dr Cash $24,000 / Cr AR $24,000
|
|
72
|
+
- Assign invoice to capsule "FY2025 SaaS — Acme Corp"
|
|
73
|
+
- Create scheduler with same capsule
|
|
74
|
+
|
|
75
|
+
**Month 1 (Jan 31, 2025) — auto-generated:**
|
|
76
|
+
- Dr Deferred Revenue $2,000 / Cr Subscription Revenue $2,000
|
|
77
|
+
- Deferred balance: $22,000
|
|
78
|
+
|
|
79
|
+
**Month 6 (Jun 30, 2025) — auto-generated:**
|
|
80
|
+
- Dr Deferred Revenue $2,000 / Cr Subscription Revenue $2,000
|
|
81
|
+
- Deferred balance: $12,000
|
|
82
|
+
|
|
83
|
+
**Month 12 (Dec 31, 2025) — auto-generated:**
|
|
84
|
+
- Dr Deferred Revenue $2,000 / Cr Subscription Revenue $2,000
|
|
85
|
+
- Deferred balance: $0
|
|
86
|
+
|
|
87
|
+
**Year-end totals:**
|
|
88
|
+
- Subscription Revenue P&L: $24,000
|
|
89
|
+
- Deferred Revenue balance: $0
|
|
90
|
+
- Cash increased by: $24,000
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Enrichment Suggestions
|
|
95
|
+
|
|
96
|
+
| Enrichment | Value | Why |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| Tracking Tag | "SaaS Revenue" | Filter all subscription revenue entries |
|
|
99
|
+
| Nano Classifier | Product → "Enterprise Plan" | Break down revenue by product tier |
|
|
100
|
+
| Custom Field | "Contract Number" → "CTR-2025-042" | Record contract reference on the invoice |
|
|
101
|
+
|
|
102
|
+
Set the tag and nano classifier on the scheduler — all 12 generated journals inherit them automatically.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Verification
|
|
107
|
+
|
|
108
|
+
1. **Group General Ledger by Capsule** → "FY2025 SaaS — Acme Corp" should show all 13 entries with Deferred Revenue netting to zero.
|
|
109
|
+
2. **Trial Balance at Dec 31** → Deferred Revenue balance should be $0. Subscription Revenue should show $24,000.
|
|
110
|
+
3. **Trial Balance at Jun 30** → Deferred Revenue balance should be $12,000. Subscription Revenue should show $12,000.
|
|
111
|
+
4. **P&L for Q1** → Subscription Revenue = $6,000 (3 months × $2,000).
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Variations
|
|
116
|
+
|
|
117
|
+
**Quarterly recognition:** $6,000/quarter for 4 quarters. Change scheduler frequency to quarterly.
|
|
118
|
+
|
|
119
|
+
**Mid-month start:** If the subscription starts Feb 15, prorate February ($24,000 / 365 × 14 days ≈ $921), recognize the remainder over 11 full months at $2,098/month. Use a manual journal for the prorated first period, then a scheduler for remaining full months — both in the same capsule.
|
|
120
|
+
|
|
121
|
+
**Multi-customer:** Create a separate capsule per customer contract. Tags can span all customers (e.g., "SaaS Revenue" tag across all capsules).
|
|
122
|
+
|
|
123
|
+
**Early termination:** If the customer cancels after month 8, remaining deferred revenue ($8,000) is recognized immediately via a manual journal in the capsule. Delete or end the scheduler.
|
|
124
|
+
|
|
125
|
+
**Multi-currency:** If the customer pays in USD but your base currency is SGD, record the invoice using `currency: { sourceCurrency: "USD" }`. Monthly recognition journals should be in SGD at the rate locked on the invoice date.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Recipe: IFRS 16 Lease
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company signs a 3-year office lease at $5,000/month. Under IFRS 16, you must recognize a right-of-use (ROU) asset and a lease liability at the present value of all lease payments, then depreciate the ROU asset and unwind the lease liability over the lease term.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Hybrid — native fixed asset (straight-line ROU depreciation) + manual journals (liability unwinding) + capsule
|
|
8
|
+
|
|
9
|
+
**Why hybrid:** The ROU asset depreciates at a fixed monthly amount (straight-line), which Jaz handles natively via its fixed asset register. The lease liability unwinding has a changing interest component each month, requiring manual journals.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Accounts Involved
|
|
14
|
+
|
|
15
|
+
| Account | Type | Subtype | Role |
|
|
16
|
+
|---|---|---|---|
|
|
17
|
+
| Right-of-Use Asset | Asset | Non-Current Asset | The capitalized lease value |
|
|
18
|
+
| Lease Liability | Liability | Non-Current Liability | Long-term lease obligation |
|
|
19
|
+
| Lease Liability (Current) | Liability | Current Liability | Portion due within 12 months |
|
|
20
|
+
| Interest Expense — Leases | Expense | Expense | Monthly lease interest (liability unwinding) |
|
|
21
|
+
| Depreciation Expense — ROU | Expense | Expense | Monthly ROU depreciation (auto via FA) |
|
|
22
|
+
| Accumulated Depreciation — ROU | Asset | Non-Current Asset | Contra-asset for ROU (auto via FA) |
|
|
23
|
+
| Cash / Bank Account | Asset | Bank | Monthly lease payments |
|
|
24
|
+
|
|
25
|
+
> **Note on current/non-current split:** For simplicity, this recipe uses a single Lease Liability account. Reclassify the next 12 months' liability portion as current at each reporting date if required.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step-by-Step
|
|
30
|
+
|
|
31
|
+
### Step 0: Calculate Present Value
|
|
32
|
+
|
|
33
|
+
**Lease terms:**
|
|
34
|
+
- Monthly payment: $5,000
|
|
35
|
+
- Term: 36 months
|
|
36
|
+
- Discount rate: 5% annual (incremental borrowing rate)
|
|
37
|
+
- Monthly rate: 5% / 12 = 0.4167%
|
|
38
|
+
|
|
39
|
+
**PV formula:**
|
|
40
|
+
```
|
|
41
|
+
PV = PMT × [1 − (1 + r)^−n] / r
|
|
42
|
+
PV = 5,000 × [1 − 1.004167^−36] / 0.004167
|
|
43
|
+
PV = 5,000 × [1 − 0.8614] / 0.004167
|
|
44
|
+
PV = 5,000 × 33.2590
|
|
45
|
+
PV = $166,295
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 1: Initial Recognition (Lease Commencement Date)
|
|
49
|
+
|
|
50
|
+
| Line | Account | Debit | Credit |
|
|
51
|
+
|---|---|---|---|
|
|
52
|
+
| 1 | Right-of-Use Asset | $166,295 | |
|
|
53
|
+
| 2 | Lease Liability | | $166,295 |
|
|
54
|
+
|
|
55
|
+
Assign this journal to the capsule.
|
|
56
|
+
|
|
57
|
+
### Step 2: Register ROU as Fixed Asset (Automated Depreciation)
|
|
58
|
+
|
|
59
|
+
Register the ROU asset in Jaz's fixed asset register:
|
|
60
|
+
- **Asset name:** "Office Lease — ROU Asset"
|
|
61
|
+
- **Cost:** $166,295
|
|
62
|
+
- **Salvage value:** $0
|
|
63
|
+
- **Useful life:** 36 months
|
|
64
|
+
- **Depreciation method:** Straight-line (Jaz native)
|
|
65
|
+
- **Monthly depreciation:** $166,295 / 36 = **$4,619.31/month**
|
|
66
|
+
|
|
67
|
+
Jaz will auto-post monthly:
|
|
68
|
+
| Line | Account | Debit | Credit |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| 1 | Depreciation Expense — ROU | $4,619.31 | |
|
|
71
|
+
| 2 | Accumulated Depreciation — ROU | | $4,619.31 |
|
|
72
|
+
|
|
73
|
+
> You do NOT need to create a scheduler or manual journals for depreciation — the fixed asset register handles it.
|
|
74
|
+
|
|
75
|
+
### Step 3: Monthly Lease Payment (Manual Journal — each month)
|
|
76
|
+
|
|
77
|
+
Each $5,000 payment splits between interest (expense) and principal (liability reduction):
|
|
78
|
+
|
|
79
|
+
| Line | Account | Debit | Credit |
|
|
80
|
+
|---|---|---|---|
|
|
81
|
+
| 1 | Lease Liability | *principal portion* | |
|
|
82
|
+
| 2 | Interest Expense — Leases | *interest portion* | |
|
|
83
|
+
| 3 | Cash / Bank Account | | $5,000 |
|
|
84
|
+
|
|
85
|
+
**Calculation per month:**
|
|
86
|
+
- Interest = Outstanding liability × 0.004167
|
|
87
|
+
- Principal = $5,000 − Interest
|
|
88
|
+
- New liability = Outstanding liability − Principal
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Capsule Structure
|
|
93
|
+
|
|
94
|
+
**Capsule:** "Office Lease 2025–2028 — 123 Main St"
|
|
95
|
+
**Capsule Type:** "Lease Accounting (IFRS 16)"
|
|
96
|
+
|
|
97
|
+
Contents:
|
|
98
|
+
- 1 initial recognition journal (ROU asset + lease liability)
|
|
99
|
+
- 36 monthly payment journals (manual — interest changes each month)
|
|
100
|
+
- 36 monthly depreciation entries (auto-generated by fixed asset register — these appear in the ledger but aren't manually created)
|
|
101
|
+
- **Manually created entries:** 37
|
|
102
|
+
|
|
103
|
+
> The fixed asset depreciation entries are not assigned to the capsule automatically. Group the General Ledger by the ROU asset account alongside the capsule view for a complete picture.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Worked Example
|
|
108
|
+
|
|
109
|
+
### Amortization Table (first 6 months + last 2)
|
|
110
|
+
|
|
111
|
+
| Month | Opening Liability | Interest (0.4167%) | Principal | Closing Liability |
|
|
112
|
+
|---|---|---|---|---|
|
|
113
|
+
| 1 | $166,295.00 | $692.90 | $4,307.10 | $161,987.90 |
|
|
114
|
+
| 2 | $161,987.90 | $674.95 | $4,325.05 | $157,662.85 |
|
|
115
|
+
| 3 | $157,662.85 | $656.93 | $4,343.07 | $153,319.78 |
|
|
116
|
+
| 4 | $153,319.78 | $638.83 | $4,361.17 | $148,958.61 |
|
|
117
|
+
| 5 | $148,958.61 | $620.66 | $4,379.34 | $144,579.27 |
|
|
118
|
+
| 6 | $144,579.27 | $602.41 | $4,397.59 | $140,181.68 |
|
|
119
|
+
| ... | ... | ... | ... | ... |
|
|
120
|
+
| 35 | $9,959.33 | $41.50 | $4,958.50 | $5,000.83 |
|
|
121
|
+
| 36 | $5,000.83 | $20.84 | $4,979.16 | $0.00* |
|
|
122
|
+
|
|
123
|
+
> *Final payment may need a small rounding adjustment to close the liability exactly to zero.
|
|
124
|
+
|
|
125
|
+
**Month 1 journal entry (manual):**
|
|
126
|
+
- Dr Lease Liability $4,307.10
|
|
127
|
+
- Dr Interest Expense — Leases $692.90
|
|
128
|
+
- Cr Cash $5,000.00
|
|
129
|
+
- Description: "Lease payment — Month 1 of 36 (123 Main St)"
|
|
130
|
+
- Assign to capsule
|
|
131
|
+
|
|
132
|
+
**Month 1 depreciation (automatic — posted by Jaz FA register):**
|
|
133
|
+
- Dr Depreciation Expense — ROU $4,619.31
|
|
134
|
+
- Cr Accumulated Depreciation — ROU $4,619.31
|
|
135
|
+
|
|
136
|
+
**P&L impact — Month 1:**
|
|
137
|
+
- Interest expense: $692.90
|
|
138
|
+
- Depreciation expense: $4,619.31
|
|
139
|
+
- **Total P&L charge: $5,312.21** (higher than the $5,000 cash payment — this is the IFRS 16 front-loading effect)
|
|
140
|
+
|
|
141
|
+
### Summary Over 36 Months
|
|
142
|
+
|
|
143
|
+
| Item | Total |
|
|
144
|
+
|---|---|
|
|
145
|
+
| Total cash payments | $180,000 (36 × $5,000) |
|
|
146
|
+
| Total interest expense | $13,705 |
|
|
147
|
+
| Total depreciation expense | $166,295 |
|
|
148
|
+
| **Total P&L impact** | **$180,000** |
|
|
149
|
+
| Lease liability at end | $0 |
|
|
150
|
+
| ROU asset net book value at end | $0 |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Enrichment Suggestions
|
|
155
|
+
|
|
156
|
+
| Enrichment | Value | Why |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| Tracking Tag | "Office Lease" | Filter all lease-related transactions |
|
|
159
|
+
| Nano Classifier | Property → "123 Main St" | Break down by property if multiple leases |
|
|
160
|
+
| Custom Field | "Lease Contract #" → "LS-2025-007" | Record the lease agreement reference |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Verification
|
|
165
|
+
|
|
166
|
+
1. **Group General Ledger by Capsule** → Shows initial recognition + all 36 payment journals. Lease Liability should start at $166,295 and reduce to $0.
|
|
167
|
+
2. **Trial Balance at any date** → Lease Liability balance should match the "Closing Liability" column for that month.
|
|
168
|
+
3. **ROU Asset** → Net book value = $166,295 − (months elapsed × $4,619.31). Should reach $0 at month 36.
|
|
169
|
+
4. **P&L Year 1** → Interest Expense ≈ $7,790 (sum of months 1–12). Depreciation ≈ $55,432 (12 × $4,619.31). Total ≈ $63,222.
|
|
170
|
+
5. **Balance Sheet check** → ROU Asset (net of accumulated depreciation) + Lease Liability should both trend toward zero over 36 months.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Variations
|
|
175
|
+
|
|
176
|
+
**Different discount rate:** Changing the rate changes the PV, the ROU asset value, the monthly depreciation, and the interest/principal split. Recalculate the entire amortization table.
|
|
177
|
+
|
|
178
|
+
**Lease modification (rent increase):** If rent increases from $5,000 to $5,500 at month 13:
|
|
179
|
+
1. Recalculate PV of remaining 24 payments at $5,500 using the revised rate
|
|
180
|
+
2. Record a remeasurement journal: Dr ROU Asset / Cr Lease Liability (for the increase)
|
|
181
|
+
3. Update the fixed asset cost and recalculate depreciation over the remaining 24 months
|
|
182
|
+
4. Continue with new amortization table for months 13–36
|
|
183
|
+
|
|
184
|
+
**Short-term lease exemption:** Leases ≤ 12 months can be expensed directly (Dr Rent Expense / Cr Cash) — no ROU or liability needed. Not in scope for this recipe.
|
|
185
|
+
|
|
186
|
+
**Multiple leases:** Create a separate capsule per lease. Use the "Lease Accounting (IFRS 16)" capsule type for all. Tags and nano classifiers can span multiple capsules for portfolio reporting.
|
|
187
|
+
|
|
188
|
+
**Lease incentives:** If the landlord provides a $10,000 fit-out allowance, reduce the ROU asset: PV of payments − incentive = initial ROU value. Adjust the amortization table accordingly.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Recipe: Prepaid Amortization
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
Your company pays $12,000 upfront for annual office insurance (Jan 1 to Dec 31, 2025). The full amount is an asset on day one, then recognized as an expense evenly over 12 months at $1,000/month.
|
|
6
|
+
|
|
7
|
+
**Pattern:** Scheduler + capsule (fixed monthly amount)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Accounts Involved
|
|
12
|
+
|
|
13
|
+
| Account | Type | Subtype | Role |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Prepaid Insurance | Asset | Current Asset | Holds the unamortized balance |
|
|
16
|
+
| Insurance Expense | Expense | Expense | Receives monthly amortization |
|
|
17
|
+
| Cash / Bank Account | Asset | Bank | Pays the premium |
|
|
18
|
+
| Accounts Payable | Liability | Current Liability | If recorded as a bill first |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Journal Entries
|
|
23
|
+
|
|
24
|
+
### Step 1: Record the Initial Payment
|
|
25
|
+
|
|
26
|
+
**Option A — Bill (with or without payment):**
|
|
27
|
+
|
|
28
|
+
Create a bill to the insurance supplier for $12,000 with the line item coded to **Prepaid Insurance** (not Insurance Expense). Record payment on the bill when ready.
|
|
29
|
+
|
|
30
|
+
**Option B — Cash-out entry:**
|
|
31
|
+
|
|
32
|
+
| Line | Account | Debit | Credit |
|
|
33
|
+
|---|---|---|---|
|
|
34
|
+
| 1 | Prepaid Insurance | $12,000 | |
|
|
35
|
+
| 2 | Cash / Bank Account | | $12,000 |
|
|
36
|
+
|
|
37
|
+
### Step 2: Monthly Amortization (Scheduler)
|
|
38
|
+
|
|
39
|
+
Create a journal scheduler that runs monthly for 12 periods:
|
|
40
|
+
|
|
41
|
+
| Line | Account | Debit | Credit |
|
|
42
|
+
|---|---|---|---|
|
|
43
|
+
| 1 | Insurance Expense | $1,000 | |
|
|
44
|
+
| 2 | Prepaid Insurance | | $1,000 |
|
|
45
|
+
|
|
46
|
+
**Scheduler settings:**
|
|
47
|
+
- Frequency: Monthly
|
|
48
|
+
- Start date: 2025-01-31 (end of first month)
|
|
49
|
+
- **End date: 2025-12-31** — the end date is what ensures the prepaid balance fully unwinds to zero. After the 12th entry, the scheduler stops and the Prepaid Insurance account is cleared.
|
|
50
|
+
- Capsule: "FY2025 Office Insurance"
|
|
51
|
+
- Description: `Insurance amortization — {{MONTH_NAME}} {{YEAR}}`
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Capsule Structure
|
|
56
|
+
|
|
57
|
+
**Capsule:** "FY2025 Office Insurance"
|
|
58
|
+
**Capsule Type:** "Prepaid Expenses"
|
|
59
|
+
|
|
60
|
+
Contents:
|
|
61
|
+
- 1 bill (or cash-out entry) — the initial $12,000 payment
|
|
62
|
+
- 12 journal entries — generated by the scheduler ($1,000/month)
|
|
63
|
+
- **Total entries:** 13
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Worked Example
|
|
68
|
+
|
|
69
|
+
**Setup (Jan 1, 2025):**
|
|
70
|
+
- Record bill: Dr Prepaid Insurance $12,000 / Cr AP $12,000
|
|
71
|
+
- Pay bill: Dr AP $12,000 / Cr Cash $12,000
|
|
72
|
+
- Assign bill to capsule "FY2025 Office Insurance"
|
|
73
|
+
- Create scheduler with same capsule
|
|
74
|
+
|
|
75
|
+
**Month 1 (Jan 31, 2025) — auto-generated:**
|
|
76
|
+
- Dr Insurance Expense $1,000 / Cr Prepaid Insurance $1,000
|
|
77
|
+
- Prepaid balance: $11,000
|
|
78
|
+
|
|
79
|
+
**Month 6 (Jun 30, 2025) — auto-generated:**
|
|
80
|
+
- Dr Insurance Expense $1,000 / Cr Prepaid Insurance $1,000
|
|
81
|
+
- Prepaid balance: $6,000
|
|
82
|
+
|
|
83
|
+
**Month 12 (Dec 31, 2025) — auto-generated:**
|
|
84
|
+
- Dr Insurance Expense $1,000 / Cr Prepaid Insurance $1,000
|
|
85
|
+
- Prepaid balance: $0
|
|
86
|
+
|
|
87
|
+
**Year-end totals:**
|
|
88
|
+
- Insurance Expense P&L: $12,000
|
|
89
|
+
- Prepaid Insurance balance: $0
|
|
90
|
+
- Cash reduced by: $12,000
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Enrichment Suggestions
|
|
95
|
+
|
|
96
|
+
| Enrichment | Value | Why |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| Tracking Tag | "Insurance" | Filter all insurance-related transactions in reports |
|
|
99
|
+
| Nano Classifier | Department → "Operations" | Break down by department on each journal line |
|
|
100
|
+
| Custom Field | "Policy Number" → "POL-2025-001" | Record the insurer's reference on the bill |
|
|
101
|
+
|
|
102
|
+
Set the tag and nano classifier on the scheduler — all 12 generated journals inherit them automatically. The custom field goes on the initial bill only (not available on schedulers).
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Verification
|
|
107
|
+
|
|
108
|
+
1. **Group General Ledger by Capsule** → "FY2025 Office Insurance" should show all 13 entries (1 bill + 12 journals) with a net zero balance across Prepaid Insurance.
|
|
109
|
+
2. **Trial Balance at Dec 31** → Prepaid Insurance balance should be $0. Insurance Expense should show $12,000.
|
|
110
|
+
3. **Trial Balance at Jun 30** → Prepaid Insurance balance should be $6,000. Insurance Expense should show $6,000.
|
|
111
|
+
4. **Filter by "Insurance" tag** → Shows all entries across the org tagged with Insurance.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Variations
|
|
116
|
+
|
|
117
|
+
**Quarterly amortization:** $3,000/quarter for 4 quarters. Change scheduler frequency to quarterly.
|
|
118
|
+
|
|
119
|
+
**Partial first period:** If insurance starts Feb 15, prorate the first month ($12,000 / 365 × 14 days = ~$460), then $1,000/month for remaining months. Use a manual journal for the partial first period, then a scheduler for the remaining full months — both in the same capsule.
|
|
120
|
+
|
|
121
|
+
**Multi-currency:** If the premium is in USD but your base currency is SGD, record the bill using the `currency: { sourceCurrency: "USD" }` field. The monthly amortization journals should be in SGD at the rate locked on the bill date.
|
|
122
|
+
|
|
123
|
+
**Renewal:** Create a new capsule for the next year's policy ("FY2026 Office Insurance") with its own bill and scheduler. Do not reuse the old capsule.
|
package/dist/commands/init.js
CHANGED
|
@@ -15,8 +15,8 @@ export async function initCommand(options) {
|
|
|
15
15
|
message: 'Which skills do you want to install?',
|
|
16
16
|
choices: [
|
|
17
17
|
{
|
|
18
|
-
title: `
|
|
19
|
-
description: 'API reference + data conversion',
|
|
18
|
+
title: `All (Recommended)`,
|
|
19
|
+
description: 'API reference + data conversion + transaction recipes',
|
|
20
20
|
value: 'all',
|
|
21
21
|
},
|
|
22
22
|
{
|
|
@@ -29,6 +29,11 @@ export async function initCommand(options) {
|
|
|
29
29
|
description: SKILL_DESCRIPTIONS.conversion,
|
|
30
30
|
value: 'conversion',
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
title: 'Transaction Recipes only',
|
|
34
|
+
description: SKILL_DESCRIPTIONS['transaction-recipes'],
|
|
35
|
+
value: 'transaction-recipes',
|
|
36
|
+
},
|
|
32
37
|
],
|
|
33
38
|
initial: 0,
|
|
34
39
|
});
|
|
@@ -39,7 +44,7 @@ export async function initCommand(options) {
|
|
|
39
44
|
skillType = response.skill;
|
|
40
45
|
}
|
|
41
46
|
const skillLabel = skillType === 'all'
|
|
42
|
-
? 'api + conversion'
|
|
47
|
+
? 'api + conversion + transaction-recipes'
|
|
43
48
|
: skillType;
|
|
44
49
|
logger.info(`Installing: ${chalk.cyan(skillLabel)}`);
|
|
45
50
|
const spinner = ora('Installing skill files...').start();
|
package/dist/types/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export const SKILL_TYPES = ['api', 'conversion', 'all'];
|
|
1
|
+
export const SKILL_TYPES = ['api', 'conversion', 'transaction-recipes', 'all'];
|
|
2
2
|
export const SKILL_DESCRIPTIONS = {
|
|
3
3
|
api: 'Jaz/Juan REST API reference — 55 rules, endpoint catalog, error catalog, field mapping',
|
|
4
4
|
conversion: 'Data conversion pipeline — Xero, QuickBooks, Sage, Excel migration to Jaz',
|
|
5
|
+
'transaction-recipes': 'Complex accounting recipes — prepaid, deferred revenue, loans, IFRS 16, depreciation',
|
|
5
6
|
};
|
package/dist/utils/template.js
CHANGED
|
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
4
4
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
// From dist/utils/template.js -> ../../assets (two levels up to cli/, then assets/)
|
|
6
6
|
const ASSETS_DIR = join(__dirname, '..', '..', 'assets');
|
|
7
|
-
const SKILLS = ['api', 'conversion'];
|
|
7
|
+
const SKILLS = ['api', 'conversion', 'transaction-recipes'];
|
|
8
8
|
async function exists(path) {
|
|
9
9
|
try {
|
|
10
10
|
await access(path);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jaz-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "CLI to install Jaz AI skills for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,6 +28,11 @@
|
|
|
28
28
|
"xero",
|
|
29
29
|
"quickbooks"
|
|
30
30
|
],
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "https://github.com/teamtinvio/claude-plugins",
|
|
34
|
+
"directory": "cli"
|
|
35
|
+
},
|
|
31
36
|
"author": "Jaz Engineering <api-support@jaz.ai>",
|
|
32
37
|
"license": "MIT",
|
|
33
38
|
"dependencies": {
|