jaz-cli 2.2.1 → 2.5.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.
Files changed (37) hide show
  1. package/assets/skills/api/SKILL.md +35 -34
  2. package/assets/skills/api/references/errors.md +15 -7
  3. package/assets/skills/api/references/feature-glossary.md +15 -3
  4. package/assets/skills/api/references/field-map.md +3 -3
  5. package/assets/skills/conversion/SKILL.md +1 -1
  6. package/assets/skills/transaction-recipes/SKILL.md +199 -0
  7. package/assets/skills/transaction-recipes/references/accrued-expenses.md +157 -0
  8. package/assets/skills/transaction-recipes/references/bad-debt-provision.md +145 -0
  9. package/assets/skills/transaction-recipes/references/bank-loan.md +145 -0
  10. package/assets/skills/transaction-recipes/references/building-blocks.md +135 -0
  11. package/assets/skills/transaction-recipes/references/capital-wip.md +167 -0
  12. package/assets/skills/transaction-recipes/references/declining-balance.md +190 -0
  13. package/assets/skills/transaction-recipes/references/deferred-revenue.md +125 -0
  14. package/assets/skills/transaction-recipes/references/dividend.md +111 -0
  15. package/assets/skills/transaction-recipes/references/employee-accruals.md +154 -0
  16. package/assets/skills/transaction-recipes/references/fx-revaluation.md +135 -0
  17. package/assets/skills/transaction-recipes/references/ifrs16-lease.md +188 -0
  18. package/assets/skills/transaction-recipes/references/intercompany.md +150 -0
  19. package/assets/skills/transaction-recipes/references/prepaid-amortization.md +123 -0
  20. package/assets/skills/transaction-recipes/references/provisions.md +142 -0
  21. package/dist/calc/amortization.js +104 -0
  22. package/dist/calc/blueprint.js +21 -0
  23. package/dist/calc/depreciation.js +177 -0
  24. package/dist/calc/ecl.js +89 -0
  25. package/dist/calc/format.js +389 -0
  26. package/dist/calc/fx-reval.js +83 -0
  27. package/dist/calc/lease.js +117 -0
  28. package/dist/calc/loan.js +97 -0
  29. package/dist/calc/provision.js +112 -0
  30. package/dist/calc/types.js +21 -0
  31. package/dist/calc/validate.js +48 -0
  32. package/dist/commands/calc.js +200 -0
  33. package/dist/commands/init.js +8 -3
  34. package/dist/index.js +2 -0
  35. package/dist/types/index.js +2 -1
  36. package/dist/utils/template.js +1 -1
  37. package/package.json +3 -2
