jaz-cli 2.7.0 → 2.9.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 (68) hide show
  1. package/assets/skills/api/SKILL.md +1 -1
  2. package/assets/skills/conversion/SKILL.md +1 -1
  3. package/assets/skills/jobs/SKILL.md +161 -0
  4. package/assets/skills/jobs/references/audit-prep.md +319 -0
  5. package/assets/skills/jobs/references/bank-recon.md +234 -0
  6. package/assets/skills/jobs/references/building-blocks.md +135 -0
  7. package/assets/skills/jobs/references/credit-control.md +273 -0
  8. package/assets/skills/jobs/references/fa-review.md +267 -0
  9. package/assets/skills/jobs/references/gst-vat-filing.md +250 -0
  10. package/assets/skills/jobs/references/month-end-close.md +308 -0
  11. package/assets/skills/jobs/references/payment-run.md +246 -0
  12. package/assets/skills/jobs/references/quarter-end-close.md +268 -0
  13. package/assets/skills/jobs/references/sg-tax/add-backs-guide.md +354 -0
  14. package/assets/skills/jobs/references/sg-tax/capital-allowances-guide.md +343 -0
  15. package/assets/skills/jobs/references/sg-tax/data-extraction.md +408 -0
  16. package/assets/skills/jobs/references/sg-tax/enhanced-deductions.md +248 -0
  17. package/assets/skills/jobs/references/sg-tax/exemptions-and-rebates.md +197 -0
  18. package/assets/skills/jobs/references/sg-tax/form-cs-fields.md +191 -0
  19. package/assets/skills/jobs/references/sg-tax/ifrs16-tax-adjustment.md +194 -0
  20. package/assets/skills/jobs/references/sg-tax/losses-and-carry-forwards.md +269 -0
  21. package/assets/skills/jobs/references/sg-tax/overview.md +207 -0
  22. package/assets/skills/jobs/references/sg-tax/wizard-workflow.md +391 -0
  23. package/assets/skills/jobs/references/supplier-recon.md +330 -0
  24. package/assets/skills/jobs/references/year-end-close.md +341 -0
  25. package/assets/skills/transaction-recipes/SKILL.md +1 -1
  26. package/dist/__tests__/jobs-audit-prep.test.js +125 -0
  27. package/dist/__tests__/jobs-bank-recon.test.js +108 -0
  28. package/dist/__tests__/jobs-credit-control.test.js +98 -0
  29. package/dist/__tests__/jobs-fa-review.test.js +104 -0
  30. package/dist/__tests__/jobs-gst-vat.test.js +113 -0
  31. package/dist/__tests__/jobs-month-end.test.js +162 -0
  32. package/dist/__tests__/jobs-payment-run.test.js +106 -0
  33. package/dist/__tests__/jobs-quarter-end.test.js +155 -0
  34. package/dist/__tests__/jobs-supplier-recon.test.js +115 -0
  35. package/dist/__tests__/jobs-validate.test.js +181 -0
  36. package/dist/__tests__/jobs-year-end.test.js +149 -0
  37. package/dist/__tests__/tax-sg-capital-allowances.test.js +389 -0
  38. package/dist/__tests__/tax-sg-exemptions.test.js +232 -0
  39. package/dist/__tests__/tax-sg-form-cs.test.js +687 -0
  40. package/dist/__tests__/tax-validate.test.js +208 -0
  41. package/dist/commands/init.js +7 -2
  42. package/dist/commands/jobs.js +184 -0
  43. package/dist/commands/tax.js +195 -0
  44. package/dist/index.js +4 -0
  45. package/dist/jobs/audit-prep.js +211 -0
  46. package/dist/jobs/bank-recon.js +163 -0
  47. package/dist/jobs/credit-control.js +126 -0
  48. package/dist/jobs/fa-review.js +121 -0
  49. package/dist/jobs/format.js +102 -0
  50. package/dist/jobs/gst-vat.js +187 -0
  51. package/dist/jobs/month-end.js +232 -0
  52. package/dist/jobs/payment-run.js +199 -0
  53. package/dist/jobs/quarter-end.js +135 -0
  54. package/dist/jobs/supplier-recon.js +132 -0
  55. package/dist/jobs/types.js +36 -0
  56. package/dist/jobs/validate.js +115 -0
  57. package/dist/jobs/year-end.js +153 -0
  58. package/dist/tax/format.js +18 -0
  59. package/dist/tax/sg/capital-allowances.js +160 -0
  60. package/dist/tax/sg/constants.js +63 -0
  61. package/dist/tax/sg/exemptions.js +76 -0
  62. package/dist/tax/sg/form-cs.js +349 -0
  63. package/dist/tax/sg/format-sg.js +134 -0
  64. package/dist/tax/types.js +9 -0
  65. package/dist/tax/validate.js +124 -0
  66. package/dist/types/index.js +2 -1
  67. package/dist/utils/template.js +1 -1
  68. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: api
