e-arveldaja-mcp 0.23.0 → 0.24.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/CHANGELOG.md +8 -0
- package/CLAUDE.md +63 -0
- package/dist/account-postings.d.ts +17 -0
- package/dist/account-postings.d.ts.map +1 -0
- package/dist/account-postings.js +32 -0
- package/dist/account-postings.js.map +1 -0
- package/dist/accounting-rules.d.ts +1 -0
- package/dist/accounting-rules.d.ts.map +1 -1
- package/dist/accounting-rules.js +6 -0
- package/dist/accounting-rules.js.map +1 -1
- package/dist/bank-posting-duplicate-guard.d.ts +151 -0
- package/dist/bank-posting-duplicate-guard.d.ts.map +1 -0
- package/dist/bank-posting-duplicate-guard.js +244 -0
- package/dist/bank-posting-duplicate-guard.js.map +1 -0
- package/dist/bank-transaction-create.d.ts +14 -0
- package/dist/bank-transaction-create.d.ts.map +1 -1
- package/dist/bank-transaction-create.js +66 -0
- package/dist/bank-transaction-create.js.map +1 -1
- package/dist/opening-balance-journal.d.ts.map +1 -1
- package/dist/opening-balance-journal.js +22 -7
- package/dist/opening-balance-journal.js.map +1 -1
- package/dist/opening-balance-parse.d.ts.map +1 -1
- package/dist/opening-balance-parse.js +23 -1
- package/dist/opening-balance-parse.js.map +1 -1
- package/dist/ref-number.d.ts +26 -0
- package/dist/ref-number.d.ts.map +1 -0
- package/dist/ref-number.js +31 -0
- package/dist/ref-number.js.map +1 -0
- package/dist/statement-balance-check.d.ts +39 -0
- package/dist/statement-balance-check.d.ts.map +1 -0
- package/dist/statement-balance-check.js +120 -0
- package/dist/statement-balance-check.js.map +1 -0
- package/dist/statement-balance-store.d.ts +12 -0
- package/dist/statement-balance-store.d.ts.map +1 -0
- package/dist/statement-balance-store.js +47 -0
- package/dist/statement-balance-store.js.map +1 -0
- package/dist/tools/account-balance.d.ts.map +1 -1
- package/dist/tools/account-balance.js +13 -27
- package/dist/tools/account-balance.js.map +1 -1
- package/dist/tools/bank-reconciliation.d.ts.map +1 -1
- package/dist/tools/bank-reconciliation.js +141 -4
- package/dist/tools/bank-reconciliation.js.map +1 -1
- package/dist/tools/camt-import.d.ts +17 -0
- package/dist/tools/camt-import.d.ts.map +1 -1
- package/dist/tools/camt-import.js +128 -15
- package/dist/tools/camt-import.js.map +1 -1
- package/dist/tools/crud/journals.d.ts.map +1 -1
- package/dist/tools/crud/journals.js +145 -2
- package/dist/tools/crud/journals.js.map +1 -1
- package/dist/tools/crud/transactions.d.ts.map +1 -1
- package/dist/tools/crud/transactions.js +97 -1
- package/dist/tools/crud/transactions.js.map +1 -1
- package/dist/tools/pdf-workflow.d.ts.map +1 -1
- package/dist/tools/pdf-workflow.js +57 -0
- package/dist/tools/pdf-workflow.js.map +1 -1
- package/dist/tools/receipt-inbox-booking.d.ts.map +1 -1
- package/dist/tools/receipt-inbox-booking.js +18 -0
- package/dist/tools/receipt-inbox-booking.js.map +1 -1
- package/dist/tools/wise-import.d.ts +3 -0
- package/dist/tools/wise-import.d.ts.map +1 -1
- package/dist/tools/wise-import.js +32 -6
- package/dist/tools/wise-import.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.24.0] - 2026-07-21
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Cross-mechanism bank-posting duplicate guard.** The same real-world cash movement could previously be booked twice through different mechanisms — a manual journal crediting a bank dimension directly, a `create_transaction` row, a reconcile exact-match confirm, and a receipt/PDF intake each only detected duplicates *within* their own mechanism. A new guard (`src/bank-posting-duplicate-guard.ts`) scans all registered journal postings on a bank account's dimension for a same-direction, same-amount, nearby-date posting and surfaces it as a **POSSIBLE duplicate** (a suspect, never a certainty — two legitimate identical payments are possible). It is wired into `create_transaction`, `create_journal` (fast-pathed to bank-dimension postings only), the reconcile exact-match confirm + suggest flows, and the receipt/PDF intake. **Advisory by default** — never auto-deletes or auto-merges; each mutation tool gains an opt-in `block_on_duplicate` that refuses creation *only* when the scan is available AND found a suspect (an unavailable scan never blocks). Match key: account + dimension + amount (±0.01 EUR) + direction + effective date within ±7 days. The guard is fail-safe: a journals-fetch past the 200-page cap or a bank-reference reference-read error degrades to a "Duplicate scan unavailable" note and the booking proceeds — an advisory sub-check never fails a legitimate booking. Suspect journal titles are sandbox-wrapped as untrusted text. No new tools (surface stays 123).
|
|
10
|
+
- **CAMT statement closing-balance tripwire.** When an imported CAMT statement carries a CLBD closing balance bound to a bank dimension, `import_camt053` now compares it against the expected balance (opening-balance fold + booked postings up to the balance date + signed unconfirmed PROJECT transactions) with a **0.10 EUR tolerance** and surfaces a `statement_balance_check` with an advisory warning on divergence. Advisory-only and fail-safe (never blocks or throws out of the import); EUR-base comparison only (a non-EUR closing balance is reported but its warning is suppressed as an FX mismatch); on `execute` the per-dimension closing balance is persisted to `statement-balances.json` in the accounting bundle (bundle mode only, skipped with a note under single-file rules mode).
|
|
11
|
+
- **Source-reference idempotency.** Bank `ref_number` is canonicalized (trimmed and capped at 20 chars — the maintainer-reported backend limit, a fallback assumption, not demo-probe-confirmed) so an over-cap reference cannot silently mismatch on re-import. CAMT import canonicalizes each entry's reference **at source**, so its duplicate-detection identity (entry signature + exact-duplicate keys) is built from the same capped value the ledger stores and the write boundary is a no-op — a re-imported statement dedupes correctly even for references over the cap. For manually created (`create_transaction`) and Wise rows, when the reference exceeds the cap the full value is additionally woven into `description` — before any trailing source-direction / camt marker so end-anchored metadata regexes still match, and bounded to the description length limit so it never overflows or evicts the marker — so the complete reference is not lost; Wise dedup applies the identical canonicalization + weave, so an over-cap row still matches its previously-stored truncated transaction. `create_journal` now emits an advisory warning when its `document_number` already exists on a live journal (creation still proceeds).
|
|
12
|
+
|
|
5
13
|
## [0.23.0] - 2026-07-20
|
|
6
14
|
|
|
7
15
|
### Added
|
package/CLAUDE.md
CHANGED
|
@@ -261,8 +261,71 @@ OpenAPI spec: `GET /openapi.yaml` on the API server. HTML docs: `/api.html`.
|
|
|
261
261
|
- The Wise import tool (`import_wise_transactions`) has built-in duplicate detection for inter-account transfers
|
|
262
262
|
- When manually confirming transactions against another bank account, first check for existing journals at that date/amount
|
|
263
263
|
|
|
264
|
+
### Cross-mechanism bank-posting duplicate guard
|
|
265
|
+
|
|
266
|
+
The same real-world cash movement can be booked twice through *different*
|
|
267
|
+
mechanisms — a manual journal that credits a bank dimension directly, a
|
|
268
|
+
`create_transaction` bank row, a reconcile exact-match confirm, and a
|
|
269
|
+
receipt/PDF intake all land on the same bank account but each only detects
|
|
270
|
+
duplicates *within its own* mechanism. `src/bank-posting-duplicate-guard.ts`
|
|
271
|
+
closes that gap: it scans **all** registered journal postings on a bank
|
|
272
|
+
account's dimension for a same-direction, same-amount, nearby-date posting and
|
|
273
|
+
surfaces it as a **POSSIBLE duplicate** — a SUSPECT, never a certainty (two
|
|
274
|
+
legitimate identical payments are possible).
|
|
275
|
+
|
|
276
|
+
- **Advisory by default.** The guard is wired into `create_transaction`,
|
|
277
|
+
`create_journal` (fast-pathed — consulted only when a posting touches a known
|
|
278
|
+
bank dimension), the reconcile exact-match confirm + suggest flows, and the
|
|
279
|
+
receipt/PDF intake (`create_purchase_invoice_from_pdf`, the inbox dry-run).
|
|
280
|
+
It never auto-deletes or auto-merges. Each of the mutation tools takes an
|
|
281
|
+
opt-in `block_on_duplicate` (default `false`) that REFUSES creation **only**
|
|
282
|
+
when the scan is available AND actually found a suspect; an unavailable scan
|
|
283
|
+
never blocks.
|
|
284
|
+
- **Match key:** account + dimension + amount (±0.01 EUR) + direction (`D`/`C`)
|
|
285
|
+
+ effective date within ±7 days (`DUPLICATE_SCAN_WINDOW_DAYS`). Intake mode
|
|
286
|
+
scans every bank dimension (the invoice's settling account isn't known yet)
|
|
287
|
+
and compares against a real EUR gross only — never a guessed conversion.
|
|
288
|
+
- **Fail-safe.** The guard's own reads degrade rather than fail the host tool:
|
|
289
|
+
a journals-fetch past the 200-page cap, or a `getBankAccounts` /
|
|
290
|
+
`getAccountDimensions` reference-read error (`resolveBankDimensionsSafe`),
|
|
291
|
+
both surface a "Duplicate scan unavailable" note and let the booking proceed.
|
|
292
|
+
An advisory sub-check must never be the reason a legitimate booking fails.
|
|
293
|
+
- **Untrusted text:** suspect journal titles are `wrapUntrustedOcr`-wrapped at
|
|
294
|
+
every MCP output site; block-reason strings carry only numeric journal ids.
|
|
295
|
+
|
|
296
|
+
### Source-reference idempotency (`ref_number` / `document_number`)
|
|
297
|
+
|
|
298
|
+
- **`ref_number` is canonicalized at the single write boundary**
|
|
299
|
+
(`createBankTransaction` → `canonicalRefNumber`, `src/ref-number.ts`): trimmed
|
|
300
|
+
and capped at `REF_NUMBER_MAX_LENGTH = 20` (the maintainer-reported backend
|
|
301
|
+
limit — a fallback, not demo-probe-confirmed). When a reference exceeds the
|
|
302
|
+
cap, the FULL value is woven into `description` so it is never lost, inserted
|
|
303
|
+
**before** any trailing `[source_direction=…]` / `[e-arveldaja-mcp:camt …]`
|
|
304
|
+
marker so the end-anchored direction/metadata regexes still match (a
|
|
305
|
+
marker-only description gets the ref on its own line to preserve the camt
|
|
306
|
+
`(?:^|\n)` anchor). Wise dedup canonicalizes the ref *inside*
|
|
307
|
+
`buildWiseTransactionSignature`, so an over-cap Wise row still matches its
|
|
308
|
+
previously-stored truncated transaction (no double import).
|
|
309
|
+
- **`create_journal` document_number advisory:** when `document_number` is set,
|
|
310
|
+
the tool scans existing live journals for the same reference and warns
|
|
311
|
+
"source reference already used by journal N" (creation still proceeds; a
|
|
312
|
+
deleted journal with the same number does not warn). Use a stable source
|
|
313
|
+
reference (`WISE:{id}`, `LY:{ref}`, `BANK:{stmt-ref}`) for imported or
|
|
314
|
+
mechanism-crossing entries so duplicate detection has a key.
|
|
315
|
+
|
|
264
316
|
### Known issues — Wise account
|
|
265
317
|
- **Wise balance has ~0.03 EUR discrepancy** with the real account balance (8.71 vs 8.68 EUR as of 2026-03-22). Root cause not yet identified — likely a pre-existing duplicate or rounding issue from earlier imports. Does not affect LHV balance.
|
|
318
|
+
- **Statement closing-balance tripwire (CAMT).** When a CAMT statement carries a
|
|
319
|
+
CLBD closing balance bound to a bank dimension, `import_camt053` compares it
|
|
320
|
+
against the expected balance (opening-balance fold + booked postings up to the
|
|
321
|
+
balance date + signed unconfirmed PROJECT rows) with a **0.10 EUR tolerance**
|
|
322
|
+
(chosen to clear the ~0.03 EUR Wise drift with headroom) and surfaces a
|
|
323
|
+
`statement_balance_check` with an advisory warning when they diverge. It is
|
|
324
|
+
advisory-only and fail-safe (never blocks or throws out of the import), the
|
|
325
|
+
comparison is EUR-base only (a non-EUR closing balance is reported but its
|
|
326
|
+
warning is suppressed as an FX mismatch), and on `execute` the per-dimension
|
|
327
|
+
closing balance is persisted to `statement-balances.json` in the accounting
|
|
328
|
+
bundle (bundle mode only; skipped with a note under single-file rules mode).
|
|
266
329
|
|
|
267
330
|
## Architecture
|
|
268
331
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Journal } from "./types/api.js";
|
|
2
|
+
export interface AccountPostingRow {
|
|
3
|
+
journal_id: number;
|
|
4
|
+
journal_title: string;
|
|
5
|
+
document_number: string | null;
|
|
6
|
+
operation_type: string | null;
|
|
7
|
+
date: string;
|
|
8
|
+
type: "D" | "C";
|
|
9
|
+
amount: number;
|
|
10
|
+
accounts_dimensions_id: number | null;
|
|
11
|
+
clients_id: number | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function listAccountDimensionPostings(journals: Journal[], accountId: number, opts?: {
|
|
14
|
+
dateFrom?: string;
|
|
15
|
+
dateTo?: string;
|
|
16
|
+
}): AccountPostingRow[];
|
|
17
|
+
//# sourceMappingURL=account-postings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-postings.d.ts","sourceRoot":"","sources":["../src/account-postings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,iBAAiB,EAAE,CAwBrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function listAccountDimensionPostings(journals, accountId, opts) {
|
|
2
|
+
const rows = [];
|
|
3
|
+
for (const journal of journals) {
|
|
4
|
+
if (journal.is_deleted || !journal.registered)
|
|
5
|
+
continue;
|
|
6
|
+
if (opts?.dateFrom && journal.effective_date < opts.dateFrom)
|
|
7
|
+
continue;
|
|
8
|
+
if (opts?.dateTo && journal.effective_date > opts.dateTo)
|
|
9
|
+
continue;
|
|
10
|
+
if (!journal.postings)
|
|
11
|
+
continue;
|
|
12
|
+
for (const p of journal.postings) {
|
|
13
|
+
if (p.accounts_id !== accountId || p.is_deleted)
|
|
14
|
+
continue;
|
|
15
|
+
if (p.type !== "D" && p.type !== "C")
|
|
16
|
+
continue;
|
|
17
|
+
rows.push({
|
|
18
|
+
journal_id: journal.id,
|
|
19
|
+
journal_title: journal.title ?? "",
|
|
20
|
+
document_number: journal.document_number ?? null,
|
|
21
|
+
operation_type: journal.operation_type ?? null,
|
|
22
|
+
date: journal.effective_date,
|
|
23
|
+
type: p.type,
|
|
24
|
+
amount: p.base_amount ?? p.amount,
|
|
25
|
+
accounts_dimensions_id: p.accounts_dimensions_id ?? null,
|
|
26
|
+
clients_id: journal.clients_id ?? null,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return rows;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=account-postings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-postings.js","sourceRoot":"","sources":["../src/account-postings.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,4BAA4B,CAC1C,QAAmB,EACnB,SAAiB,EACjB,IAA6C;IAE7C,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,SAAS;QACxD,IAAI,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;YAAE,SAAS;QACvE,IAAI,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM;YAAE,SAAS;QACnE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,SAAS;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU;gBAAE,SAAS;YAC1D,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,SAAS;YAC/C,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,OAAO,CAAC,EAAG;gBACvB,aAAa,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAClC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;gBAChD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;gBAC9C,IAAI,EAAE,OAAO,CAAC,cAAc;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM;gBACjC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB,IAAI,IAAI;gBACxD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -98,6 +98,7 @@ export declare function hasConcreteAutoBookingRuleBookingTarget(value: Partial<P
|
|
|
98
98
|
export declare function resetAccountingRulesCache(): void;
|
|
99
99
|
export declare function getAccountingRulesPath(): string;
|
|
100
100
|
export declare function resolveOpeningBalanceStorePath(): string | null;
|
|
101
|
+
export declare function resolveStatementBalanceStorePath(): string | null;
|
|
101
102
|
export declare function saveAutoBookingRule(rawInput: SaveAutoBookingRuleInput): {
|
|
102
103
|
path: string;
|
|
103
104
|
action: "inserted" | "updated";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting-rules.d.ts","sourceRoot":"","sources":["../src/accounting-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounting-rules.d.ts","sourceRoot":"","sources":["../src/accounting-rules.ts"],"names":[],"mappings":"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"}
|
package/dist/accounting-rules.js
CHANGED
|
@@ -768,6 +768,12 @@ export function resolveOpeningBalanceStorePath() {
|
|
|
768
768
|
return null; // single-file legacy mode has no bundle dir
|
|
769
769
|
return resolve(storage.dir, "opening-balances.json");
|
|
770
770
|
}
|
|
771
|
+
export function resolveStatementBalanceStorePath() {
|
|
772
|
+
const storage = resolveStorage();
|
|
773
|
+
if (storage.mode === "file")
|
|
774
|
+
return null; // single-file legacy mode has no bundle dir
|
|
775
|
+
return resolve(storage.dir, "statement-balances.json");
|
|
776
|
+
}
|
|
771
777
|
function sanitizeMarkdownCell(value) {
|
|
772
778
|
if (value === undefined)
|
|
773
779
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting-rules.js","sourceRoot":"","sources":["../src/accounting-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounting-rules.js","sourceRoot":"","sources":["../src/accounting-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { AccountDimension, BankAccount, Journal } from "./types/api.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cross-mechanism bank-posting duplicate guard — core matching logic.
|
|
4
|
+
*
|
|
5
|
+
* Reconcile, create_transaction, create_journal, and intake booking flows
|
|
6
|
+
* each detect duplicates within their own mechanism (e.g. inter-account
|
|
7
|
+
* transfer indexing), but none of them sees a plain manual journal that
|
|
8
|
+
* happens to touch a bank account dimension directly (one bank-dimension
|
|
9
|
+
* posting + one expense/income leg, no transaction record at all). This
|
|
10
|
+
* module scans ALL journals touching a bank account's dimension for a
|
|
11
|
+
* same-direction, same-amount, nearby-date posting — a SUSPECT, never a
|
|
12
|
+
* certainty, since two legitimate identical payments are possible.
|
|
13
|
+
*
|
|
14
|
+
* Kept MCP-free: no `wrapUntrustedOcr` import here — callers pass their own
|
|
15
|
+
* `wrapTitle` into `formatDuplicatePostingWarnings`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DUPLICATE_SCAN_WINDOW_DAYS = 7;
|
|
18
|
+
export declare const DUPLICATE_AMOUNT_TOLERANCE = 0.01;
|
|
19
|
+
export interface BankDimensionInfo {
|
|
20
|
+
dimensionId: number;
|
|
21
|
+
accountId: number;
|
|
22
|
+
title: string;
|
|
23
|
+
}
|
|
24
|
+
export interface DuplicatePostingCandidate {
|
|
25
|
+
accountId: number;
|
|
26
|
+
dimensionId: number | null;
|
|
27
|
+
amount: number;
|
|
28
|
+
direction: "D" | "C";
|
|
29
|
+
date: string;
|
|
30
|
+
excludeJournalIds?: ReadonlySet<number>;
|
|
31
|
+
}
|
|
32
|
+
export interface DuplicatePostingSuspect {
|
|
33
|
+
journal_id: number;
|
|
34
|
+
journal_title: string;
|
|
35
|
+
document_number: string | null;
|
|
36
|
+
operation_type: string | null;
|
|
37
|
+
date: string;
|
|
38
|
+
amount: number;
|
|
39
|
+
type: "D" | "C";
|
|
40
|
+
dimension_id: number | null;
|
|
41
|
+
day_distance: number;
|
|
42
|
+
}
|
|
43
|
+
export interface DuplicatePostingScanResult {
|
|
44
|
+
scan_available: boolean;
|
|
45
|
+
scan_note?: string;
|
|
46
|
+
window_days: number;
|
|
47
|
+
suspects: DuplicatePostingSuspect[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Join bank accounts to their account dimensions: `{dimensionId, accountId,
|
|
51
|
+
* title}` for every bank account that has an `accounts_dimensions_id`,
|
|
52
|
+
* resolved against a non-deleted `AccountDimension`, deduped by dimension id.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveBankDimensions(api: {
|
|
55
|
+
readonly: {
|
|
56
|
+
getBankAccounts(): Promise<BankAccount[]>;
|
|
57
|
+
getAccountDimensions(): Promise<AccountDimension[]>;
|
|
58
|
+
};
|
|
59
|
+
}): Promise<BankDimensionInfo[]>;
|
|
60
|
+
export interface SafeBankDimensions {
|
|
61
|
+
dimensions: BankDimensionInfo[];
|
|
62
|
+
scanAvailable: boolean;
|
|
63
|
+
scanNote?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Fail-safe wrapper over `resolveBankDimensions` for the mutation-path guard
|
|
67
|
+
* hooks (create_transaction, create_journal, reconcile confirm/suggest). The
|
|
68
|
+
* guard is advisory only, so its OWN reference-data reads (`getBankAccounts` /
|
|
69
|
+
* `getAccountDimensions`) must never fail an otherwise-valid booking. Any throw
|
|
70
|
+
* degrades to `scanAvailable: false` with an empty dimension list and a
|
|
71
|
+
* scan-unavailable note (same "Duplicate scan unavailable:" prefix the journals
|
|
72
|
+
* fetch uses), mirroring how `checkIntakeCashDuplicates` guards the intake path.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveBankDimensionsSafe(api: {
|
|
75
|
+
readonly: {
|
|
76
|
+
getBankAccounts(): Promise<BankAccount[]>;
|
|
77
|
+
getAccountDimensions(): Promise<AccountDimension[]>;
|
|
78
|
+
};
|
|
79
|
+
}): Promise<SafeBankDimensions>;
|
|
80
|
+
/**
|
|
81
|
+
* Pure in-memory matcher: scan `journals` for postings on
|
|
82
|
+
* `candidate.accountId` within `+/-windowDays` of `candidate.date`, matching
|
|
83
|
+
* direction and amount (within `amountTolerance`), filtered by dimension
|
|
84
|
+
* (`null` = any) and `excludeJournalIds`. Sorted by day distance, then
|
|
85
|
+
* journal id.
|
|
86
|
+
*/
|
|
87
|
+
export declare function findDuplicatePostingsInJournals(journals: Journal[], candidate: DuplicatePostingCandidate, opts?: {
|
|
88
|
+
windowDays?: number;
|
|
89
|
+
amountTolerance?: number;
|
|
90
|
+
}): DuplicatePostingSuspect[];
|
|
91
|
+
/**
|
|
92
|
+
* API-facing scan: loads `opts.preloadedJournals` or
|
|
93
|
+
* `api.journals.listAllWithPostings()` and runs the pure matcher over it.
|
|
94
|
+
* Degrades gracefully — a guard failure must never fail a host tool. ANY
|
|
95
|
+
* throw while loading journals (e.g. past `BaseResource.listAll`'s 200-page
|
|
96
|
+
* cap) is caught and reported as `scan_available: false` with an empty
|
|
97
|
+
* suspect list; it is never re-thrown.
|
|
98
|
+
*/
|
|
99
|
+
export declare function findDuplicateBankPostings(api: {
|
|
100
|
+
journals: {
|
|
101
|
+
listAllWithPostings(): Promise<Journal[]>;
|
|
102
|
+
};
|
|
103
|
+
}, candidate: DuplicatePostingCandidate, opts?: {
|
|
104
|
+
windowDays?: number;
|
|
105
|
+
amountTolerance?: number;
|
|
106
|
+
preloadedJournals?: Journal[];
|
|
107
|
+
}): Promise<DuplicatePostingScanResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Intake-time scan (Task 6): catches the incident at the EARLIEST moment — a
|
|
110
|
+
* receipt/PDF about to become a fresh invoice+transaction pair — before any
|
|
111
|
+
* mutation exists to clean up. Unlike `findDuplicateBankPostings` (one known
|
|
112
|
+
* bank dimension), this scans ALL bank dimensions across ALL bank accounts,
|
|
113
|
+
* since the intake flow does not yet know which bank account will settle the
|
|
114
|
+
* invoice.
|
|
115
|
+
*
|
|
116
|
+
* `grossAmountEur` must be a real EUR figure (actual settled EUR gross, or the
|
|
117
|
+
* nominal gross for an EUR-native invoice) — never a guessed conversion. When
|
|
118
|
+
* the caller has no such figure (e.g. a foreign-currency invoice without
|
|
119
|
+
* `base_gross_price`), pass `undefined` and this returns `skipped_no_eur_amount:
|
|
120
|
+
* true` with `scan_available: true` (the scan wasn't attempted, not that it
|
|
121
|
+
* failed) and an explanatory `scan_note`.
|
|
122
|
+
*
|
|
123
|
+
* Defensively wraps the ENTIRE lookup (including `resolveBankDimensions`) in
|
|
124
|
+
* one try/catch — stricter than `findDuplicateBankPostings`, which only
|
|
125
|
+
* guards the journals fetch — because this is the earliest-moment guard and
|
|
126
|
+
* must never be the reason a legitimate intake booking fails, regardless of
|
|
127
|
+
* which reference-data call is unavailable.
|
|
128
|
+
*/
|
|
129
|
+
export declare function checkIntakeCashDuplicates(api: {
|
|
130
|
+
journals: {
|
|
131
|
+
listAllWithPostings(): Promise<Journal[]>;
|
|
132
|
+
};
|
|
133
|
+
readonly: {
|
|
134
|
+
getBankAccounts(): Promise<BankAccount[]>;
|
|
135
|
+
getAccountDimensions(): Promise<AccountDimension[]>;
|
|
136
|
+
};
|
|
137
|
+
}, input: {
|
|
138
|
+
grossAmountEur: number | undefined;
|
|
139
|
+
invoiceDate: string;
|
|
140
|
+
}, opts?: {
|
|
141
|
+
windowDays?: number;
|
|
142
|
+
}): Promise<DuplicatePostingScanResult & {
|
|
143
|
+
skipped_no_eur_amount?: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Render one warning line per suspect plus (when the scan degraded) one
|
|
147
|
+
* line carrying `scan_note`. `wrapTitle` sandboxes untrusted journal titles
|
|
148
|
+
* at the call site (`wrapUntrustedOcr`) — this module stays MCP-free.
|
|
149
|
+
*/
|
|
150
|
+
export declare function formatDuplicatePostingWarnings(result: DuplicatePostingScanResult, candidate: DuplicatePostingCandidate, wrapTitle: (t: string) => string): string[];
|
|
151
|
+
//# sourceMappingURL=bank-posting-duplicate-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bank-posting-duplicate-guard.d.ts","sourceRoot":"","sources":["../src/bank-posting-duplicate-guard.ts"],"names":[],"mappings":"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"}
|