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.
- package/assets/skills/api/SKILL.md +1 -1
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +161 -0
- package/assets/skills/jobs/references/audit-prep.md +319 -0
- package/assets/skills/jobs/references/bank-recon.md +234 -0
- package/assets/skills/jobs/references/building-blocks.md +135 -0
- package/assets/skills/jobs/references/credit-control.md +273 -0
- package/assets/skills/jobs/references/fa-review.md +267 -0
- package/assets/skills/jobs/references/gst-vat-filing.md +250 -0
- package/assets/skills/jobs/references/month-end-close.md +308 -0
- package/assets/skills/jobs/references/payment-run.md +246 -0
- package/assets/skills/jobs/references/quarter-end-close.md +268 -0
- package/assets/skills/jobs/references/sg-tax/add-backs-guide.md +354 -0
- package/assets/skills/jobs/references/sg-tax/capital-allowances-guide.md +343 -0
- package/assets/skills/jobs/references/sg-tax/data-extraction.md +408 -0
- package/assets/skills/jobs/references/sg-tax/enhanced-deductions.md +248 -0
- package/assets/skills/jobs/references/sg-tax/exemptions-and-rebates.md +197 -0
- package/assets/skills/jobs/references/sg-tax/form-cs-fields.md +191 -0
- package/assets/skills/jobs/references/sg-tax/ifrs16-tax-adjustment.md +194 -0
- package/assets/skills/jobs/references/sg-tax/losses-and-carry-forwards.md +269 -0
- package/assets/skills/jobs/references/sg-tax/overview.md +207 -0
- package/assets/skills/jobs/references/sg-tax/wizard-workflow.md +391 -0
- package/assets/skills/jobs/references/supplier-recon.md +330 -0
- package/assets/skills/jobs/references/year-end-close.md +341 -0
- package/assets/skills/transaction-recipes/SKILL.md +1 -1
- package/dist/__tests__/jobs-audit-prep.test.js +125 -0
- package/dist/__tests__/jobs-bank-recon.test.js +108 -0
- package/dist/__tests__/jobs-credit-control.test.js +98 -0
- package/dist/__tests__/jobs-fa-review.test.js +104 -0
- package/dist/__tests__/jobs-gst-vat.test.js +113 -0
- package/dist/__tests__/jobs-month-end.test.js +162 -0
- package/dist/__tests__/jobs-payment-run.test.js +106 -0
- package/dist/__tests__/jobs-quarter-end.test.js +155 -0
- package/dist/__tests__/jobs-supplier-recon.test.js +115 -0
- package/dist/__tests__/jobs-validate.test.js +181 -0
- package/dist/__tests__/jobs-year-end.test.js +149 -0
- package/dist/__tests__/tax-sg-capital-allowances.test.js +389 -0
- package/dist/__tests__/tax-sg-exemptions.test.js +232 -0
- package/dist/__tests__/tax-sg-form-cs.test.js +687 -0
- package/dist/__tests__/tax-validate.test.js +208 -0
- package/dist/commands/init.js +7 -2
- package/dist/commands/jobs.js +184 -0
- package/dist/commands/tax.js +195 -0
- package/dist/index.js +4 -0
- package/dist/jobs/audit-prep.js +211 -0
- package/dist/jobs/bank-recon.js +163 -0
- package/dist/jobs/credit-control.js +126 -0
- package/dist/jobs/fa-review.js +121 -0
- package/dist/jobs/format.js +102 -0
- package/dist/jobs/gst-vat.js +187 -0
- package/dist/jobs/month-end.js +232 -0
- package/dist/jobs/payment-run.js +199 -0
- package/dist/jobs/quarter-end.js +135 -0
- package/dist/jobs/supplier-recon.js +132 -0
- package/dist/jobs/types.js +36 -0
- package/dist/jobs/validate.js +115 -0
- package/dist/jobs/year-end.js +153 -0
- package/dist/tax/format.js +18 -0
- package/dist/tax/sg/capital-allowances.js +160 -0
- package/dist/tax/sg/constants.js +63 -0
- package/dist/tax/sg/exemptions.js +76 -0
- package/dist/tax/sg/form-cs.js +349 -0
- package/dist/tax/sg/format-sg.js +134 -0
- package/dist/tax/types.js +9 -0
- package/dist/tax/validate.js +124 -0
- package/dist/types/index.js +2 -1
- package/dist/utils/template.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api
|
|
3
|
-
version: 2.
|
|
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.
|
|
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
|