3
- version: 2.7.0
3
+ version: 2.9.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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: conversion
3
- version: 2.7.0
3
+ version: 2.9.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,161 @@
1
+ ---
2
+ name: jobs
3
+ version: 2.9.0
4
+ description: 10 accounting jobs for SMB bookkeepers and accountants — month-end, quarter-end, and year-end close playbooks plus 7 ad-hoc operational jobs (bank recon, GST/VAT filing, payment runs, credit control, supplier recon, audit prep, fixed asset review). Each job is a step-by-step blueprint with API calls, recipe references, calculator commands, and verification checks. Paired with an interactive CLI blueprint generator (jaz jobs).
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. For individual transaction patterns, load the transaction-recipes skill.
7
+ ---
8
+
9
+ # Jobs Skill
10
+
11
+ You are helping an **SMB accountant or bookkeeper** complete recurring accounting tasks in Jaz — period-end closes, bank reconciliation, tax filing, payment processing, and operational reviews. These are the real jobs that keep the books accurate and the business compliant.
12
+
13
+ **Jobs combine recipes, calculators, and API calls into complete business processes.** If recipes are ingredients, jobs are the meal.
14
+
15
+ ## When to Use This Skill
16
+
17
+ - Closing the books for a month, quarter, or year
18
+ - Catching up on bank reconciliation
19
+ - Preparing GST/VAT returns for filing
20
+ - Running a payment batch to clear outstanding bills
21
+ - Chasing overdue invoices (credit control)
22
+ - Reconciling supplier statements against AP ledger
23
+ - Preparing for an audit or tax filing
24
+ - Reviewing the fixed asset register
25
+
26
+ ## Job Catalog
27
+
28
+ ### Period-Close Jobs (Layered)
29
+
30
+ Period-close jobs build on each other. Quarter = month + extras. Year = quarter + extras. Each level runs **standalone by default** (includes all steps from lower levels). Use `--incremental` to generate only the extras.
31
+
32
+ | Job | CLI Command | Description |
33
+ |-----|-------------|-------------|
34
+ | **Month-End Close** | `jaz jobs month-end --period YYYY-MM` | 5 phases: pre-close prep, accruals, valuations, verification, lock. The foundation. |
35
+ | **Quarter-End Close** | `jaz jobs quarter-end --period YYYY-QN` | Month-end for each month + GST/VAT, ECL review, bonus accruals, intercompany, provisions. |
36
+ | **Year-End Close** | `jaz jobs year-end --period YYYY` | Quarter-end for each quarter + true-ups, dividends, CYE rollover, audit prep, final lock. |
37
+
38
+ ### Ad-Hoc Jobs
39
+
40
+ | Job | CLI Command | Description |
41
+ |-----|-------------|-------------|
42
+ | **Bank Recon** | `jaz jobs bank-recon` | Clear unreconciled items: match, categorize, resolve. |
43
+ | **GST/VAT Filing** | `jaz jobs gst-vat --period YYYY-QN` | Tax ledger review, discrepancy check, filing summary. |
44
+ | **Payment Run** | `jaz jobs payment-run` | Select outstanding bills by due date, process payments. |
45
+ | **Credit Control** | `jaz jobs credit-control` | AR aging review, overdue chase list, bad debt assessment. |
46
+ | **Supplier Recon** | `jaz jobs supplier-recon` | AP vs supplier statement, identify mismatches. |
47
+ | **Audit Preparation** | `jaz jobs audit-prep --period YYYY` | Compile reports, schedules, reconciliations for auditor/tax. |
48
+ | **FA Review** | `jaz jobs fa-review` | Fixed asset register review, disposal/write-off processing. |
49
+
50
+ ## How Jobs Work
51
+
52
+ Each job produces a **blueprint** — a phased checklist of steps, each annotated with:
53
+
54
+ - **API call** — the exact endpoint + request body to execute the step
55
+ - **Recipe reference** — link to the transaction-recipes skill for complex accounting patterns
56
+ - **Calculator command** — `jaz calc` command for financial calculations
57
+ - **Verification check** — how to confirm the step was completed correctly
58
+ - **Conditional flag** — steps that only apply in certain situations (e.g., "only if multi-currency org")
59
+
60
+ **For AI agents:** Read the blueprint and execute each step using the jaz-api skill for payloads.
61
+ **For developers:** Use `--json` output to build automation pipelines.
62
+ **For accountants:** Use the formatted checklist to work through the close systematically.
63
+
64
+ ## CLI Usage
65
+
66
+ ```bash
67
+ # Period-close (standalone = full plan, --incremental = extras only)
68
+ jaz jobs month-end --period 2025-01 [--currency SGD] [--json]
69
+ jaz jobs quarter-end --period 2025-Q1 [--incremental] [--json]
70
+ jaz jobs year-end --period 2025 [--incremental] [--json]
71
+
72
+ # Ad-hoc
73
+ jaz jobs bank-recon [--account "DBS Current"] [--period 2025-01] [--json]
74
+ jaz jobs gst-vat --period 2025-Q1 [--json]
75
+ jaz jobs payment-run [--due-before 2025-02-28] [--json]
76
+ jaz jobs credit-control [--overdue-days 30] [--json]
77
+ jaz jobs supplier-recon [--supplier "Acme Corp"] [--period 2025-01] [--json]
78
+ jaz jobs audit-prep --period 2025 [--json]
79
+ jaz jobs fa-review [--json]
80
+ ```
81
+
82
+ ## Relationship to Other Skills
83
+
84
+ | Skill | Role |
85
+ |-------|------|
86
+ | **api** | Provides the exact API payloads for each step (field names, gotchas, error handling) |
87
+ | **transaction-recipes** | Provides the accounting patterns for complex steps (accruals, FX reval, ECL, etc.) |
88
+ | **jobs** (this skill) | Combines recipes + API into sequenced, verifiable business processes |
89
+
90
+ **Load all three skills together** for the complete picture. Jobs reference recipes by name — an AI agent should read the referenced recipe for implementation details.
91
+
92
+ ## Supporting Files
93
+
94
+ - **[references/building-blocks.md](./references/building-blocks.md)** — Shared concepts: accounting periods, lock dates, period verification, conventions
95
+ - **[references/month-end-close.md](./references/month-end-close.md)** — Month-end close: 5 phases, ~18 steps
96
+ - **[references/quarter-end-close.md](./references/quarter-end-close.md)** — Quarter-end close: monthly + quarterly extras
97
+ - **[references/year-end-close.md](./references/year-end-close.md)** — Year-end close: quarterly + annual extras
98
+ - **[references/bank-recon.md](./references/bank-recon.md)** — Bank reconciliation catch-up
99
+ - **[references/gst-vat-filing.md](./references/gst-vat-filing.md)** — GST/VAT filing preparation
100
+ - **[references/payment-run.md](./references/payment-run.md)** — Payment run (bulk bill payments)
101
+ - **[references/credit-control.md](./references/credit-control.md)** — Credit control / AR chase
102
+ - **[references/supplier-recon.md](./references/supplier-recon.md)** — Supplier statement reconciliation
103
+ - **[references/audit-prep.md](./references/audit-prep.md)** — Audit preparation pack
104
+ - **[references/fa-review.md](./references/fa-review.md)** — Fixed asset register review
105
+
106
+ ## Tax Computation — Singapore Form C-S
107
+
108
+ Corporate income tax computation for Singapore-incorporated companies. The AI agent acts as the **tax wizard** — pulling data from Jaz, classifying GL items, asking the user targeted questions, and assembling the input for the CLI computation engine.
109
+
110
+ **Scope:** Form C-S (revenue ≤ $5M, 18 fields) and Form C-S Lite (revenue ≤ $200K, 6 fields). NOT Form C.
111
+
112
+ ### How It Works
113
+
114
+ ```
115
+ ┌──────────────────────────────┐ ┌───────────────────────────────┐
116
+ │ Reference Docs (this skill) │ │ CLI Computation Engine │
117
+ │ "The Wizard Script" │ │ jaz tax sg-cs [--json] │
118
+ │ - Guides AI agent │ │ - Pure deterministic math │
119
+ │ - API calls to make │ │ - Accepts structured JSON │
120
+ │ - Questions to ask user │ │ - Outputs workpaper + │
121
+ │ - Classification rules │ │ Form C-S fields + │
122
+ │ - SG tax rules reference │ │ carry-forwards │
123
+ └──────────────┬───────────────┘ └───────────────┬───────────────┘
124
+ │ │
125
+ └────────► AI Agent ◄────────────────┘
126
+ 1. Reads reference docs
127
+ 2. Pulls Jaz API data
128
+ 3. Classifies GL items
129
+ 4. Asks user questions
130
+ 5. Assembles input JSON
131
+ 6. Runs jaz tax sg-cs
132
+ 7. Presents results + filing guidance
133
+ ```
134
+
135
+ ### CLI Commands
136
+
137
+ ```bash
138
+ # Full computation (JSON input from wizard or file)
139
+ jaz tax sg-cs --input tax-data.json [--json]
140
+ echo '{ "ya": 2026, ... }' | jaz tax sg-cs --json
141
+
142
+ # Simple mode (manual flags)
143
+ jaz tax sg-cs --ya 2026 --revenue 500000 --profit 120000 --depreciation 15000 --exemption pte [--json]
144
+
145
+ # Capital allowance schedule (standalone)
146
+ jaz tax sg-ca --input assets.json [--json]
147
+ jaz tax sg-ca --ya 2026 --cost 50000 --category general --acquired 2024-06-15 [--json]
148
+ ```
149
+
150
+ ### Tax Reference Files
151
+
152
+ - **[references/sg-tax/overview.md](./references/sg-tax/overview.md)** — SG CIT framework: 17% rate, YA concept, Form C-S eligibility, key deadlines
153
+ - **[references/sg-tax/form-cs-fields.md](./references/sg-tax/form-cs-fields.md)** — All 18 Form C-S + 6 C-S Lite fields with IRAS labels and CLI mapping
154
+ - **[references/sg-tax/wizard-workflow.md](./references/sg-tax/wizard-workflow.md)** — Step-by-step wizard procedure for AI agents (the main playbook)
155
+ - **[references/sg-tax/data-extraction.md](./references/sg-tax/data-extraction.md)** — How to pull P&L, TB, GL, FA data from Jaz API for tax purposes
156
+ - **[references/sg-tax/add-backs-guide.md](./references/sg-tax/add-backs-guide.md)** — Classification guide: which expenses are non-deductible
157
+ - **[references/sg-tax/capital-allowances-guide.md](./references/sg-tax/capital-allowances-guide.md)** — CA rules per asset category with IRAS sections
158
+ - **[references/sg-tax/ifrs16-tax-adjustment.md](./references/sg-tax/ifrs16-tax-adjustment.md)** — IFRS 16 lease reversal procedure
159
+ - **[references/sg-tax/enhanced-deductions.md](./references/sg-tax/enhanced-deductions.md)** — R&D, IP, donations 250%, S14Q renovation
160
+ - **[references/sg-tax/exemptions-and-rebates.md](./references/sg-tax/exemptions-and-rebates.md)** — SUTE, PTE, CIT rebate schedule
161
+ - **[references/sg-tax/losses-and-carry-forwards.md](./references/sg-tax/losses-and-carry-forwards.md)** — Set-off order, loss/CA/donation carry-forward rules
@@ -0,0 +1,319 @@
1
+ # Audit Preparation
2
+
3
+ Compile the complete report pack, supporting schedules, and reconciliations that an auditor or tax agent needs. For most SMBs, this is an annual exercise — either for the statutory audit (if required) or for the annual tax filing with IRAS (SG) or BIR (PH).
4
+
5
+ **CLI:** `jaz jobs audit-prep --period 2025 [--json]`
6
+
7
+ ---
8
+
9
+ ## Who Needs This
10
+
11
+ | Situation | SG | PH |
12
+ |-----------|----|----|
13
+ | **Statutory audit required** | Companies with revenue > S$10M, assets > S$10M, or employees > 50 | All stock corporations, companies with paid-up capital > PHP 50K |
14
+ | **Tax filing (no audit)** | All companies file Form C/C-S with IRAS | All companies file ITR with BIR |
15
+ | **Compilation by accountant** | Small exempt private companies — no audit but accountant prepares financial statements | N/A |
16
+
17
+ Even if you're a small exempt company not requiring an audit, your external accountant or tax agent needs the same reports to prepare your financial statements and tax return. This job produces the full pack.
18
+
19
+ ---
20
+
21
+ ## Phase 1: Core Financial Reports
22
+
23
+ Generate the three primary financial statements. These form the backbone of any audit or tax filing.
24
+
25
+ ### Step 1: Trial Balance
26
+
27
+ The master reconciliation tool. Everything else derives from this.
28
+
29
+ ```
30
+ POST /api/v1/generate-reports/trial-balance
31
+ { "startDate": "2025-01-01", "endDate": "2025-12-31" }
32
+ ```
33
+
34
+ **What the auditor checks:** Debits = Credits (always). Any imbalance indicates a system error.
35
+
36
+ ### Step 2: Profit & Loss Statement
37
+
38
+ ```
39
+ POST /api/v1/generate-reports/profit-and-loss
40
+ { "primarySnapshotDate": "2025-12-31", "secondarySnapshotDate": "2025-01-01" }
41
+ ```
42
+
43
+ **Comparative:** If the auditor needs prior year comparison:
44
+
45
+ ```
46
+ POST /api/v1/generate-reports/profit-and-loss
47
+ { "primarySnapshotDate": "2024-12-31", "secondarySnapshotDate": "2024-01-01" }
48
+ ```
49
+
50
+ ### Step 3: Balance Sheet
51
+
52
+ ```
53
+ POST /api/v1/generate-reports/balance-sheet
54
+ { "primarySnapshotDate": "2025-12-31" }
55
+ ```
56
+
57
+ **Key check:** Assets = Liabilities + Equity.
58
+
59
+ ---
60
+
61
+ ## Phase 2: Supporting Ledgers
62
+
63
+ Detailed transaction-level data behind the summary reports.
64
+
65
+ ### Step 4: General Ledger — grouped by account
66
+
67
+ ```
68
+ POST /api/v1/generate-reports/general-ledger
69
+ { "startDate": "2025-01-01", "endDate": "2025-12-31", "groupBy": "ACCOUNT" }
70
+ ```
71
+
72
+ This is the auditor's primary working document. Every transaction, grouped by CoA account, with opening balance, movements, and closing balance.
73
+
74
+ ### Step 5: Cashflow Statement
75
+
76
+ ```
77
+ POST /api/v1/generate-reports/cashflow
78
+ { "primaryStartDate": "2025-01-01", "primaryEndDate": "2025-12-31" }
79
+ ```
80
+
81
+ Classifies cash movements into Operating, Investing, and Financing activities.
82
+
83
+ ### Step 6: Equity Movement
84
+
85
+ ```
86
+ POST /api/v1/generate-reports/equity-movement
87
+ { "primarySnapshotStartDate": "2025-01-01", "primarySnapshotEndDate": "2025-12-31" }
88
+ ```
89
+
90
+ Shows opening equity, net profit, dividends, and other movements during the year.
91
+
92
+ ---
93
+
94
+ ## Phase 3: Aging Reports
95
+
96
+ ### Step 7: AR Aging (Accounts Receivable)
97
+
98
+ ```
99
+ POST /api/v1/generate-reports/ar-report
100
+ { "endDate": "2025-12-31" }
101
+ ```
102
+
103
+ **Auditor use:** Tests recoverability of receivables. Aging > 90 days triggers bad debt assessment. The AR total MUST tie to the Accounts Receivable balance on the trial balance.
104
+
105
+ ### Step 8: AP Aging (Accounts Payable)
106
+
107
+ ```
108
+ POST /api/v1/generate-reports/ap-report
109
+ { "endDate": "2025-12-31" }
110
+ ```
111
+
112
+ **Auditor use:** Completeness assertion — are all liabilities recorded? The AP total MUST tie to the Accounts Payable balance on the trial balance.
113
+
114
+ ---
115
+
116
+ ## Phase 4: Bank and Cash
117
+
118
+ ### Step 9: Bank Reconciliation Summary
119
+
120
+ ```
121
+ POST /api/v1/generate-reports/bank-reconciliation-summary
122
+ { "primarySnapshotDate": "2025-12-31" }
123
+ ```
124
+
125
+ **This is non-negotiable for auditors.** The bank recon proves that the cash balance per books matches the bank statement. Any unreconciled items at year-end must be explained.
126
+
127
+ **For detailed reconciliation (per bank account):**
128
+
129
+ ```
130
+ POST /api/v1/generate-reports/bank-reconciliation-details
131
+ { "primarySnapshotDate": "2025-12-31" }
132
+ ```
133
+
134
+ ### Step 10: Bank Balance Summary
135
+
136
+ ```
137
+ POST /api/v1/generate-reports/bank-balance-summary
138
+ { "primarySnapshotDate": "2025-12-31" }
139
+ ```
140
+
141
+ Summary of all bank account balances at year-end. Cross-reference to bank confirmation letters (which the auditor will request directly from your banks).
142
+
143
+ ---
144
+
145
+ ## Phase 5: Fixed Assets
146
+
147
+ ### Step 11: Fixed Assets Register
148
+
149
+ ```
150
+ POST /api/v1/generate-reports/fixed-assets-summary
151
+ ```
152
+
153
+ Shows all fixed assets: acquisition date, cost, depreciation method, useful life, accumulated depreciation, and net book value.
154
+
155
+ **For FA reconciliation (movements during the year):**
156
+
157
+ ```
158
+ POST /api/v1/generate-reports/fixed-assets-recon-summary
159
+ ```
160
+
161
+ This shows: opening NBV + additions - disposals - depreciation = closing NBV. The auditor reconciles this to the trial balance.
162
+
163
+ ---
164
+
165
+ ## Phase 6: Tax
166
+
167
+ ### Step 12: Tax Ledger / GST Summary
168
+
169
+ ```
170
+ POST /api/v1/generate-reports/vat-ledger
171
+ { "startDate": "2025-01-01", "endDate": "2025-12-31" }
172
+ ```
173
+
174
+ Full year tax ledger for the auditor to verify GST returns filed during the year. The annual total should reconcile to the sum of the four quarterly GST F5 returns.
175
+
176
+ ---
177
+
178
+ ## Phase 7: Data Exports
179
+
180
+ Auditors and tax agents often need the data in Excel format for their own workpapers.
181
+
182
+ ### Step 13: Export all key reports
183
+
184
+ ```
185
+ POST /api/v1/data-exports/trial-balance
186
+ { "startDate": "2025-01-01", "endDate": "2025-12-31" }
187
+ ```
188
+
189
+ ```
190
+ POST /api/v1/data-exports/profit-and-loss
191
+ { "startDate": "2025-01-01", "endDate": "2025-12-31" }
192
+ ```
193
+
194
+ ```
195
+ POST /api/v1/data-exports/general-ledger
196
+ { "startDate": "2025-01-01", "endDate": "2025-12-31", "groupBy": "ACCOUNT" }
197
+ ```
198
+
199
+ ```
200
+ POST /api/v1/data-exports/ar-report
201
+ { "endDate": "2025-12-31" }
202
+ ```
203
+
204
+ ```
205
+ POST /api/v1/data-exports/ap-report
206
+ { "endDate": "2025-12-31" }
207
+ ```
208
+
209
+ **Note:** Data export endpoints use simpler field names than generate-reports. P&L export uses `startDate`/`endDate` instead of `primarySnapshotDate`/`secondarySnapshotDate`.
210
+
211
+ ---
212
+
213
+ ## Phase 8: Supporting Schedules
214
+
215
+ These are typically prepared manually by extracting data from the general ledger. The schedules explain what sits behind specific balance sheet line items.
216
+
217
+ ### Step 14: Compile supporting schedules
218
+
219
+ **Prepaid Expenses Schedule:**
220
+ - Search the general ledger for prepaid asset accounts
221
+ - List each prepaid item: description, original amount, amortization to date, remaining balance
222
+ - If using capsules for prepaid workflows, group the GL by capsule for a clean view
223
+
224
+ **Loan Schedule:**
225
+ - For each active loan: original principal, interest rate, monthly payment, balance at year-end
226
+ - Extract from the loan capsule GL entries
227
+ - **Calculator:** `jaz calc loan` produces the full amortization table
228
+
229
+ **Provision Schedule:**
230
+ - List all provisions: ECL/bad debt, employee leave, warranty, legal, etc.
231
+ - For each: opening balance, additions, utilizations, reversals, closing balance
232
+ - ECL provision: `jaz calc ecl` for the year-end calculation
233
+
234
+ **Lease Schedule (if IFRS 16 applies):**
235
+ - Right-of-use asset: opening, depreciation, closing
236
+ - Lease liability: opening, interest, payments, closing
237
+ - **Calculator:** `jaz calc lease` for the complete schedule
238
+
239
+ **Fixed Deposit Schedule:**
240
+ - List all fixed deposits: bank, principal, rate, maturity date, accrued interest
241
+ - **Calculator:** `jaz calc fixed-deposit` for interest calculations
242
+
243
+ **Intercompany Balances (if applicable):**
244
+ - Receivables and payables with related parties
245
+ - Must be disclosed separately in financial statements
246
+
247
+ ---
248
+
249
+ ## Phase 9: Final Checks
250
+
251
+ ### Step 15: Reconciliation checklist
252
+
253
+ Before handing the pack to the auditor, verify these tie:
254
+
255
+ | Account | Report | Should Match |
256
+ |---------|--------|-------------|
257
+ | Cash / Bank | Bank Recon Summary (Step 9) | Bank statements |
258
+ | Accounts Receivable | AR Aging (Step 7) | Trial balance AR line |
259
+ | Accounts Payable | AP Aging (Step 8) | Trial balance AP line |
260
+ | Fixed Assets (NBV) | FA Register (Step 11) | Trial balance FA lines |
261
+ | Revenue | P&L (Step 2) | GST return Box 1+2+3 totals |
262
+ | GST Receivable/Payable | Tax Ledger (Step 12) | Sum of quarterly GST returns |
263
+
264
+ ### Step 16: Review for completeness
265
+
266
+ Run through this checklist:
267
+
268
+ - [ ] All bank accounts reconciled at year-end (zero unreconciled items or documented timing differences)
269
+ - [ ] All supplier statements reconciled for major suppliers
270
+ - [ ] Lock date set to year-end (prevents backdated entries during audit)
271
+ - [ ] No draft transactions in the period (search for status = DRAFT and resolve)
272
+ - [ ] Depreciation posted for all 12 months
273
+ - [ ] Accruals and prepayments up to date
274
+ - [ ] Intercompany balances agree with counterparty
275
+ - [ ] Related party transactions identified and documented
276
+
277
+ ---
278
+
279
+ ## Audit Prep Checklist (Quick Reference)
280
+
281
+ | # | Step | Phase | Report/Endpoint |
282
+ |---|------|-------|----------------|
283
+ | 1 | Trial Balance | Core | `POST /generate-reports/trial-balance` |
284
+ | 2 | P&L | Core | `POST /generate-reports/profit-and-loss` |
285
+ | 3 | Balance Sheet | Core | `POST /generate-reports/balance-sheet` |
286
+ | 4 | General Ledger | Ledgers | `POST /generate-reports/general-ledger` |
287
+ | 5 | Cashflow | Ledgers | `POST /generate-reports/cashflow` |
288
+ | 6 | Equity Movement | Ledgers | `POST /generate-reports/equity-movement` |
289
+ | 7 | AR Aging | Aging | `POST /generate-reports/ar-report` |
290
+ | 8 | AP Aging | Aging | `POST /generate-reports/ap-report` |
291
+ | 9 | Bank Recon Summary | Bank | `POST /generate-reports/bank-reconciliation-summary` |
292
+ | 10 | Bank Balance Summary | Bank | `POST /generate-reports/bank-balance-summary` |
293
+ | 11 | FA Register | Assets | `POST /generate-reports/fixed-assets-summary` |
294
+ | 12 | Tax Ledger | Tax | `POST /generate-reports/vat-ledger` |
295
+ | 13 | Data Exports | Export | `POST /data-exports/*` |
296
+ | 14 | Supporting schedules | Schedules | Manual from GL + calculators |
297
+ | 15 | Reconciliation checks | Final | Cross-reference all reports |
298
+ | 16 | Completeness review | Final | Checklist |
299
+
300
+ ---
301
+
302
+ ## Tips for SMBs
303
+
304
+ **Start early.** Don't wait for the auditor's request list. Generate the report pack in January for the prior year and have it ready before the engagement begins. A well-prepared client gets a faster, cheaper audit.
305
+
306
+ **The auditor will ask for bank confirmation letters.** These are letters from your bank confirming balances at year-end. Request them from your bank in early January — they can take 2-4 weeks to arrive.
307
+
308
+ **Keep a "passed adjustments" list.** If the auditor proposes adjustments you disagree with (within materiality), track them. Below-materiality items may accumulate — the auditor must consider cumulative effect.
309
+
310
+ **IRAS filing deadlines (SG):**
311
+ - Form C-S/C: November 30 of the following year (e.g., FY 2025 due Nov 30, 2026)
312
+ - ECI (Estimated Chargeable Income): Within 3 months of financial year-end
313
+ - GST F5: 1 month after each quarter-end
314
+
315
+ **Common audit queries you can pre-empt:**
316
+ - "Can you provide a schedule of revenue by customer?" → Run AR summary report
317
+ - "What are the top 10 expenses?" → Run P&L, sort expense lines
318
+ - "Are there any related party transactions?" → Tag them during the year, not at audit time
319
+ - "Can you explain the $X increase in expenses?" → Have month-by-month P&L ready for variance analysis