jaz-clio 5.44.1 → 5.45.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 +2 -2
- package/assets/skills/api/references/endpoints.md +1 -1
- package/assets/skills/api/references/field-map.md +11 -8
- package/assets/skills/api/references/full-api-surface.md +6 -1
- package/assets/skills/api/references/search-enums.md +5 -2
- package/assets/skills/api/references/search-reference.md +7 -2
- package/assets/skills/api/references/search-syntax.md +290 -10
- package/assets/skills/cli/SKILL.md +1 -1
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/jaz-kit/SKILL.md +1 -1
- package/assets/skills/jaz-pseudo-sql/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +1 -1
- package/cli.mjs +459 -459
- package/dashboard-routes-manifest.json +4658 -0
- package/package.json +3 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-api
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.45.0
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill whenever you call, debug, or review code that touches the Jaz
|
|
6
6
|
REST API. Covers field names, response shapes, 159 production gotchas, error
|
|
@@ -396,7 +396,7 @@ Bills, invoices, and credit notes share identical mandatory field specs. Adding
|
|
|
396
396
|
|
|
397
397
|
121. **Intra-batch reference dedup is MERGE, not REJECT** — Two rows in the same bulk-upsert call sharing the same natural key (`invoiceReference`/`billReference`/etc.) are MERGED by the API (last row wins). If the user wants strict-uniqueness, dedup client-side first.
|
|
398
398
|
|
|
399
|
-
122. **Fixed asset bulk upsert —
|
|
399
|
+
122. **Fixed asset bulk upsert — dates are EPOCH MILLISECONDS** — the bulk-upsert REQUEST takes `purchaseDate` and `depreciationStartDate` as **epoch milliseconds** (numbers), unlike every other bulk-upsert (which takes `YYYY-MM-DD`). A date string returns a generic 400 "Invalid request body" with no detail. There is no `valueDate`, `cost`, `usefulLifeMonths`, `currencyCode`, `tags` or `resourceId` field on this endpoint — those are silently discarded; the wire names are `purchaseDate`, `purchaseAmount` and `effectiveLife`, and the natural key is `reference`. Required: `reference`, `registrationType` ("NEW" | "TRANSFER"). `NEW` also requires `purchaseBusinessTransactionType` ("PURCHASE" | "SALE" | "JOURNAL_MANUAL") + `purchaseBusinessTransactionResourceId` (the purchase LINE ITEM, not the bill/journal id); `TRANSFER` instead takes `accumulatedDepreciationAtTransferDate` + `bookValueAtTransferDate`. Recommended: `typeCode` (e.g. `FURNITURE_AND_FIXTURE`), `typeName`, `category` ("TANGIBLE" | "INTANGIBLE"), `purchaseAmount`, `purchaseDate`, `effectiveLife`, `depreciationMethod` (`STRAIGHT_LINE` | `NO_DEPRECIATION`), `purchaseAssetAccountResourceId` (UUIDv4), `depreciationExpenseAccountResourceId` (UUIDv4), `accumulatedDepreciationAccountResourceId`. Omit `depreciationStartDate` to default it to `purchaseDate`.
|
|
400
400
|
|
|
401
401
|
### Reconciliation actions (write-side)
|
|
402
402
|
|
|
@@ -83,7 +83,7 @@ These aliases are applied by middleware on POST/PUT endpoints. The alias is only
|
|
|
83
83
|
| `apiKey` header | `x-jk-api-key` | Custom header (not Authorization: Bearer) |
|
|
84
84
|
| `org.id` | `data[0].resourceId` | Org endpoint returns a LIST |
|
|
85
85
|
| `org.baseCurrency` | `data[0].currency` | Not `baseCurrency` |
|
|
86
|
-
| `org.country` | `data[0].
|
|
86
|
+
| `org.country` | `data[0].country` | ISO 2-letter code. NOT `countryCode` — that name is a deprecated alias, is optional, and may be absent from the response |
|
|
87
87
|
|
|
88
88
|
---
|
|
89
89
|
|
|
@@ -247,7 +247,7 @@ DIFFERENT shape from single create — easier to confuse.
|
|
|
247
247
|
|
|
248
248
|
### Bulk upsert (`POST /fixed-assets/bulk-upsert`) — REQUEST shape
|
|
249
249
|
|
|
250
|
-
⚠️ **
|
|
250
|
+
⚠️ **Both dates are EPOCH MILLISECONDS, not `YYYY-MM-DD`.** `purchaseDate` and `depreciationStartDate` are integers on this endpoint (every other bulk-upsert takes `YYYY-MM-DD`). A date string returns a generic 400 "Invalid request body" with no detail. There is no `valueDate`, `cost`, `usefulLifeMonths`, `currencyCode`, `tags` or `resourceId` field here — they are silently discarded.
|
|
251
251
|
|
|
252
252
|
| Field | Required? | Notes |
|
|
253
253
|
|-------|-----------|-------|
|
|
@@ -257,19 +257,22 @@ DIFFERENT shape from single create — easier to confuse.
|
|
|
257
257
|
| `typeCode` | recommended | e.g. `FURNITURE_AND_FIXTURE`, `COMPUTER_AND_ELECTRONIC` |
|
|
258
258
|
| `typeName` | recommended | Human label, e.g. `"Furniture and Fixtures"` |
|
|
259
259
|
| `category` | recommended | `"TANGIBLE"` or `"INTANGIBLE"` |
|
|
260
|
-
| `
|
|
261
|
-
| `
|
|
262
|
-
| `
|
|
263
|
-
| `
|
|
264
|
-
| `effectiveLife` OR `usefulLifeMonths` | recommended | Months — synonyms |
|
|
260
|
+
| `purchaseAmount` | recommended | Acquisition cost (there is no `cost` alias) |
|
|
261
|
+
| `purchaseDate` | recommended | Acquisition date, **epoch milliseconds** |
|
|
262
|
+
| `depreciationStartDate` | optional | **Epoch milliseconds.** Omit to default to `purchaseDate` |
|
|
263
|
+
| `effectiveLife` | recommended | Months (there is no `usefulLifeMonths` alias) |
|
|
265
264
|
| `depreciationMethod` | recommended | `"STRAIGHT_LINE"` or `"NO_DEPRECIATION"` |
|
|
266
265
|
| `purchaseAssetAccountResourceId` | recommended | Asset account UUIDv4 |
|
|
267
266
|
| `depreciationExpenseAccountResourceId` | recommended | Depreciation expense account UUIDv4 |
|
|
268
267
|
| `accumulatedDepreciationAccountResourceId` | recommended | Accum dep account UUIDv4 |
|
|
268
|
+
| `purchaseBusinessTransactionType` | required for `NEW` | `"PURCHASE"` \| `"SALE"` \| `"JOURNAL_MANUAL"` |
|
|
269
|
+
| `purchaseBusinessTransactionResourceId` | required for `NEW` | Purchase LINE ITEM resourceId, must be UNLINKED |
|
|
270
|
+
| `accumulatedDepreciationAtTransferDate` | `TRANSFER` only | Depreciation already booked in the source system |
|
|
271
|
+
| `bookValueAtTransferDate` | `TRANSFER` only | Remaining undepreciated value |
|
|
269
272
|
|
|
270
273
|
### Single create (`POST /fixed-assets`)
|
|
271
274
|
|
|
272
|
-
Uses `purchaseAmount` + `purchaseDate` + `effectiveLife` + `purchaseAssetAccountResourceId` + `depreciationExpenseAccountResourceId`. CLI command `clio fixed-assets create` mirrors this.
|
|
275
|
+
Uses `purchaseAmount` + `purchaseDate` + `effectiveLife` + `purchaseAssetAccountResourceId` + `depreciationExpenseAccountResourceId`. CLI command `clio fixed-assets create` mirrors this. Same field names as bulk-upsert, but dates here are `YYYY-MM-DD` strings — see warning above.
|
|
273
276
|
|
|
274
277
|
---
|
|
275
278
|
|
|
@@ -813,7 +813,12 @@ single-create siblings do — the alias middleware rewrites the top-level body o
|
|
|
813
813
|
these routes the aliased keys sit inside the `cashEntries[]` / `cashTransfers[]` rows. Send
|
|
814
814
|
`valueDate` on bulk rows.
|
|
815
815
|
|
|
816
|
-
### Record-list option pickers (4) —
|
|
816
|
+
### Record-list option pickers (4) — NOT WRAPPED
|
|
817
|
+
|
|
818
|
+
These four exist in the REST API but this client has **no wrapper for them and no
|
|
819
|
+
tool exposes them**, so they cannot be called from here. They are listed only so
|
|
820
|
+
that looking for them and finding nothing is not mistaken for the catalog being
|
|
821
|
+
incomplete. Reaching them needs a raw HTTP call.
|
|
817
822
|
|
|
818
823
|
| Method | Path | Description |
|
|
819
824
|
|--------|------|-------------|
|
|
@@ -370,9 +370,12 @@ No enum fields on the top level. String filters: `resourceId`, `type`.
|
|
|
370
370
|
| Field | Valid Values |
|
|
371
371
|
|-------|-------------|
|
|
372
372
|
| `status` | `ACTIVE`, `INACTIVE` |
|
|
373
|
-
| `
|
|
373
|
+
| `userType` | `ADMIN`, `CUSTOM_USER` |
|
|
374
374
|
|
|
375
|
-
**String fields**: `
|
|
375
|
+
**String fields**: `email`, `resourceId`, `userResourceId`
|
|
376
|
+
**Nested** (`user`): `user.firstName`, `user.lastName`, `user.email`, `user.status`, `user.phoneRegistered`
|
|
377
|
+
|
|
378
|
+
There is no `name` or `role` field on this filter.
|
|
376
379
|
|
|
377
380
|
---
|
|
378
381
|
|
|
@@ -683,9 +683,12 @@ To convert response dates: `new Date(epochMs).toISOString().slice(0, 10)` → `Y
|
|
|
683
683
|
|
|
684
684
|
### 21. POST /api/v1/organization-users/search
|
|
685
685
|
|
|
686
|
-
**Filter fields** (`OrganizationUserFilter`): `
|
|
686
|
+
**Filter fields** (`OrganizationUserFilter`): `resourceId`, `userResourceId`, `userType`, `status`, `email`, `and`, `or`
|
|
687
|
+
**Nested**: `user` (`user.firstName`, `user.lastName`, `user.email`, `user.phoneRegistered`, `user.status`, `user.resourceId`, `user.deleted`)
|
|
687
688
|
|
|
688
|
-
**Sort fields
|
|
689
|
+
**Sort fields** (max 9): `resourceId`, `status`, `userResourceId`, `userType`, `user.FirstName`, `user.LastName`, `user.Email`, `user.PhoneRegistered`, `user.Status`
|
|
690
|
+
|
|
691
|
+
There is no top-level `name` or `role` on this filter, and the nested sort keys are capitalised while the nested filter keys are not — `user.firstName` filters, `user.FirstName` sorts. Anything else in `sort.sortBy` is a 422. `query` is rejected on this endpoint; use the filter.
|
|
689
692
|
|
|
690
693
|
Standard pattern with limit/offset/filter/sort. Rarely used in conversions.
|
|
691
694
|
|
|
@@ -707,6 +710,8 @@ Standard pattern with limit/offset/filter/sort. Used for managing bank reconcili
|
|
|
707
710
|
|
|
708
711
|
**Sort fields** (max 13): `resourceId`, `name`, `reference`, `currencyCode`, `status`, `valueDate`, `totalItemAmount`, `description`
|
|
709
712
|
|
|
713
|
+
`query` is rejected on this endpoint ("The query field is not supported for this entity") despite being declared on `SearchPurchaseItemRequest`. Use the filter.
|
|
714
|
+
|
|
710
715
|
---
|
|
711
716
|
|
|
712
717
|
### 24. POST /api/v1/sale-orders/search
|
|
@@ -58,9 +58,12 @@ Prefix with any currency symbol or type a numeric range.
|
|
|
58
58
|
|-------|---------|
|
|
59
59
|
| `$500` | amount = 500 |
|
|
60
60
|
| `$-500` | amount = -500 (negative) |
|
|
61
|
+
| `-$500` | same as above (negative before currency) |
|
|
61
62
|
| `$100-500` | amount between 100 and 500 |
|
|
62
63
|
| `$100 to 500` | same as above |
|
|
64
|
+
| `$500 to $1000` | range with currency on both sides |
|
|
63
65
|
| `$-500 to -100` | negative range |
|
|
66
|
+
| `-$4000 to -$6000` | negative range with currency |
|
|
64
67
|
| `$-100 - -500` | negative range (space-hyphen-space) |
|
|
65
68
|
| `$500+` | amount >= 500 |
|
|
66
69
|
| `$<200` | amount < 200 |
|
|
@@ -69,6 +72,34 @@ Prefix with any currency symbol or type a numeric range.
|
|
|
69
72
|
| `>500` | amount > 500 (no symbol needed for comparisons) |
|
|
70
73
|
| `500+` | amount >= 500 (no symbol needed) |
|
|
71
74
|
|
|
75
|
+
### Magnitude Suffixes
|
|
76
|
+
|
|
77
|
+
Use shorthand for large numbers. Case-insensitive.
|
|
78
|
+
|
|
79
|
+
| Suffix | Aliases | Multiplier | Example |
|
|
80
|
+
|--------|---------|-----------|---------|
|
|
81
|
+
| `k` | k | 1,000 | `$5k` = 5,000 |
|
|
82
|
+
| `m` | m, mn, mm, mil | 1,000,000 | `4.5m` = 4,500,000 |
|
|
83
|
+
| `b` | b, bn, bil | 1,000,000,000 | `$1b` = 1,000,000,000 |
|
|
84
|
+
| `t` | t, tn, trn | 1,000,000,000,000 | `1trn` = 1,000,000,000,000 |
|
|
85
|
+
|
|
86
|
+
Works everywhere: `$5k`, `5k+`, `>2m`, `4k-5k`, `$4k to $5k`, `amount:5k+`, `amount:>2m`
|
|
87
|
+
|
|
88
|
+
### Field:Value Amount Syntax
|
|
89
|
+
|
|
90
|
+
Use `amount:` prefix for explicit field targeting. Supports currency, suffixes, and `to` ranges.
|
|
91
|
+
|
|
92
|
+
| Input | Meaning |
|
|
93
|
+
|-------|---------|
|
|
94
|
+
| `amount:500` | amount = 500 |
|
|
95
|
+
| `amount:$500` | same (currency stripped) |
|
|
96
|
+
| `amount:-$80000` | amount = -80000 |
|
|
97
|
+
| `amount:100-500` | amount between 100 and 500 |
|
|
98
|
+
| `amount:4k-5k` | amount between 4000 and 5000 |
|
|
99
|
+
| `amount:-4000 to -6000` | amount between -6000 and -4000 |
|
|
100
|
+
| `amount:5k+` | amount >= 5000 |
|
|
101
|
+
| `amount:>2m` | amount > 2,000,000 |
|
|
102
|
+
|
|
72
103
|
Supported currency symbols: `$` `€` `£` `¥` `₱` `₹` `₩` `฿` `₫` `₺` `R$` `RM` `Rp` `kr` `Fr` `zł` `R`
|
|
73
104
|
|
|
74
105
|
Also works with ISO codes: `SGD500`, `PHP1000`, `EUR200-500`
|
|
@@ -85,14 +116,20 @@ Prefix with `date:` for invoice/transaction date, or `due:` for due date.
|
|
|
85
116
|
|-------|---------|
|
|
86
117
|
| `date:today` | today |
|
|
87
118
|
| `date:yesterday` | yesterday |
|
|
119
|
+
| `date:tomorrow` | tomorrow |
|
|
120
|
+
| `date:2 days ago` | 2 days ago |
|
|
88
121
|
| `date:this week` | current week (Mon-Sun) |
|
|
89
122
|
| `date:last week` | previous week |
|
|
123
|
+
| `date:next week` | next week |
|
|
90
124
|
| `date:this month` | current month |
|
|
91
125
|
| `date:last month` | previous month |
|
|
126
|
+
| `date:next month` | next month |
|
|
92
127
|
| `date:this quarter` | current quarter |
|
|
93
128
|
| `date:last quarter` | previous quarter |
|
|
129
|
+
| `date:next quarter` | next quarter |
|
|
94
130
|
| `date:this year` | current year |
|
|
95
131
|
| `date:last year` | previous year |
|
|
132
|
+
| `date:next year` | next year |
|
|
96
133
|
| `date:jan 2025` | January 2025 |
|
|
97
134
|
| `date:jan-mar 2025` | Jan 1 to Mar 31, 2025 |
|
|
98
135
|
| `date:jan to mar 2025` | same as above |
|
|
@@ -105,8 +142,26 @@ Prefix with `date:` for invoice/transaction date, or `due:` for due date.
|
|
|
105
142
|
| `date:-3m` | last 3 months |
|
|
106
143
|
| `date:last 30 days` | same as -30d |
|
|
107
144
|
| `date:last 2 weeks` | same as -2w |
|
|
145
|
+
| `date:next 7 days` | next 7 days from today |
|
|
146
|
+
| `date:next 30 days` | next 30 days from today |
|
|
147
|
+
|
|
148
|
+
### Due Date Semantics
|
|
149
|
+
|
|
150
|
+
| Input | Meaning |
|
|
151
|
+
|-------|---------|
|
|
152
|
+
| `due:overdue` | due date before today (past due) |
|
|
153
|
+
| `due:past` | same as overdue |
|
|
154
|
+
| `due:upcoming` | due in the next 30 days |
|
|
155
|
+
| `due:tomorrow` | due tomorrow |
|
|
156
|
+
| `due:next 7 days` | due within next 7 days |
|
|
157
|
+
| `due:next 30 days` | due within next 30 days |
|
|
158
|
+
| `due:this week` | due this week |
|
|
108
159
|
|
|
109
|
-
|
|
160
|
+
### Commas in Amounts
|
|
161
|
+
|
|
162
|
+
Commas are stripped from amounts: `$1,000` = 1000, `$1,000,000` = 1000000, `$1,000+` = gte 1000
|
|
163
|
+
|
|
164
|
+
Date field aliases: `due:` (due date), `created:` (created date), `updated:` / `modified:` (updated date), `submitted:` (submitted date), `approved:` (approved date), `lastpayment:` (last payment date)
|
|
110
165
|
|
|
111
166
|
---
|
|
112
167
|
|
|
@@ -156,6 +211,38 @@ Comma-separated values search for any match.
|
|
|
156
211
|
|
|
157
212
|
---
|
|
158
213
|
|
|
214
|
+
## Boolean Search
|
|
215
|
+
|
|
216
|
+
Some fields accept yes/no values (e.g. `hasattachment`, `customer`, `supplier`).
|
|
217
|
+
|
|
218
|
+
| Input | Meaning |
|
|
219
|
+
|-------|---------|
|
|
220
|
+
| `hasattachment:yes` | has attachments |
|
|
221
|
+
| `hasattachment:no` | no attachments |
|
|
222
|
+
| `!hasattachment:yes` | no attachments (negated) |
|
|
223
|
+
| `attachmentfilename:report` | attachment file name contains "report" |
|
|
224
|
+
|
|
225
|
+
Accepted truthy values: `yes`, `true`, `y`, `1`. Accepted falsy values: `no`, `false`, `n`, `0`.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Absolute Value Search
|
|
230
|
+
|
|
231
|
+
Filter by amount magnitude regardless of sign. Useful for cashflow, bank records, and journals with mixed debit/credit amounts.
|
|
232
|
+
|
|
233
|
+
| Input | Meaning |
|
|
234
|
+
|-------|---------|
|
|
235
|
+
| `abs:500` | amount = 500 OR amount = -500 |
|
|
236
|
+
| `abs:>=500` | amount >= 500 OR amount <= -500 |
|
|
237
|
+
| `abs:500+` | same as above |
|
|
238
|
+
| `abs:>500` | amount > 500 OR amount < -500 |
|
|
239
|
+
| `abs:<100` | amount < 100 OR amount > -100 |
|
|
240
|
+
| `abs:100-500` | amount between 100-500 OR between -500 and -100 |
|
|
241
|
+
| `abs:$5k+` | currency symbols and suffixes work |
|
|
242
|
+
| `!abs:500` | amount != 500 AND amount != -500 |
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
159
246
|
## Blank / Empty Checks
|
|
160
247
|
|
|
161
248
|
| Input | Meaning |
|
|
@@ -240,31 +327,200 @@ NOT (status:paid OR status:void)
|
|
|
240
327
|
## Available Fields by Entity
|
|
241
328
|
|
|
242
329
|
### Sales / Invoices
|
|
243
|
-
`customer` `ref` `status` `approval` `currency` `tag` `id` `amount` `balance` `paid` `date` `duedate` `
|
|
330
|
+
`customer` `ref` `status` `approval` `currency` `tag` `id` `amount` `balance` `paid` `date` `duedate` `createdat` `lastpayment` `submitted` `approved` `updatedat` `paymentrecorded` `creditapplied` `taxid` `regid` `submittedby` `approvedby` `terms` `hasattachment` `attachmentfilename` `saleorderresourceid` `saleresourceid` `lastemail` `changesrequested`
|
|
331
|
+
|
|
332
|
+
Status values: `unpaid` `paid` `partial` `void` `draft` `overdue`
|
|
333
|
+
Approval values: `pending` `approved`
|
|
334
|
+
Aliases: `invoicedate:` = `date:`, `billref:` / `invoiceref:` = `ref:`
|
|
335
|
+
|
|
336
|
+
### Sale Line Items
|
|
337
|
+
`amount` `price` `qty` `currency` `name` `desc` `sku` `id` `discount` `taxrate` `account` `accountcode` `customer` `status` `ref` `date` `createdat`
|
|
244
338
|
|
|
245
339
|
### Purchases / Bills
|
|
246
|
-
`supplier` `ref` `status` `approval` `currency` `tag` `id` `amount` `balance` `paid` `date` `duedate` `
|
|
340
|
+
`supplier` `ref` `status` `approval` `currency` `tag` `id` `amount` `balance` `paid` `date` `duedate` `createdat` `lastpayment` `submitted` `approved` `updatedat` `paymentrecorded` `creditapplied` `taxid` `regid` `submittedby` `approvedby` `terms` `hasattachment` `attachmentfilename` `purchaseorderresourceid` `purchaseresourceid` `changesrequested`
|
|
341
|
+
|
|
342
|
+
Status values: `unpaid` `paid` `partial` `void` `draft` `overdue`
|
|
343
|
+
Aliases: `billdate:` = `date:`, `vendor:` = `supplier:`
|
|
344
|
+
|
|
345
|
+
### Purchase Line Items
|
|
346
|
+
`amount` `price` `qty` `currency` `name` `desc` `sku` `id` `discount` `taxrate` `account` `accountcode` `supplier` `status` `ref` `date` `createdat`
|
|
347
|
+
|
|
348
|
+
### Billable Items
|
|
349
|
+
`id` `status` `item` `desc` `amount` `currency` `assigned` `billed` `account` `accountcode` `customer` `createdat` `supplier` `ref` `date`
|
|
247
350
|
|
|
248
351
|
### Credit Notes (Sale)
|
|
249
|
-
`customer` `ref` `status` `approval` `currency` `tag` `id` `amount` `
|
|
352
|
+
`customer` `ref` `status` `approval` `currency` `tag` `id` `amount` `paid` `date` `createdat` `submitted` `approved` `lastpayment` `taxid` `hasattachment` `lastemail` `changesrequested`
|
|
353
|
+
|
|
354
|
+
Status values: `unpaid` `paid` `partial` `void` `draft`
|
|
250
355
|
|
|
251
356
|
### Credit Notes (Purchase)
|
|
252
|
-
`supplier` `ref` `status` `approval` `currency` `tag` `id` `amount` `
|
|
357
|
+
`supplier` `ref` `status` `approval` `currency` `tag` `id` `amount` `paid` `date` `createdat` `submitted` `approved` `lastpayment` `taxid` `hasattachment` `changesrequested`
|
|
358
|
+
|
|
359
|
+
Status values: `unpaid` `paid` `partial` `void` `draft`
|
|
360
|
+
|
|
361
|
+
### Credit Note Line Items (Sale / Purchase)
|
|
362
|
+
`amount` `price` `qty` `currency` `name` `desc` `sku` `id` `discount` `taxrate` `account` `accountcode` `createdat`
|
|
253
363
|
|
|
254
364
|
### Payments
|
|
255
|
-
`customer` `ref` `
|
|
365
|
+
`customer` `ref` `method` `currency` `id` `amount` `date` `createdat` `status` `taxid` `paymentcurrency` `hasattachment`
|
|
366
|
+
|
|
367
|
+
Sale payments (default). Aliases: `paymentmethod:` = `method:`, `paymentdate:` / `valuedate:` = `date:`, `curr:` = `currency:`, `contact:` = `customer:`
|
|
368
|
+
|
|
369
|
+
For purchase payments: use `supplier:` / `vendor:` instead of `customer:`.
|
|
370
|
+
For batch payments: use `contact:` (matches `customer:` and `supplier:`); amount field → `totalAmount`.
|
|
371
|
+
|
|
372
|
+
### Payments Due
|
|
373
|
+
`amount` `ref` `contact` `currency` `date` `createdat` `tag` `type` `status` `total` `taxid`
|
|
374
|
+
|
|
375
|
+
Aliases: `balance:` = `amount:`, `reference:` = `ref:`, `customer:` / `supplier:` = `contact:`, `curr:` = `currency:`, `valuedate:` = `date:`, `transactiontype:` = `type:`
|
|
256
376
|
|
|
257
377
|
### Journals
|
|
258
|
-
`contact` `ref` `type` `status` `tag` `id` `debit` `credit` `date` `
|
|
378
|
+
`contact` `ref` `type` `status` `tag` `id` `debit` `credit` `date` `createdat` `notes`
|
|
379
|
+
|
|
380
|
+
Status values: `active` `void` `draft`
|
|
381
|
+
Type values: `manual` `system` `recurring`
|
|
382
|
+
Aliases: `journaltype:` = `type:`, `customer:` / `supplier:` = `contact:`, `amount:` = `debit:`, `internalnotes:` = `notes:`
|
|
383
|
+
|
|
384
|
+
### Journal Entry Lines
|
|
385
|
+
`amount` `currency` `desc` `id` `contact` `ref` `status` `date`
|
|
386
|
+
|
|
387
|
+
Aliases: `debit:` / `credit:` = `amount:`, `curr:` = `currency:`, `description:` / `notes:` = `desc:`, `customer:` / `supplier:` = `contact:`, `reference:` = `ref:`, `valuedate:` = `date:`
|
|
388
|
+
|
|
389
|
+
### Cashflow / Bank Records / Bank Entries
|
|
390
|
+
`description` `payee` / `payer` `ref` `status` `review` `id` `amount` `date`
|
|
391
|
+
|
|
392
|
+
Status values: `unreconciled` `reconciled` `excluded`
|
|
393
|
+
Review values: `reviewed` `unreviewed`
|
|
394
|
+
Aliases: `desc:` = `description:`, `contact:` / `extcontactname:` = `payee:`, `reference:` / `extreference:` = `ref:`, `netamount:` = `amount:`, `valuedate:` = `date:`, `reviewstate:` = `review:`
|
|
395
|
+
|
|
396
|
+
### Cash Entries
|
|
397
|
+
`status` `ref` `contact` `currency` `amount` `date` `createdat` `id`
|
|
398
|
+
|
|
399
|
+
Status values: `active` `void`
|
|
400
|
+
Aliases: `reference:` = `ref:`, `payee:` = `contact:`, `curr:` = `currency:`, `balance:` = `amount:`, `valuedate:` = `date:`
|
|
259
401
|
|
|
260
|
-
###
|
|
261
|
-
`
|
|
402
|
+
### Cash Entry Lines
|
|
403
|
+
`amount` `currency` `ref` `type` `contact` `date` `createdat` `tag` `id`
|
|
404
|
+
|
|
405
|
+
Aliases: `balance:` = `amount:`, `curr:` = `currency:`, `reference:` = `ref:`, `payee:` = `contact:`, `valuedate:` = `date:`
|
|
262
406
|
|
|
263
407
|
### Contacts
|
|
264
408
|
`name` `email` `status` `registration` `taxid` `customer` `supplier` `id`
|
|
265
409
|
|
|
410
|
+
Status values: `active` `inactive`
|
|
411
|
+
Boolean: `customer:yes` / `customer:no`, `supplier:yes` / `supplier:no`
|
|
412
|
+
|
|
266
413
|
### Items / Products
|
|
267
|
-
`name` `sku` `status` `
|
|
414
|
+
`name` `sku` `status` `id` `costing` `purchasename` `salename` `cogsaccount` `purchaseaccount` `saleaccount`
|
|
415
|
+
|
|
416
|
+
Status values: `active` `inactive`
|
|
417
|
+
Aliases: `item:` / `product:` = `name:`, `code:` = `sku:`
|
|
418
|
+
|
|
419
|
+
### Fixed Assets
|
|
420
|
+
`name` `ref` `status` `id` `amount` `date`
|
|
421
|
+
|
|
422
|
+
Status values: `registered` `disposed` `draft`
|
|
423
|
+
Aliases: `asset:` = `name:`, `reference:` = `ref:`, `price:` / `cost:` = `amount:`, `purchasedate:` = `date:`
|
|
424
|
+
|
|
425
|
+
### Disposal Assets
|
|
426
|
+
`name` `ref` `status` `id` `amount` `date` `type` `tag` `bookvalue` `gainloss`
|
|
427
|
+
|
|
428
|
+
Status values: `registered` `disposed` `draft`
|
|
429
|
+
Aliases: `asset:` = `name:`, `reference:` = `ref:`, `price:` / `cost:` = `amount:`, `disposaldate:` = `date:`, `purchasedate:` = purchase date (separate field), `netbook:` = `bookvalue:`, `gain:` / `loss:` = `gainloss:`
|
|
430
|
+
|
|
431
|
+
### Capsules / Capsule Transactions
|
|
432
|
+
`name` `ref` `status` `id` `date`
|
|
433
|
+
|
|
434
|
+
Aliases: `capsule:` = `name:`, `reference:` = `ref:`, `valuedate:` = `date:`
|
|
435
|
+
|
|
436
|
+
### Inventory Balance
|
|
437
|
+
`name` `sku` `id`
|
|
438
|
+
|
|
439
|
+
Aliases: `item:` = `name:`, `code:` = `sku:`
|
|
440
|
+
|
|
441
|
+
### Inventory Transactions
|
|
442
|
+
`ref` `type` `date` `id`
|
|
443
|
+
|
|
444
|
+
Aliases: `reference:` = `ref:`, `valuedate:` = `date:`
|
|
445
|
+
|
|
446
|
+
### Deposits / Deposit Balances
|
|
447
|
+
`status` `ref` `contact` `id` `amount` `date`
|
|
448
|
+
|
|
449
|
+
Aliases: `reference:` = `ref:`, `customer:` / `supplier:` = `contact:`, `total:` = `amount:`, `valuedate:` = `date:`
|
|
450
|
+
|
|
451
|
+
### Bank Accounts
|
|
452
|
+
`name` `code` `status` `currency` `id` `balance`
|
|
453
|
+
|
|
454
|
+
Status values: `active` `inactive`
|
|
455
|
+
Aliases: `account:` = `name:`, `curr:` = `currency:`, `amount:` = `balance:`
|
|
456
|
+
|
|
457
|
+
### Match Transactions (Bank Reconciliation)
|
|
458
|
+
`ref` `contact` `id` `amount` `balance` `date`
|
|
459
|
+
|
|
460
|
+
Aliases: `reference:` = `ref:`, `customer:` / `supplier:` / `payee:` = `contact:`, `total:` = `amount:`, `bal:` = `balance:`, `valuedate:` = `date:`
|
|
461
|
+
|
|
462
|
+
### Scheduled Transactions (Invoices / Bills / Subscriptions)
|
|
463
|
+
`contact` `customer` `supplier` `ref` `reference` `status` `currency` `curr` `id` `amount` `total` `date` `nextdate` (→ nextScheduleDate)
|
|
464
|
+
|
|
465
|
+
### Scheduled Journals
|
|
466
|
+
`contact` `customer` `supplier` `ref` `reference` `status` `tag` `tags` `interval` `id` `date` `start` `startdate` (→ startDate) `end` `enddate` `last` `lastdate`
|
|
467
|
+
NOTE: No amount fields — JournalSchedulerFilter has no BigDecimalExpression fields.
|
|
468
|
+
|
|
469
|
+
Interval values: `daily` `weekly` `monthly` `quarterly` `yearly` `onetime`
|
|
470
|
+
|
|
471
|
+
### Scheduled Line Items (Invoice / Bill / Subscription)
|
|
472
|
+
`name` `item` `desc` `description` `sku` `itemcode` `code` `contact` `customer` `supplier` `currency` `curr` `status` `ref` `reference` `date` `valuedate` (→ businessTransactionValueDate) `start` `startdate` `end` `enddate` `next` `nextdate`
|
|
473
|
+
|
|
474
|
+
Status values: `active` `completed` `cancelled`
|
|
475
|
+
|
|
476
|
+
### Journal Scheduler Line Items
|
|
477
|
+
`contact` `customer` `supplier` `desc` `description` `currency` `curr` `ref` `reference` `status` `date` `start` `startdate` (→ startDate) `end` `enddate` `next` `nextdate` `id`
|
|
478
|
+
|
|
479
|
+
### Mandate Batches (E-invoicing)
|
|
480
|
+
`name` `desc` `status` `mandate` `provider` `id` `startdate` `enddate` `createdat` `updatedat` `submissions`
|
|
481
|
+
|
|
482
|
+
Status values: `draft` `submitted` `accepted` `rejected` `cancelled`
|
|
483
|
+
Aliases: `batchname:` = `name:`, `mandatecode:` = `mandate:`, `providercode:` = `provider:`, `periodstart:` = `startdate:`, `periodend:` = `enddate:`, `count:` = `submissions:`
|
|
484
|
+
|
|
485
|
+
### Mandate Submissions (E-invoicing)
|
|
486
|
+
`ref` `contact` `type` `doctype` `direction` `status` `response` `id` `btid` `submittedat` `responseat` `workflowupdated` `mandate`
|
|
487
|
+
|
|
488
|
+
Direction values: `supply` `purchase`
|
|
489
|
+
Status values: `draft` `queued` `submitted` `accepted` `completed` `rejected` `cancelled` `failed`
|
|
490
|
+
Aliases: `bttype:` = `type:`, `documenttype:` = `doctype:`, `workflowstatus:` = `status:`, `responsestatus:` = `response:`, `btresourceid:` = `btid:`, `workflowupdatedat:` = `workflowupdated:`, `mandatecode:` = `mandate:`
|
|
491
|
+
|
|
492
|
+
### Sale Orders
|
|
493
|
+
`id` `ref` `date` `due` `approved` `currency` `amount` `customer` `regid` `taxid` `tag` `created` `status` `customfields`
|
|
494
|
+
|
|
495
|
+
### Sale Order Line Items
|
|
496
|
+
`id` `name` `currency` `amount` `customer` `status` `ref` `date`
|
|
497
|
+
|
|
498
|
+
### Sale Quotes
|
|
499
|
+
`id` `ref` `date` `due` `currency` `amount` `customer` `regid` `taxid` `tag` `created` `status` `customfields` `signing` `changesrequested`
|
|
500
|
+
|
|
501
|
+
### Sale Quote Line Items
|
|
502
|
+
`id` `name` `currency` `amount` `customer` `status` `ref` `date`
|
|
503
|
+
|
|
504
|
+
### Purchase Orders
|
|
505
|
+
`id` `ref` `date` `due` `approved` `currency` `amount` `supplier` `regid` `taxid` `tag` `created` `status` `customfields`
|
|
506
|
+
|
|
507
|
+
### Purchase Order Line Items
|
|
508
|
+
`id` `name` `currency` `amount` `supplier` `status` `ref` `date`
|
|
509
|
+
|
|
510
|
+
### Purchase Requests
|
|
511
|
+
`id` `ref` `date` `due` `currency` `amount` `supplier` `regid` `taxid` `tag` `created` `status` `customfields` `signing` `changesrequested`
|
|
512
|
+
|
|
513
|
+
### Purchase Request Line Items
|
|
514
|
+
`id` `name` `currency` `amount` `supplier` `status` `ref` `date`
|
|
515
|
+
|
|
516
|
+
### Employees / Directory
|
|
517
|
+
`id` `name` `email` `phone` `currency` `employmenttype` `beneficiary` `paymentmethod` `manager` `claimprofile` `created` `updated`
|
|
518
|
+
|
|
519
|
+
### Employees / Claims
|
|
520
|
+
`id` `ref` `currency` `date` `created` `amount` `employee` `vendor` `customfields` `hasattachment` `createdby` `changesrequested`
|
|
521
|
+
|
|
522
|
+
### Employees / Payouts
|
|
523
|
+
`employee` `ref` `type` `valuedate`
|
|
268
524
|
|
|
269
525
|
---
|
|
270
526
|
|
|
@@ -289,6 +545,12 @@ NOT status:void sort:amount:desc
|
|
|
289
545
|
# Find negative journal entries in a date range
|
|
290
546
|
$-1000 to -5000 AND date:feb-mar 2025
|
|
291
547
|
|
|
548
|
+
# Match transactions between $4k and $5k for reconciliation
|
|
549
|
+
amount:4k to 5k
|
|
550
|
+
|
|
551
|
+
# Find purchases over $2 million
|
|
552
|
+
supplier:acme AND amount:>2m
|
|
553
|
+
|
|
292
554
|
# Find all unpaid purchases from a specific supplier in EUR
|
|
293
555
|
supplier:acme AND status:unpaid AND currency:EUR
|
|
294
556
|
|
|
@@ -300,4 +562,22 @@ taxid:T1234567
|
|
|
300
562
|
|
|
301
563
|
# Find all transactions with balance > 0 and due before today
|
|
302
564
|
balance:>0 AND duedate:<2026-03-15
|
|
565
|
+
|
|
566
|
+
# Find unreconciled bank entries above $1,000
|
|
567
|
+
status:unreconciled AND $1000+
|
|
568
|
+
|
|
569
|
+
# Find manual journals from this month
|
|
570
|
+
type:manual AND date:this month
|
|
571
|
+
|
|
572
|
+
# Find active items of type service
|
|
573
|
+
status:active AND type:service
|
|
574
|
+
|
|
575
|
+
# Find registered fixed assets purchased this year
|
|
576
|
+
status:registered AND date:this year
|
|
577
|
+
|
|
578
|
+
# Find batch e-invoice submissions that were rejected
|
|
579
|
+
status:rejected
|
|
580
|
+
|
|
581
|
+
# Find capsules with no reference
|
|
582
|
+
ref:blank
|
|
303
583
|
```
|