@@ -0,0 +1,135 @@
1
+ # Recipe: FX Revaluation — Non-AR/AP Items (IAS 21)
2
+
3
+ ## Scenario
4
+
5
+ Your Singapore company (base currency SGD) has a USD 50,000 intercompany loan receivable from a subsidiary, originally booked at a rate of 1.35 (SGD 67,500). At the December 31 reporting date, the USD/SGD closing rate is 1.38. IAS 21.23 requires all monetary items translated at the closing rate, so you post a revaluation journal to recognize the unrealized FX gain, then reverse it on Day 1 of the next period.
6
+
7
+ **Pattern:** Manual journals + capsule (revaluation journal + Day 1 reversal, repeated each period-end)
8
+
9
+ **When this recipe applies:**
10
+ - Intercompany loan receivables/payables booked as manual journals (not invoices/bills)
11
+ - Foreign currency term deposits or escrow outside bank accounts
12
+ - FX-denominated provisions (e.g., USD warranty obligation)
13
+ - Any manual journal balance in a non-AR/AP, non-cash foreign currency account
14
+
15
+ **When this recipe does NOT apply — the platform handles it automatically:**
16
+ - Invoices, bills, customer/supplier credit notes (auto-revalued)
17
+ - Cash and bank account balances (auto-revalued)
18
+
19
+ ---
20
+
21
+ ## Accounts Involved
22
+
23
+ | Account | Type | Subtype | Role |
24
+ |---|---|---|---|
25
+ | [Source Account] | Asset or Liability | Varies | The FX monetary item being revalued |
26
+ | FX Unrealized Gain | Revenue | Other Income | Holds gains when closing rate > book rate |
27
+ | FX Unrealized Loss | Expense | Other Expense | Holds losses when closing rate < book rate |
28
+
29
+ > **Note:** Jaz auto-creates FX gain/loss/rounding accounts when FX features are enabled. Use the platform-created accounts — do not create duplicates.
30
+
31
+ ---
32
+
33
+ ## Journal Entries
34
+
35
+ ### Step 1: Revaluation Journal (period-end)
36
+
37
+ Calculate the unrealized gain or loss:
38
+
39
+ ```
40
+ Gain/Loss = Foreign Amount × (Closing Rate − Book Rate)
41
+ ```
42
+
43
+ **If gain (closing rate > book rate):**
44
+
45
+ | Line | Account | Debit | Credit |
46
+ |---|---|---|---|
47
+ | 1 | [Source Account] | *gain amount* | |
48
+ | 2 | FX Unrealized Gain | | *gain amount* |
49
+
50
+ **If loss (closing rate < book rate):**
51
+
52
+ | Line | Account | Debit | Credit |
53
+ |---|---|---|---|
54
+ | 1 | FX Unrealized Loss | *loss amount* | |
55
+ | 2 | [Source Account] | | *loss amount* |
56
+
57
+ ### Step 2: Reversal Journal (Day 1 of next period)
58
+
59
+ Post the exact opposite of Step 1. This ensures the next period starts clean — the FX impact is recognized in the correct period only.
60
+
61
+ ---
62
+
63
+ ## Capsule Structure
64
+
65
+ **Capsule:** "FX Revaluation — Non-AR/AP — Dec 2025"
66
+ **Capsule Type:** "FX Revaluation"
67
+
68
+ Contents:
69
+ - 1 revaluation journal (period-end)
70
+ - 1 reversal journal (Day 1 of next period)
71
+ - **Total entries:** 2 per period
72
+
73
+ For ongoing monthly revaluations, create one capsule per quarter or fiscal year (e.g., "FX Reval — FY2025") containing all months' reval/reversal pairs.
74
+
75
+ ---
76
+
77
+ ## Worked Example
78
+
79
+ **Setup:**
80
+ - Intercompany loan receivable: USD 50,000
81
+ - Book rate (at original booking): 1.35 SGD/USD
82
+ - Book value: SGD 67,500
83
+ - Closing rate (Dec 31): 1.38 SGD/USD
84
+ - Closing value: SGD 69,000
85
+
86
+ **Calculation:**
87
+ ```
88
+ Gain = USD 50,000 × (1.38 − 1.35) = USD 50,000 × 0.03 = SGD 1,500
89
+ ```
90
+
91
+ **Dec 31, 2025 — Revaluation journal:**
92
+ - Dr Intercompany Loan Receivable SGD 1,500
93
+ - Dr/Cr FX Unrealized Gain SGD 1,500
94
+ - Description: "FX revaluation — USD 50,000 @ 1.38 (was 1.35)"
95
+ - Assign to capsule
96
+
97
+ **Jan 1, 2026 — Reversal journal:**
98
+ - Dr FX Unrealized Gain SGD 1,500
99
+ - Cr Intercompany Loan Receivable SGD 1,500
100
+ - Description: "Reversal of FX revaluation — USD 50,000"
101
+ - Assign to same capsule
102
+
103
+ **Use the calculator:** `jaz calc fx-reval --amount 50000 --book-rate 1.35 --closing-rate 1.38 --currency USD --base-currency SGD`
104
+
105
+ ---
106
+
107
+ ## Enrichment Suggestions
108
+
109
+ | Enrichment | Value | Why |
110
+ |---|---|---|
111
+ | Tracking Tag | "FX Revaluation" | Filter all reval entries in GL |
112
+ | Tracking Tag | "USD" | Filter by currency for multi-currency reval |
113
+ | Custom Field | "Source Account" → "Intercompany Loan — SubCo" | Identify the item being revalued |
114
+ | Custom Field | "Period End Date" → "2025-12-31" | Link to reporting period |
115
+
116
+ ---
117
+
118
+ ## Verification
119
+
120
+ 1. **Group General Ledger by Capsule** → Reval + reversal should net to zero across both entries.
121
+ 2. **Trial Balance at Dec 31** → Intercompany Loan Receivable shows SGD 69,000 (original 67,500 + 1,500 reval). FX Unrealized Gain shows SGD 1,500 credit.
122
+ 3. **Trial Balance at Jan 1 (after reversal)** → Intercompany Loan Receivable back to SGD 67,500. FX Unrealized Gain cleared.
123
+ 4. **P&L for December** → FX Unrealized Gain of SGD 1,500 recognized in the correct period.
124
+
125
+ ---
126
+
127
+ ## Variations
128
+
129
+ **Multiple FX items:** If you have several non-AR/AP FX balances (e.g., USD loan + EUR deposit + JPY provision), you can combine them into a single multi-line revaluation journal. Each pair of lines handles one item. All in the same capsule.
130
+
131
+ **Loss scenario:** If the closing rate is lower than the book rate, the journal debits FX Unrealized Loss instead of crediting FX Unrealized Gain. The reversal mirrors accordingly.
132
+
133
+ **No reversal method:** Some firms keep the reval in place and adjust the book rate for the next period. This avoids the reversal journal but requires updating the "book rate" each period. The reversal method shown here is more conservative and widely used.
134
+
135
+ **Quarterly vs. monthly:** Reval can be done monthly or quarterly depending on materiality. For material FX exposures, monthly is recommended (IAS 21 does not prescribe frequency — it's a reporting date requirement).
@@ -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,150 @@
1
+ # Recipe: Intercompany Transactions
2
+
3
+ ## Scenario
4
+
5
+ Your Singapore holding company (Entity A) provides management services to its Malaysian subsidiary (Entity B) at $15,000 per month. Both entities are on Jaz. At month-end, Entity A invoices Entity B, and each entity records mirrored journal entries. A capsule in each entity tracks the full intercompany lifecycle — charges, settlements, and reconciliation.
6
+
7
+ **Pattern:** Manual journals mirrored in two entities + capsule in each entity
8
+
9
+ ---
10
+
11
+ ## Accounts Involved
12
+
13
+ ### Entity A (Service Provider)
14
+
15
+ | Account | Type | Subtype | Role |
16
+ |---|---|---|---|
17
+ | Intercompany Receivable — Entity B | Asset | Current Asset | Amount owed by Entity B |
18
+ | Management Fee Income | Revenue | Revenue | Service charge recognized |
19
+ | Cash / Bank Account | Asset | Bank | Receives settlement payment |
20
+
21
+ ### Entity B (Service Recipient)
22
+
23
+ | Account | Type | Subtype | Role |
24
+ |---|---|---|---|
25
+ | Intercompany Payable — Entity A | Liability | Current Liability | Amount owed to Entity A |
26
+ | Management Fee Expense | Expense | Expense | Service charge incurred |
27
+ | Cash / Bank Account | Asset | Bank | Sends settlement payment |
28
+
29
+ ---
30
+
31
+ ## Journal Entries
32
+
33
+ ### Step 1: Service Charge (Entity A — Provider)
34
+
35
+ **Option A — Invoice:** Create an invoice from Entity A to Entity B (preferred if you want AR aging and payment tracking):
36
+ - Invoice: $15,000 to "Entity B" contact
37
+ - Coded to Management Fee Income
38
+ - Assign to capsule
39
+
40
+ **Option B — Manual journal:** If you want to bypass AR/AP:
41
+
42
+ | Line | Account | Debit | Credit |
43
+ |---|---|---|---|
44
+ | 1 | Intercompany Receivable — Entity B | $15,000 | |
45
+ | 2 | Management Fee Income | | $15,000 |
46
+
47
+ ### Step 2: Corresponding Entry (Entity B — Recipient)
48
+
49
+ **Option A — Bill:** Create a bill from Entity A in Entity B's books:
50
+ - Bill: $15,000 from "Entity A" contact
51
+ - Coded to Management Fee Expense
52
+ - Assign to capsule
53
+
54
+ **Option B — Manual journal:**
55
+
56
+ | Line | Account | Debit | Credit |
57
+ |---|---|---|---|
58
+ | 1 | Management Fee Expense | $15,000 | |
59
+ | 2 | Intercompany Payable — Entity A | | $15,000 |
60
+
61
+ ### Step 3: Settlement (cash transfer)
62
+
63
+ **Entity A (receives cash):**
64
+ - Record receipt against the invoice, or:
65
+ - Dr Cash / Cr Intercompany Receivable — Entity B
66
+
67
+ **Entity B (sends cash):**
68
+ - Record payment against the bill, or:
69
+ - Dr Intercompany Payable — Entity A / Cr Cash
70
+
71
+ ---
72
+
73
+ ## Capsule Structure
74
+
75
+ **Entity A Capsule:** "Intercompany — Q1 2025 — Entity A → Entity B"
76
+ **Entity B Capsule:** "Intercompany — Q1 2025 — Entity A → Entity B"
77
+ **Capsule Type:** "Intercompany"
78
+
79
+ Contents per entity:
80
+ - 3 monthly charge entries (invoices/bills or journals)
81
+ - Settlement entries
82
+ - **Total entries per entity:** 4-6 per quarter
83
+
84
+ ---
85
+
86
+ ## Worked Example
87
+
88
+ **Setup:**
89
+ - Management fee: $15,000/month
90
+ - Entities: Entity A (Singapore) and Entity B (Malaysia)
91
+ - Quarter: Q1 2025 (Jan, Feb, Mar)
92
+
93
+ **Jan 31 — Entity A:**
94
+ - Create invoice: $15,000 to Entity B
95
+ - Code to Management Fee Income
96
+ - Capsule: "Intercompany — Q1 2025 — Entity A → Entity B"
97
+ - Custom field: "Intercompany Ref" → "IC-2025-001"
98
+
99
+ **Jan 31 — Entity B:**
100
+ - Create bill: $15,000 from Entity A
101
+ - Code to Management Fee Expense
102
+ - Capsule: "Intercompany — Q1 2025 — Entity A → Entity B"
103
+ - Custom field: "Intercompany Ref" → "IC-2025-001"
104
+
105
+ *Repeat for Feb and Mar with matching Intercompany Ref.*
106
+
107
+ **Mar 31 — Quarterly settlement:**
108
+ - Entity B transfers $45,000 to Entity A
109
+ - Entity A: record receipt against 3 invoices
110
+ - Entity B: record payment against 3 bills
111
+ - Both capsules now show matching charge + settlement entries
112
+
113
+ **Consolidation verification:**
114
+ - Entity A: Intercompany Receivable $0, Management Fee Income $45,000
115
+ - Entity B: Intercompany Payable $0, Management Fee Expense $45,000
116
+ - On consolidation: both entries eliminate (income vs. expense, receivable vs. payable)
117
+
118
+ ---
119
+
120
+ ## Enrichment Suggestions
121
+
122
+ | Enrichment | Value | Why |
123
+ |---|---|---|
124
+ | Tracking Tag | "Intercompany" | Filter all IC entries across entities |
125
+ | Custom Field | "Intercompany Ref" → "IC-2025-001" | **Critical** — matching reference in both entities for reconciliation |
126
+ | Custom Field | "Counterparty Entity" → "Entity B" | Identify the other party |
127
+ | Nano Classifier | Service Type → "Management Fee" | Categorize the type of IC charge |
128
+
129
+ ---
130
+
131
+ ## Verification
132
+
133
+ 1. **Intercompany Reconciliation** → At any point, Entity A's Intercompany Receivable balance should equal Entity B's Intercompany Payable balance. Any mismatch indicates a missing or incorrect entry.
134
+ 2. **Trial Balance** → After settlement, both Intercompany Receivable and Intercompany Payable should be $0.
135
+ 3. **P&L match** → Entity A's Management Fee Income = Entity B's Management Fee Expense (same amounts, opposite directions).
136
+ 4. **Custom Field search** → Search both entities for matching "Intercompany Ref" values to verify every charge has a counterpart.
137
+
138
+ ---
139
+
140
+ ## Variations
141
+
142
+ **Cross-currency intercompany:** If Entity A is SGD and Entity B is MYR, use the FX invoice/bill format: `currency: { sourceCurrency: "SGD" }` on Entity B's bill. FX differences are auto-handled. For manual journals, apply the spot rate and record any FX difference.
143
+
144
+ **Cost allocation (not a service fee):** If Entity A allocates shared costs (rent, IT, insurance) to Entity B, the pattern is the same but the income account may be "Intercompany Cost Recovery" (contra-expense) instead of revenue.
145
+
146
+ **Netting:** If both entities charge each other (e.g., A provides management, B provides warehousing), net the amounts and settle only the difference. Each entity still records the full gross charges — netting applies only to the cash settlement.
147
+
148
+ **Transfer pricing:** Ensure intercompany prices are at arm's length for tax compliance. Document the pricing methodology in the capsule custom field (e.g., "TP Method" → "Cost Plus 10%").
149
+
150
+ **Loan vs. trade:** If the intercompany transaction is a loan (not a service), use Intercompany Loan Receivable/Payable instead of trade accounts. Interest may apply — use the loan recipe for interest calculations.
@@ -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.