@accounter/server 0.0.8-alpha-20251102200443-d7162b8ce1dfc629b8b454df17dcec9ed005a052 → 0.0.8-alpha-20251102213150-c9d936f545d5351df0dc5326c2623266f1ad1f46
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 +47 -7
- package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
- package/dist/server/src/__generated__/types.d.ts +77 -0
- package/dist/server/src/__generated__/types.js.map +1 -1
- package/dist/server/src/modules/charges-matcher/__generated__/types.d.ts +68 -0
- package/dist/server/src/modules/charges-matcher/__generated__/types.js +7 -0
- package/dist/server/src/modules/charges-matcher/__generated__/types.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/amount-confidence.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/amount-confidence.test.js +218 -0
- package/dist/server/src/modules/charges-matcher/__tests__/amount-confidence.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match-integration.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match-integration.test.js +645 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match-integration.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match.test.js +530 -0
- package/dist/server/src/modules/charges-matcher/__tests__/auto-match.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/business-confidence.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/business-confidence.test.js +143 -0
- package/dist/server/src/modules/charges-matcher/__tests__/business-confidence.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/candidate-filter.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/candidate-filter.test.js +186 -0
- package/dist/server/src/modules/charges-matcher/__tests__/candidate-filter.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/charge-validator.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/charge-validator.test.js +301 -0
- package/dist/server/src/modules/charges-matcher/__tests__/charge-validator.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/currency-confidence.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/currency-confidence.test.js +127 -0
- package/dist/server/src/modules/charges-matcher/__tests__/currency-confidence.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/date-confidence.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/date-confidence.test.js +246 -0
- package/dist/server/src/modules/charges-matcher/__tests__/date-confidence.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-aggregator.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-aggregator.test.js +475 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-aggregator.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-amount.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-amount.test.js +287 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-amount.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-business.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-business.test.js +151 -0
- package/dist/server/src/modules/charges-matcher/__tests__/document-business.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/match-scorer.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/match-scorer.test.js +550 -0
- package/dist/server/src/modules/charges-matcher/__tests__/match-scorer.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/overall-confidence.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/overall-confidence.test.js +410 -0
- package/dist/server/src/modules/charges-matcher/__tests__/overall-confidence.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js +504 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match.test.js +483 -0
- package/dist/server/src/modules/charges-matcher/__tests__/single-match.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-helpers.d.ts +46 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-helpers.js +143 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-helpers.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-infrastructure.spec.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-infrastructure.spec.js +137 -0
- package/dist/server/src/modules/charges-matcher/__tests__/test-infrastructure.spec.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/transaction-aggregator.test.d.ts +1 -0
- package/dist/server/src/modules/charges-matcher/__tests__/transaction-aggregator.test.js +415 -0
- package/dist/server/src/modules/charges-matcher/__tests__/transaction-aggregator.test.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/amount-confidence.helper.d.ts +7 -0
- package/dist/server/src/modules/charges-matcher/helpers/amount-confidence.helper.js +70 -0
- package/dist/server/src/modules/charges-matcher/helpers/amount-confidence.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/business-confidence.helper.d.ts +7 -0
- package/dist/server/src/modules/charges-matcher/helpers/business-confidence.helper.js +19 -0
- package/dist/server/src/modules/charges-matcher/helpers/business-confidence.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/candidate-filter.helper.d.ts +24 -0
- package/dist/server/src/modules/charges-matcher/helpers/candidate-filter.helper.js +45 -0
- package/dist/server/src/modules/charges-matcher/helpers/candidate-filter.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/charge-validator.helper.d.ts +33 -0
- package/dist/server/src/modules/charges-matcher/helpers/charge-validator.helper.js +65 -0
- package/dist/server/src/modules/charges-matcher/helpers/charge-validator.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/currency-confidence.helper.d.ts +7 -0
- package/dist/server/src/modules/charges-matcher/helpers/currency-confidence.helper.js +18 -0
- package/dist/server/src/modules/charges-matcher/helpers/currency-confidence.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/date-confidence.helper.d.ts +7 -0
- package/dist/server/src/modules/charges-matcher/helpers/date-confidence.helper.js +35 -0
- package/dist/server/src/modules/charges-matcher/helpers/date-confidence.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-amount.helper.d.ts +49 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-amount.helper.js +58 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-amount.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-business.helper.d.ts +13 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-business.helper.js +37 -0
- package/dist/server/src/modules/charges-matcher/helpers/document-business.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/helpers/overall-confidence.helper.d.ts +42 -0
- package/dist/server/src/modules/charges-matcher/helpers/overall-confidence.helper.js +77 -0
- package/dist/server/src/modules/charges-matcher/helpers/overall-confidence.helper.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/index.d.ts +3 -0
- package/dist/server/src/modules/charges-matcher/index.js +15 -0
- package/dist/server/src/modules/charges-matcher/index.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/auto-match.provider.d.ts +48 -0
- package/dist/server/src/modules/charges-matcher/providers/auto-match.provider.js +133 -0
- package/dist/server/src/modules/charges-matcher/providers/auto-match.provider.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/charges-matcher.provider.d.ts +38 -0
- package/dist/server/src/modules/charges-matcher/providers/charges-matcher.provider.js +248 -0
- package/dist/server/src/modules/charges-matcher/providers/charges-matcher.provider.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/document-aggregator.d.ts +61 -0
- package/dist/server/src/modules/charges-matcher/providers/document-aggregator.js +153 -0
- package/dist/server/src/modules/charges-matcher/providers/document-aggregator.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/match-scorer.provider.d.ts +25 -0
- package/dist/server/src/modules/charges-matcher/providers/match-scorer.provider.js +114 -0
- package/dist/server/src/modules/charges-matcher/providers/match-scorer.provider.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/single-match.provider.d.ts +39 -0
- package/dist/server/src/modules/charges-matcher/providers/single-match.provider.js +189 -0
- package/dist/server/src/modules/charges-matcher/providers/single-match.provider.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/providers/transaction-aggregator.d.ts +54 -0
- package/dist/server/src/modules/charges-matcher/providers/transaction-aggregator.js +93 -0
- package/dist/server/src/modules/charges-matcher/providers/transaction-aggregator.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/resolvers/auto-match-charges.resolver.d.ts +2 -0
- package/dist/server/src/modules/charges-matcher/resolvers/auto-match-charges.resolver.js +22 -0
- package/dist/server/src/modules/charges-matcher/resolvers/auto-match-charges.resolver.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/resolvers/find-charge-matches.resolver.d.ts +2 -0
- package/dist/server/src/modules/charges-matcher/resolvers/find-charge-matches.resolver.js +24 -0
- package/dist/server/src/modules/charges-matcher/resolvers/find-charge-matches.resolver.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/resolvers/index.d.ts +2 -0
- package/dist/server/src/modules/charges-matcher/resolvers/index.js +11 -0
- package/dist/server/src/modules/charges-matcher/resolvers/index.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/typeDefs/charges-matcher.graphql.d.ts +2 -0
- package/dist/server/src/modules/charges-matcher/typeDefs/charges-matcher.graphql.js +47 -0
- package/dist/server/src/modules/charges-matcher/typeDefs/charges-matcher.graphql.js.map +1 -0
- package/dist/server/src/modules/charges-matcher/types.d.ts +179 -0
- package/dist/server/src/modules/charges-matcher/types.js +14 -0
- package/dist/server/src/modules/charges-matcher/types.js.map +1 -0
- package/dist/server/src/modules/documents/resolvers/document-suggestions.resolver.js +2 -2
- package/dist/server/src/modules/documents/resolvers/document-suggestions.resolver.js.map +1 -1
- package/dist/server/src/modules-app.js +2 -0
- package/dist/server/src/modules-app.js.map +1 -1
- package/dist/server/src/shared/types/index.d.ts +1 -1
- package/package.json +4 -4
- package/src/__generated__/types.ts +87 -0
- package/src/modules/charges-matcher/README.md +279 -0
- package/src/modules/charges-matcher/__generated__/types.ts +71 -0
- package/src/modules/charges-matcher/__tests__/amount-confidence.test.ts +260 -0
- package/src/modules/charges-matcher/__tests__/auto-match-integration.test.ts +714 -0
- package/src/modules/charges-matcher/__tests__/auto-match.test.ts +621 -0
- package/src/modules/charges-matcher/__tests__/business-confidence.test.ts +177 -0
- package/src/modules/charges-matcher/__tests__/candidate-filter.test.ts +238 -0
- package/src/modules/charges-matcher/__tests__/charge-validator.test.ts +374 -0
- package/src/modules/charges-matcher/__tests__/currency-confidence.test.ts +164 -0
- package/src/modules/charges-matcher/__tests__/date-confidence.test.ts +291 -0
- package/src/modules/charges-matcher/__tests__/document-aggregator.test.ts +614 -0
- package/src/modules/charges-matcher/__tests__/document-amount.test.ts +352 -0
- package/src/modules/charges-matcher/__tests__/document-business.test.ts +192 -0
- package/src/modules/charges-matcher/__tests__/match-scorer.test.ts +659 -0
- package/src/modules/charges-matcher/__tests__/overall-confidence.test.ts +502 -0
- package/src/modules/charges-matcher/__tests__/single-match-integration.test.ts +556 -0
- package/src/modules/charges-matcher/__tests__/single-match.test.ts +608 -0
- package/src/modules/charges-matcher/__tests__/test-helpers.ts +174 -0
- package/src/modules/charges-matcher/__tests__/test-infrastructure.spec.ts +177 -0
- package/src/modules/charges-matcher/__tests__/transaction-aggregator.test.ts +547 -0
- package/src/modules/charges-matcher/documentation/README.md +331 -0
- package/src/modules/charges-matcher/documentation/SPEC.md +1503 -0
- package/src/modules/charges-matcher/documentation/TODO.md +799 -0
- package/src/modules/charges-matcher/helpers/amount-confidence.helper.ts +88 -0
- package/src/modules/charges-matcher/helpers/business-confidence.helper.ts +23 -0
- package/src/modules/charges-matcher/helpers/candidate-filter.helper.ts +56 -0
- package/src/modules/charges-matcher/helpers/charge-validator.helper.ts +100 -0
- package/src/modules/charges-matcher/helpers/currency-confidence.helper.ts +22 -0
- package/src/modules/charges-matcher/helpers/date-confidence.helper.ts +41 -0
- package/src/modules/charges-matcher/helpers/document-amount.helper.ts +77 -0
- package/src/modules/charges-matcher/helpers/document-business.helper.ts +54 -0
- package/src/modules/charges-matcher/helpers/overall-confidence.helper.ts +90 -0
- package/src/modules/charges-matcher/index.ts +17 -0
- package/src/modules/charges-matcher/providers/auto-match.provider.ts +176 -0
- package/src/modules/charges-matcher/providers/charges-matcher.provider.ts +322 -0
- package/src/modules/charges-matcher/providers/document-aggregator.ts +211 -0
- package/src/modules/charges-matcher/providers/match-scorer.provider.ts +154 -0
- package/src/modules/charges-matcher/providers/single-match.provider.ts +252 -0
- package/src/modules/charges-matcher/providers/transaction-aggregator.ts +131 -0
- package/src/modules/charges-matcher/resolvers/auto-match-charges.resolver.ts +23 -0
- package/src/modules/charges-matcher/resolvers/find-charge-matches.resolver.ts +25 -0
- package/src/modules/charges-matcher/resolvers/index.ts +12 -0
- package/src/modules/charges-matcher/typeDefs/charges-matcher.graphql.ts +47 -0
- package/src/modules/charges-matcher/types.ts +200 -0
- package/src/modules/documents/resolvers/document-suggestions.resolver.ts +2 -2
- package/src/modules-app.ts +2 -0
- package/src/shared/types/index.ts +1 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { gql } from 'graphql-modules';
|
|
2
|
+
export default gql `
|
|
3
|
+
extend type Query {
|
|
4
|
+
" Find potential matches for a single unmatched charge "
|
|
5
|
+
findChargeMatches(chargeId: UUID!): ChargeMatchesResult! @auth(role: ACCOUNTANT)
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
extend type Mutation {
|
|
9
|
+
" Automatically match all unmatched charges above the confidence threshold "
|
|
10
|
+
autoMatchCharges: AutoMatchChargesResult! @auth(role: ACCOUNTANT)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
" Result of finding matches for a single charge "
|
|
14
|
+
type ChargeMatchesResult {
|
|
15
|
+
" Array of up to 5 matches, ordered by confidence score (highest first) "
|
|
16
|
+
matches: [ChargeMatch!]!
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
" A single charge match with its confidence score "
|
|
20
|
+
type ChargeMatch {
|
|
21
|
+
" UUID of the matched charge "
|
|
22
|
+
chargeId: UUID!
|
|
23
|
+
" Confidence score between 0.00 and 1.00 "
|
|
24
|
+
confidenceScore: Float!
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
" Result of the auto-match operation "
|
|
28
|
+
type AutoMatchChargesResult {
|
|
29
|
+
" Total number of charges that were successfully matched and merged "
|
|
30
|
+
totalMatches: Int!
|
|
31
|
+
" Array of charges that were merged, with their confidence scores "
|
|
32
|
+
mergedCharges: [MergedCharge!]!
|
|
33
|
+
" Array of charge UUIDs that had multiple high-confidence matches and were skipped "
|
|
34
|
+
skippedCharges: [UUID!]!
|
|
35
|
+
" Array of error messages encountered during the operation "
|
|
36
|
+
errors: [String!]!
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
" A charge that was successfully merged during auto-match "
|
|
40
|
+
type MergedCharge {
|
|
41
|
+
" UUID of the deleted/merged-away charge "
|
|
42
|
+
chargeId: UUID!
|
|
43
|
+
" Confidence score that triggered the merge "
|
|
44
|
+
confidenceScore: Float!
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
//# sourceMappingURL=charges-matcher.graphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charges-matcher.graphql.js","sourceRoot":"","sources":["../../../../../../src/modules/charges-matcher/typeDefs/charges-matcher.graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CjB,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type { currency, document_type, IGetAllDocumentsResult } from '../documents/types.js';
|
|
2
|
+
import type { IGetTransactionsByIdsResult } from '../transactions/types.js';
|
|
3
|
+
export * from './__generated__/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Re-export shared types from other modules
|
|
6
|
+
*/
|
|
7
|
+
export type { currency as Currency, document_type as DocumentType, } from '../documents/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Transaction interface matching the database schema
|
|
10
|
+
* Uses the complete type from transactions module
|
|
11
|
+
*/
|
|
12
|
+
export type Transaction = IGetTransactionsByIdsResult;
|
|
13
|
+
/**
|
|
14
|
+
* Document interface matching the database schema
|
|
15
|
+
* Uses the complete type from documents module
|
|
16
|
+
*/
|
|
17
|
+
export type Document = IGetAllDocumentsResult;
|
|
18
|
+
/**
|
|
19
|
+
* Represents a single charge match with its confidence score
|
|
20
|
+
*/
|
|
21
|
+
export interface ChargeMatch {
|
|
22
|
+
/** UUID of the matched charge */
|
|
23
|
+
chargeId: string;
|
|
24
|
+
/** Confidence score between 0.00 and 1.00 (two decimal precision) */
|
|
25
|
+
confidenceScore: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of finding matches for a single charge
|
|
29
|
+
*/
|
|
30
|
+
export interface ChargeMatchesResult {
|
|
31
|
+
/** Array of up to 5 matches, ordered by confidence score (highest first) */
|
|
32
|
+
matches: ChargeMatch[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Represents a charge that was successfully merged during auto-match
|
|
36
|
+
*/
|
|
37
|
+
export interface MergedCharge {
|
|
38
|
+
/** UUID of the deleted/merged-away charge */
|
|
39
|
+
chargeId: string;
|
|
40
|
+
/** Confidence score that triggered the merge (≥0.95) */
|
|
41
|
+
confidenceScore: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Result of the auto-match operation
|
|
45
|
+
*/
|
|
46
|
+
export interface AutoMatchChargesResult {
|
|
47
|
+
/** Total number of charges that were successfully matched and merged */
|
|
48
|
+
totalMatches: number;
|
|
49
|
+
/** Array of charges that were merged, with their confidence scores */
|
|
50
|
+
mergedCharges: MergedCharge[];
|
|
51
|
+
/** Array of charge UUIDs that had multiple high-confidence matches and were skipped */
|
|
52
|
+
skippedCharges: string[];
|
|
53
|
+
/** Array of error messages encountered during the operation */
|
|
54
|
+
errors: string[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Aggregated transaction data for matching purposes
|
|
58
|
+
*/
|
|
59
|
+
export interface AggregatedTransaction {
|
|
60
|
+
/** Sum of all transaction amounts */
|
|
61
|
+
amount: number;
|
|
62
|
+
/** Common currency across all transactions */
|
|
63
|
+
currency: currency;
|
|
64
|
+
/** Single non-null business ID (or null if all are null) */
|
|
65
|
+
businessId: string | null;
|
|
66
|
+
/** Earliest event_date among transactions */
|
|
67
|
+
date: Date;
|
|
68
|
+
/** Earliest debit_date/debit_timestamp (for receipt matching) */
|
|
69
|
+
debitDate: Date | null;
|
|
70
|
+
/** Concatenated source_description values */
|
|
71
|
+
description: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Aggregated document data for matching purposes
|
|
75
|
+
*/
|
|
76
|
+
export interface AggregatedDocument {
|
|
77
|
+
/** Sum of all normalized document amounts */
|
|
78
|
+
amount: number;
|
|
79
|
+
/** Common currency across all documents */
|
|
80
|
+
currency: currency;
|
|
81
|
+
/** Single non-null business ID (or null if all are null) */
|
|
82
|
+
businessId: string | null;
|
|
83
|
+
/** Latest document date */
|
|
84
|
+
date: Date;
|
|
85
|
+
/** Concatenated serial numbers and identifiers */
|
|
86
|
+
description: string;
|
|
87
|
+
/** Document type (for date matching logic) */
|
|
88
|
+
type: document_type;
|
|
89
|
+
/** Whether the business is on the creditor side */
|
|
90
|
+
businessIsCreditor: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Individual confidence scores for different matching factors
|
|
94
|
+
*/
|
|
95
|
+
export interface ConfidenceScores {
|
|
96
|
+
/** Amount confidence (0.0 - 1.0) */
|
|
97
|
+
amount: number;
|
|
98
|
+
/** Currency confidence (0.0 - 1.0) */
|
|
99
|
+
currency: number;
|
|
100
|
+
/** Business confidence (0.0 - 1.0) */
|
|
101
|
+
business: number;
|
|
102
|
+
/** Date confidence (0.0 - 1.0) */
|
|
103
|
+
date: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Complete confidence calculation result
|
|
107
|
+
*/
|
|
108
|
+
export interface ConfidenceResult {
|
|
109
|
+
/** Overall weighted confidence score */
|
|
110
|
+
overall: number;
|
|
111
|
+
/** Individual component scores */
|
|
112
|
+
scores: ConfidenceScores;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Charge classification for matching purposes
|
|
116
|
+
*/
|
|
117
|
+
export declare enum ChargeType {
|
|
118
|
+
/** Charge has transactions but no accounting documents */
|
|
119
|
+
TRANSACTION_ONLY = "TRANSACTION_ONLY",
|
|
120
|
+
/** Charge has accounting documents but no transactions */
|
|
121
|
+
DOCUMENT_ONLY = "DOCUMENT_ONLY",
|
|
122
|
+
/** Charge has both transactions and accounting documents */
|
|
123
|
+
MATCHED = "MATCHED"
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Charge with its associated data for matching
|
|
127
|
+
*/
|
|
128
|
+
export interface ChargeWithData {
|
|
129
|
+
/** Charge UUID */
|
|
130
|
+
chargeId: string;
|
|
131
|
+
/** Owner UUID */
|
|
132
|
+
ownerId: string;
|
|
133
|
+
/** Charge classification */
|
|
134
|
+
type: ChargeType;
|
|
135
|
+
/** Associated transactions (if any) */
|
|
136
|
+
transactions: Transaction[];
|
|
137
|
+
/** Associated documents (if any) */
|
|
138
|
+
documents: Document[];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Candidate charge for matching with aggregated data
|
|
142
|
+
*/
|
|
143
|
+
export interface MatchCandidate {
|
|
144
|
+
/** Charge UUID */
|
|
145
|
+
chargeId: string;
|
|
146
|
+
/** Aggregated transaction data (if transaction charge) */
|
|
147
|
+
transactionData?: AggregatedTransaction;
|
|
148
|
+
/** Aggregated document data (if document charge) */
|
|
149
|
+
documentData?: AggregatedDocument;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Match score result with confidence and components
|
|
153
|
+
*/
|
|
154
|
+
export interface MatchScore {
|
|
155
|
+
/** Charge ID being scored */
|
|
156
|
+
chargeId: string;
|
|
157
|
+
/** Overall confidence score (0.0 - 1.0) */
|
|
158
|
+
confidenceScore: number;
|
|
159
|
+
/** Individual confidence component scores */
|
|
160
|
+
components: ConfidenceScores;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Transaction charge for matching
|
|
164
|
+
*/
|
|
165
|
+
export interface TransactionCharge {
|
|
166
|
+
/** Charge UUID */
|
|
167
|
+
chargeId: string;
|
|
168
|
+
/** Array of transactions in the charge */
|
|
169
|
+
transactions: Transaction[];
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Document charge for matching
|
|
173
|
+
*/
|
|
174
|
+
export interface DocumentCharge {
|
|
175
|
+
/** Charge UUID */
|
|
176
|
+
chargeId: string;
|
|
177
|
+
/** Array of documents in the charge */
|
|
178
|
+
documents: Document[];
|
|
179
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './__generated__/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Charge classification for matching purposes
|
|
4
|
+
*/
|
|
5
|
+
export var ChargeType;
|
|
6
|
+
(function (ChargeType) {
|
|
7
|
+
/** Charge has transactions but no accounting documents */
|
|
8
|
+
ChargeType["TRANSACTION_ONLY"] = "TRANSACTION_ONLY";
|
|
9
|
+
/** Charge has accounting documents but no transactions */
|
|
10
|
+
ChargeType["DOCUMENT_ONLY"] = "DOCUMENT_ONLY";
|
|
11
|
+
/** Charge has both transactions and accounting documents */
|
|
12
|
+
ChargeType["MATCHED"] = "MATCHED";
|
|
13
|
+
})(ChargeType || (ChargeType = {}));
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/charges-matcher/types.ts"],"names":[],"mappings":"AAGA,cAAc,0BAA0B,CAAC;AA8HzC;;GAEG;AACH,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,0DAA0D;IAC1D,mDAAqC,CAAA;IACrC,0DAA0D;IAC1D,6CAA+B,CAAA;IAC/B,4DAA4D;IAC5D,iCAAmB,CAAA;AACrB,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB"}
|
|
@@ -23,14 +23,14 @@ const missingInfoSuggestions = async (RawDocument, _, { injector }) => {
|
|
|
23
23
|
if (charge?.transactions_event_amount && charge?.transactions_currency) {
|
|
24
24
|
// use transactions info, if exists
|
|
25
25
|
response.amount = {
|
|
26
|
-
amount: charge.transactions_event_amount,
|
|
26
|
+
amount: Number(charge.transactions_event_amount),
|
|
27
27
|
currency: formatCurrency(charge.transactions_currency),
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
else if (charge?.documents_event_amount && charge?.documents_currency) {
|
|
31
31
|
// Use parallel documents (if exists) as documents_event_amount is based on invoices OR receipts
|
|
32
32
|
response.amount = {
|
|
33
|
-
amount:
|
|
33
|
+
amount: charge.documents_event_amount,
|
|
34
34
|
currency: formatCurrency(charge.documents_currency),
|
|
35
35
|
};
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-suggestions.resolver.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/resolvers/document-suggestions.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sEAAsE,CAAC;AAWjH,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAMxE,MAAM,sBAAsB,GAIxB,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzC,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,QAAQ;aAC1B,GAAG,CAAC,eAAe,CAAC;aACpB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,EAAE,yBAAyB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,yBAAyB,IAAI,MAAM,EAAE,qBAAqB,EAAE,CAAC;YACvE,mCAAmC;YACnC,QAAQ,CAAC,MAAM,GAAG;gBAChB,MAAM,EAAE,MAAM,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"document-suggestions.resolver.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/resolvers/document-suggestions.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ import { GmailServiceProvider } from './modules/app-providers/gmail-listener/gma
|
|
|
20
20
|
import { PubsubServiceProvider } from './modules/app-providers/gmail-listener/pubsub-service.provider.js';
|
|
21
21
|
import { GreenInvoiceClientProvider } from './modules/app-providers/green-invoice-client.js';
|
|
22
22
|
import { businessTripsModule } from './modules/business-trips/index.js';
|
|
23
|
+
import { chargesMatcherModule } from './modules/charges-matcher/index.js';
|
|
23
24
|
import { chargesModule } from './modules/charges/index.js';
|
|
24
25
|
import { chartsModule } from './modules/charts/index.js';
|
|
25
26
|
import { commonModule } from './modules/common/index.js';
|
|
@@ -45,6 +46,7 @@ export async function createGraphQLApp(env) {
|
|
|
45
46
|
accountantApprovalModule,
|
|
46
47
|
businessTripsModule,
|
|
47
48
|
chargesModule,
|
|
49
|
+
chargesMatcherModule,
|
|
48
50
|
cornJobsModule,
|
|
49
51
|
depreciationModule,
|
|
50
52
|
documentsModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules-app.js","sourceRoot":"","sources":["../../../src/modules-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules-app.js","sourceRoot":"","sources":["../../../src/modules-app.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@accounter/server",
|
|
3
|
-
"version": "0.0.8-alpha-
|
|
3
|
+
"version": "0.0.8-alpha-20251102213150-c9d936f545d5351df0dc5326c2623266f1ad1f46",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@accounter/pcn874-generator": "workspace:^",
|
|
23
23
|
"@accounter/shaam-uniform-format-generator": "workspace:^",
|
|
24
24
|
"@accounter/shaam6111-generator": "workspace:^",
|
|
25
|
-
"@ai-sdk/anthropic": "2.0.
|
|
25
|
+
"@ai-sdk/anthropic": "2.0.40",
|
|
26
26
|
"@envelop/generic-auth": "10.0.1",
|
|
27
27
|
"@envelop/graphql-modules": "8.0.0",
|
|
28
28
|
"@google-cloud/pubsub": "5.2.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@pgtyped/cli": "2.4.3",
|
|
32
32
|
"@pgtyped/runtime": "2.4.2",
|
|
33
33
|
"@whatwg-node/fetch": "0.10.11",
|
|
34
|
-
"ai": "5.0.
|
|
34
|
+
"ai": "5.0.86",
|
|
35
35
|
"basic-auth": "2.0.1",
|
|
36
36
|
"bcrypt": "6.0.0",
|
|
37
37
|
"cloudinary": "2.8.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"dotenv": "17.2.3",
|
|
41
41
|
"dotenv-cli": "11.0.0",
|
|
42
42
|
"googleapis": "164.1.0",
|
|
43
|
-
"graphql": "16.
|
|
43
|
+
"graphql": "16.12.0",
|
|
44
44
|
"graphql-modules": "3.0.0",
|
|
45
45
|
"graphql-scalars": "1.25.0",
|
|
46
46
|
"graphql-yoga": "5.16.0",
|
|
@@ -323,6 +323,19 @@ export type AuditOpinionType =
|
|
|
323
323
|
/** Unqualified opinion with other emphases (בנוסח אחיד עם הפניות תשומת לב אחרת) */
|
|
324
324
|
| 'UNQUALIFIED_WITH_OTHER_EMPHASES';
|
|
325
325
|
|
|
326
|
+
/** Result of the auto-match operation */
|
|
327
|
+
export type AutoMatchChargesResult = {
|
|
328
|
+
readonly __typename?: 'AutoMatchChargesResult';
|
|
329
|
+
/** Array of error messages encountered during the operation */
|
|
330
|
+
readonly errors: ReadonlyArray<Scalars['String']['output']>;
|
|
331
|
+
/** Array of charges that were merged, with their confidence scores */
|
|
332
|
+
readonly mergedCharges: ReadonlyArray<MergedCharge>;
|
|
333
|
+
/** Array of charge UUIDs that had multiple high-confidence matches and were skipped */
|
|
334
|
+
readonly skippedCharges: ReadonlyArray<Scalars['UUID']['output']>;
|
|
335
|
+
/** Total number of charges that were successfully matched and merged */
|
|
336
|
+
readonly totalMatches: Scalars['Int']['output'];
|
|
337
|
+
};
|
|
338
|
+
|
|
326
339
|
/** transactions for balance report */
|
|
327
340
|
export type BalanceTransactions = {
|
|
328
341
|
readonly __typename?: 'BalanceTransactions';
|
|
@@ -860,6 +873,22 @@ export type ChargeFilterType =
|
|
|
860
873
|
| 'EXPENSE'
|
|
861
874
|
| 'INCOME';
|
|
862
875
|
|
|
876
|
+
/** A single charge match with its confidence score */
|
|
877
|
+
export type ChargeMatch = {
|
|
878
|
+
readonly __typename?: 'ChargeMatch';
|
|
879
|
+
/** UUID of the matched charge */
|
|
880
|
+
readonly chargeId: Scalars['UUID']['output'];
|
|
881
|
+
/** Confidence score between 0.00 and 1.00 */
|
|
882
|
+
readonly confidenceScore: Scalars['Float']['output'];
|
|
883
|
+
};
|
|
884
|
+
|
|
885
|
+
/** Result of finding matches for a single charge */
|
|
886
|
+
export type ChargeMatchesResult = {
|
|
887
|
+
readonly __typename?: 'ChargeMatchesResult';
|
|
888
|
+
/** Array of up to 5 matches, ordered by confidence score (highest first) */
|
|
889
|
+
readonly matches: ReadonlyArray<ChargeMatch>;
|
|
890
|
+
};
|
|
891
|
+
|
|
863
892
|
/** represent charge's metadata */
|
|
864
893
|
export type ChargeMetadata = {
|
|
865
894
|
readonly __typename?: 'ChargeMetadata';
|
|
@@ -2549,6 +2578,15 @@ export type MergeChargesByTransactionReferenceResult = {
|
|
|
2549
2578
|
readonly success: Scalars['Boolean']['output'];
|
|
2550
2579
|
};
|
|
2551
2580
|
|
|
2581
|
+
/** A charge that was successfully merged during auto-match */
|
|
2582
|
+
export type MergedCharge = {
|
|
2583
|
+
readonly __typename?: 'MergedCharge';
|
|
2584
|
+
/** UUID of the deleted/merged-away charge */
|
|
2585
|
+
readonly chargeId: Scalars['UUID']['output'];
|
|
2586
|
+
/** Confidence score that triggered the merge */
|
|
2587
|
+
readonly confidenceScore: Scalars['Float']['output'];
|
|
2588
|
+
};
|
|
2589
|
+
|
|
2552
2590
|
/** a misc expense */
|
|
2553
2591
|
export type MiscExpense = {
|
|
2554
2592
|
readonly __typename?: 'MiscExpense';
|
|
@@ -2609,6 +2647,8 @@ export type Mutation = {
|
|
|
2609
2647
|
readonly addDeelContract: Scalars['Boolean']['output'];
|
|
2610
2648
|
readonly addSortCode: Scalars['Boolean']['output'];
|
|
2611
2649
|
readonly addTag: Scalars['Boolean']['output'];
|
|
2650
|
+
/** Automatically match all unmatched charges above the confidence threshold */
|
|
2651
|
+
readonly autoMatchCharges: AutoMatchChargesResult;
|
|
2612
2652
|
readonly batchGenerateBusinessesOutOfTransactions: ReadonlyArray<Business>;
|
|
2613
2653
|
readonly batchUpdateCharges: BatchUpdateChargesResult;
|
|
2614
2654
|
readonly batchUploadDocuments: ReadonlyArray<UploadDocumentResult>;
|
|
@@ -3570,6 +3610,8 @@ export type Query = {
|
|
|
3570
3610
|
/** get exchage rates by date */
|
|
3571
3611
|
readonly exchangeRates?: Maybe<ExchangeRates>;
|
|
3572
3612
|
readonly financialEntity: FinancialEntity;
|
|
3613
|
+
/** Find potential matches for a single unmatched charge */
|
|
3614
|
+
readonly findChargeMatches: ChargeMatchesResult;
|
|
3573
3615
|
readonly gmailListenerStatus: Scalars['Boolean']['output'];
|
|
3574
3616
|
readonly greenInvoiceClient: GreenInvoiceClient;
|
|
3575
3617
|
readonly incomeExpenseChart: IncomeExpenseChart;
|
|
@@ -3816,6 +3858,12 @@ export type QueryFinancialEntityArgs = {
|
|
|
3816
3858
|
};
|
|
3817
3859
|
|
|
3818
3860
|
|
|
3861
|
+
/** query root */
|
|
3862
|
+
export type QueryFindChargeMatchesArgs = {
|
|
3863
|
+
chargeId: Scalars['UUID']['input'];
|
|
3864
|
+
};
|
|
3865
|
+
|
|
3866
|
+
|
|
3819
3867
|
/** query root */
|
|
3820
3868
|
export type QueryGreenInvoiceClientArgs = {
|
|
3821
3869
|
clientId: Scalars['UUID']['input'];
|
|
@@ -5060,6 +5108,7 @@ export type ResolversTypes = {
|
|
|
5060
5108
|
AnnualId: ResolverTypeWrapper<AnnualId>;
|
|
5061
5109
|
AnnualIdInput: AnnualIdInput;
|
|
5062
5110
|
AuditOpinionType: AuditOpinionType;
|
|
5111
|
+
AutoMatchChargesResult: ResolverTypeWrapper<AutoMatchChargesResult>;
|
|
5063
5112
|
BalanceTransactions: ResolverTypeWrapper<IGetNormalizedBalanceTransactionsResult>;
|
|
5064
5113
|
BankDeposit: ResolverTypeWrapper<Omit<BankDeposit, 'transactions'> & { transactions: ReadonlyArray<ResolversTypes['Transaction']> }>;
|
|
5065
5114
|
BankDepositCharge: ResolverTypeWrapper<IGetChargesByIdsResult>;
|
|
@@ -5099,6 +5148,8 @@ export type ResolversTypes = {
|
|
|
5099
5148
|
Charge: ResolverTypeWrapper<ResolversInterfaceTypes<ResolversTypes>['Charge']>;
|
|
5100
5149
|
ChargeFilter: ChargeFilter;
|
|
5101
5150
|
ChargeFilterType: ChargeFilterType;
|
|
5151
|
+
ChargeMatch: ResolverTypeWrapper<ChargeMatch>;
|
|
5152
|
+
ChargeMatchesResult: ResolverTypeWrapper<ChargeMatchesResult>;
|
|
5102
5153
|
ChargeMetadata: ResolverTypeWrapper<IGetChargesByIdsResult>;
|
|
5103
5154
|
ChargeSortBy: ChargeSortBy;
|
|
5104
5155
|
ChargeSortByField: ChargeSortByField;
|
|
@@ -5226,6 +5277,7 @@ export type ResolversTypes = {
|
|
|
5226
5277
|
MergeChargeResult: ResolverTypeWrapper<ResolversUnionTypes<ResolversTypes>['MergeChargeResult']>;
|
|
5227
5278
|
MergeChargeSuccessfulResult: ResolverTypeWrapper<Omit<MergeChargeSuccessfulResult, 'charge'> & { charge: ResolversTypes['Charge'] }>;
|
|
5228
5279
|
MergeChargesByTransactionReferenceResult: ResolverTypeWrapper<Omit<MergeChargesByTransactionReferenceResult, 'charges'> & { charges?: Maybe<ReadonlyArray<ResolversTypes['Charge']>> }>;
|
|
5280
|
+
MergedCharge: ResolverTypeWrapper<MergedCharge>;
|
|
5229
5281
|
MiscExpense: ResolverTypeWrapper<IGetExpensesByChargeIdsResult>;
|
|
5230
5282
|
MissingChargeInfo: MissingChargeInfo;
|
|
5231
5283
|
MonthlyVatCharge: ResolverTypeWrapper<IGetChargesByIdsResult>;
|
|
@@ -5350,6 +5402,7 @@ export type ResolversParentTypes = {
|
|
|
5350
5402
|
AdminContextInput: AdminContextInput;
|
|
5351
5403
|
AnnualId: AnnualId;
|
|
5352
5404
|
AnnualIdInput: AnnualIdInput;
|
|
5405
|
+
AutoMatchChargesResult: AutoMatchChargesResult;
|
|
5353
5406
|
BalanceTransactions: IGetNormalizedBalanceTransactionsResult;
|
|
5354
5407
|
BankDeposit: Omit<BankDeposit, 'transactions'> & { transactions: ReadonlyArray<ResolversParentTypes['Transaction']> };
|
|
5355
5408
|
BankDepositCharge: IGetChargesByIdsResult;
|
|
@@ -5384,6 +5437,8 @@ export type ResolversParentTypes = {
|
|
|
5384
5437
|
CategorizeIntoExistingBusinessTripExpenseInput: CategorizeIntoExistingBusinessTripExpenseInput;
|
|
5385
5438
|
Charge: ResolversInterfaceTypes<ResolversParentTypes>['Charge'];
|
|
5386
5439
|
ChargeFilter: ChargeFilter;
|
|
5440
|
+
ChargeMatch: ChargeMatch;
|
|
5441
|
+
ChargeMatchesResult: ChargeMatchesResult;
|
|
5387
5442
|
ChargeMetadata: IGetChargesByIdsResult;
|
|
5388
5443
|
ChargeSortBy: ChargeSortBy;
|
|
5389
5444
|
ChargeSuggestions: Omit<ChargeSuggestions, 'tags'> & { tags: ReadonlyArray<ResolversParentTypes['Tag']> };
|
|
@@ -5488,6 +5543,7 @@ export type ResolversParentTypes = {
|
|
|
5488
5543
|
MergeChargeResult: ResolversUnionTypes<ResolversParentTypes>['MergeChargeResult'];
|
|
5489
5544
|
MergeChargeSuccessfulResult: Omit<MergeChargeSuccessfulResult, 'charge'> & { charge: ResolversParentTypes['Charge'] };
|
|
5490
5545
|
MergeChargesByTransactionReferenceResult: Omit<MergeChargesByTransactionReferenceResult, 'charges'> & { charges?: Maybe<ReadonlyArray<ResolversParentTypes['Charge']>> };
|
|
5546
|
+
MergedCharge: MergedCharge;
|
|
5491
5547
|
MiscExpense: IGetExpensesByChargeIdsResult;
|
|
5492
5548
|
MonthlyVatCharge: IGetChargesByIdsResult;
|
|
5493
5549
|
Mutation: {};
|
|
@@ -5695,6 +5751,14 @@ export type AnnualIdResolvers<ContextType = GraphQLModules.Context, ParentType e
|
|
|
5695
5751
|
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
5696
5752
|
};
|
|
5697
5753
|
|
|
5754
|
+
export type AutoMatchChargesResultResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['AutoMatchChargesResult'] = ResolversParentTypes['AutoMatchChargesResult']> = {
|
|
5755
|
+
errors?: Resolver<ReadonlyArray<ResolversTypes['String']>, ParentType, ContextType>;
|
|
5756
|
+
mergedCharges?: Resolver<ReadonlyArray<ResolversTypes['MergedCharge']>, ParentType, ContextType>;
|
|
5757
|
+
skippedCharges?: Resolver<ReadonlyArray<ResolversTypes['UUID']>, ParentType, ContextType>;
|
|
5758
|
+
totalMatches?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
|
|
5759
|
+
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
5760
|
+
};
|
|
5761
|
+
|
|
5698
5762
|
export type BalanceTransactionsResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['BalanceTransactions'] = ResolversParentTypes['BalanceTransactions']> = {
|
|
5699
5763
|
amount?: Resolver<ResolversTypes['FinancialAmount'], ParentType, ContextType>;
|
|
5700
5764
|
amountUsd?: Resolver<ResolversTypes['FinancialAmount'], ParentType, ContextType>;
|
|
@@ -6043,6 +6107,17 @@ export type ChargeResolvers<ContextType = GraphQLModules.Context, ParentType ext
|
|
|
6043
6107
|
yearsOfRelevance?: Resolver<Maybe<ReadonlyArray<ResolversTypes['YearOfRelevance']>>, ParentType, ContextType>;
|
|
6044
6108
|
};
|
|
6045
6109
|
|
|
6110
|
+
export type ChargeMatchResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['ChargeMatch'] = ResolversParentTypes['ChargeMatch']> = {
|
|
6111
|
+
chargeId?: Resolver<ResolversTypes['UUID'], ParentType, ContextType>;
|
|
6112
|
+
confidenceScore?: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
6113
|
+
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
6114
|
+
};
|
|
6115
|
+
|
|
6116
|
+
export type ChargeMatchesResultResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['ChargeMatchesResult'] = ResolversParentTypes['ChargeMatchesResult']> = {
|
|
6117
|
+
matches?: Resolver<ReadonlyArray<ResolversTypes['ChargeMatch']>, ParentType, ContextType>;
|
|
6118
|
+
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
6119
|
+
};
|
|
6120
|
+
|
|
6046
6121
|
export type ChargeMetadataResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['ChargeMetadata'] = ResolversParentTypes['ChargeMetadata']> = {
|
|
6047
6122
|
createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
|
|
6048
6123
|
documentsCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
|
|
@@ -7000,6 +7075,12 @@ export type MergeChargesByTransactionReferenceResultResolvers<ContextType = Grap
|
|
|
7000
7075
|
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
7001
7076
|
};
|
|
7002
7077
|
|
|
7078
|
+
export type MergedChargeResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['MergedCharge'] = ResolversParentTypes['MergedCharge']> = {
|
|
7079
|
+
chargeId?: Resolver<ResolversTypes['UUID'], ParentType, ContextType>;
|
|
7080
|
+
confidenceScore?: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
7081
|
+
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
|
7082
|
+
};
|
|
7083
|
+
|
|
7003
7084
|
export type MiscExpenseResolvers<ContextType = GraphQLModules.Context, ParentType extends ResolversParentTypes['MiscExpense'] = ResolversParentTypes['MiscExpense']> = {
|
|
7004
7085
|
amount?: Resolver<ResolversTypes['FinancialAmount'], ParentType, ContextType>;
|
|
7005
7086
|
charge?: Resolver<ResolversTypes['Charge'], ParentType, ContextType>;
|
|
@@ -7056,6 +7137,7 @@ export type MutationResolvers<ContextType = GraphQLModules.Context, ParentType e
|
|
|
7056
7137
|
addDeelContract?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType, RequireFields<MutationAddDeelContractArgs, 'businessId' | 'contractId' | 'contractStartDate' | 'contractorId' | 'contractorName'>>;
|
|
7057
7138
|
addSortCode?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType, RequireFields<MutationAddSortCodeArgs, 'key' | 'name'>>;
|
|
7058
7139
|
addTag?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType, RequireFields<MutationAddTagArgs, 'name'>>;
|
|
7140
|
+
autoMatchCharges?: Resolver<ResolversTypes['AutoMatchChargesResult'], ParentType, ContextType>;
|
|
7059
7141
|
batchGenerateBusinessesOutOfTransactions?: Resolver<ReadonlyArray<ResolversTypes['Business']>, ParentType, ContextType>;
|
|
7060
7142
|
batchUpdateCharges?: Resolver<ResolversTypes['BatchUpdateChargesResult'], ParentType, ContextType, RequireFields<MutationBatchUpdateChargesArgs, 'chargeIds' | 'fields'>>;
|
|
7061
7143
|
batchUploadDocuments?: Resolver<ReadonlyArray<ResolversTypes['UploadDocumentResult']>, ParentType, ContextType, RequireFields<MutationBatchUploadDocumentsArgs, 'documents'>>;
|
|
@@ -7339,6 +7421,7 @@ export type QueryResolvers<ContextType = GraphQLModules.Context, ParentType exte
|
|
|
7339
7421
|
employeesByEmployerId?: Resolver<ReadonlyArray<ResolversTypes['Employee']>, ParentType, ContextType, RequireFields<QueryEmployeesByEmployerIdArgs, 'employerId'>>;
|
|
7340
7422
|
exchangeRates?: Resolver<Maybe<ResolversTypes['ExchangeRates']>, ParentType, ContextType, Partial<QueryExchangeRatesArgs>>;
|
|
7341
7423
|
financialEntity?: Resolver<ResolversTypes['FinancialEntity'], ParentType, ContextType, RequireFields<QueryFinancialEntityArgs, 'id'>>;
|
|
7424
|
+
findChargeMatches?: Resolver<ResolversTypes['ChargeMatchesResult'], ParentType, ContextType, RequireFields<QueryFindChargeMatchesArgs, 'chargeId'>>;
|
|
7342
7425
|
gmailListenerStatus?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
|
|
7343
7426
|
greenInvoiceClient?: Resolver<ResolversTypes['GreenInvoiceClient'], ParentType, ContextType, RequireFields<QueryGreenInvoiceClientArgs, 'clientId'>>;
|
|
7344
7427
|
incomeExpenseChart?: Resolver<ResolversTypes['IncomeExpenseChart'], ParentType, ContextType, RequireFields<QueryIncomeExpenseChartArgs, 'filters'>>;
|
|
@@ -7880,6 +7963,7 @@ export type Resolvers<ContextType = GraphQLModules.Context> = {
|
|
|
7880
7963
|
AdminBusiness?: AdminBusinessResolvers<ContextType>;
|
|
7881
7964
|
AdminContext?: AdminContextResolvers<ContextType>;
|
|
7882
7965
|
AnnualId?: AnnualIdResolvers<ContextType>;
|
|
7966
|
+
AutoMatchChargesResult?: AutoMatchChargesResultResolvers<ContextType>;
|
|
7883
7967
|
BalanceTransactions?: BalanceTransactionsResolvers<ContextType>;
|
|
7884
7968
|
BankDeposit?: BankDepositResolvers<ContextType>;
|
|
7885
7969
|
BankDepositCharge?: BankDepositChargeResolvers<ContextType>;
|
|
@@ -7907,6 +7991,8 @@ export type Resolvers<ContextType = GraphQLModules.Context> = {
|
|
|
7907
7991
|
BusinessTripTravelAndSubsistenceExpense?: BusinessTripTravelAndSubsistenceExpenseResolvers<ContextType>;
|
|
7908
7992
|
CardFinancialAccount?: CardFinancialAccountResolvers<ContextType>;
|
|
7909
7993
|
Charge?: ChargeResolvers<ContextType>;
|
|
7994
|
+
ChargeMatch?: ChargeMatchResolvers<ContextType>;
|
|
7995
|
+
ChargeMatchesResult?: ChargeMatchesResultResolvers<ContextType>;
|
|
7910
7996
|
ChargeMetadata?: ChargeMetadataResolvers<ContextType>;
|
|
7911
7997
|
ChargeSortByField?: ChargeSortByFieldResolvers;
|
|
7912
7998
|
ChargeSuggestions?: ChargeSuggestionsResolvers<ContextType>;
|
|
@@ -7989,6 +8075,7 @@ export type Resolvers<ContextType = GraphQLModules.Context> = {
|
|
|
7989
8075
|
MergeChargeResult?: MergeChargeResultResolvers<ContextType>;
|
|
7990
8076
|
MergeChargeSuccessfulResult?: MergeChargeSuccessfulResultResolvers<ContextType>;
|
|
7991
8077
|
MergeChargesByTransactionReferenceResult?: MergeChargesByTransactionReferenceResultResolvers<ContextType>;
|
|
8078
|
+
MergedCharge?: MergedChargeResolvers<ContextType>;
|
|
7992
8079
|
MiscExpense?: MiscExpenseResolvers<ContextType>;
|
|
7993
8080
|
MissingChargeInfo?: MissingChargeInfoResolvers;
|
|
7994
8081
|
MonthlyVatCharge?: MonthlyVatChargeResolvers<ContextType>;
|