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.
- package/assets/skills/api/SKILL.md +35 -34
- package/assets/skills/api/references/errors.md +15 -7
- package/assets/skills/api/references/feature-glossary.md +15 -3
- package/assets/skills/api/references/field-map.md +3 -3
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +199 -0
- package/assets/skills/transaction-recipes/references/accrued-expenses.md +157 -0
- package/assets/skills/transaction-recipes/references/bad-debt-provision.md +145 -0
- package/assets/skills/transaction-recipes/references/bank-loan.md +145 -0
- package/assets/skills/transaction-recipes/references/building-blocks.md +135 -0
- package/assets/skills/transaction-recipes/references/capital-wip.md +167 -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/dividend.md +111 -0
- package/assets/skills/transaction-recipes/references/employee-accruals.md +154 -0
- package/assets/skills/transaction-recipes/references/fx-revaluation.md +135 -0
- package/assets/skills/transaction-recipes/references/ifrs16-lease.md +188 -0
- package/assets/skills/transaction-recipes/references/intercompany.md +150 -0
- package/assets/skills/transaction-recipes/references/prepaid-amortization.md +123 -0
- package/assets/skills/transaction-recipes/references/provisions.md +142 -0
- package/dist/calc/amortization.js +104 -0
- package/dist/calc/blueprint.js +21 -0
- package/dist/calc/depreciation.js +177 -0
- package/dist/calc/ecl.js +89 -0
- package/dist/calc/format.js +389 -0
- package/dist/calc/fx-reval.js +83 -0
- package/dist/calc/lease.js +117 -0
- package/dist/calc/loan.js +97 -0
- package/dist/calc/provision.js +112 -0
- package/dist/calc/types.js +21 -0
- package/dist/calc/validate.js +48 -0
- package/dist/commands/calc.js +200 -0
- package/dist/commands/init.js +8 -3
- package/dist/index.js +2 -0
- package/dist/types/index.js +2 -1
- package/dist/utils/template.js +1 -1
- 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.
|