@accounter/server 0.0.9-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541 → 0.0.9-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @accounter/server
2
2
 
3
- ## 0.0.9-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541
3
+ ## 0.0.9-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59
4
4
 
5
5
  ### Patch Changes
6
6
 
@@ -201,6 +201,18 @@
201
201
  - Updated dependency [`zod@4.3.4` ↗︎](https://www.npmjs.com/package/zod/v/4.3.4) (from `4.3.2`, in
202
202
  `dependencies`)
203
203
 
204
+ - [#2879](https://github.com/Urigo/accounter-fullstack/pull/2879)
205
+ [`486eaa1`](https://github.com/Urigo/accounter-fullstack/commit/486eaa16d72d059ac2740e088fe09c6ea0e283a7)
206
+ Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
207
+ - Updated dependency [`ai@6.0.6` ↗︎](https://www.npmjs.com/package/ai/v/6.0.6) (from `6.0.5`, in
208
+ `dependencies`)
209
+
210
+ - [#2881](https://github.com/Urigo/accounter-fullstack/pull/2881)
211
+ [`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa)
212
+ Thanks [@renovate](https://github.com/apps/renovate)! - dependencies updates:
213
+ - Updated dependency [`zod@4.3.5` ↗︎](https://www.npmjs.com/package/zod/v/4.3.5) (from `4.3.4`, in
214
+ `dependencies`)
215
+
204
216
  - [#2851](https://github.com/Urigo/accounter-fullstack/pull/2851)
205
217
  [`e1b8941`](https://github.com/Urigo/accounter-fullstack/commit/e1b8941948cc947a25dd85cd60a67a95a42021bd)
206
218
  Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **Duplicate Contract Feature**:
@@ -214,7 +226,7 @@
214
226
  where it might be empty or undefined.
215
227
 
216
228
  - [#2884](https://github.com/Urigo/accounter-fullstack/pull/2884)
217
- [`0827494`](https://github.com/Urigo/accounter-fullstack/commit/0827494e597ab1c75ea9146a53f1b084291d7541)
229
+ [`8c87187`](https://github.com/Urigo/accounter-fullstack/commit/8c871871d3ebc99c93b12cd45f22a6e082536f56)
218
230
  Thanks [@gilgardosh](https://github.com/gilgardosh)! - - **New `createRemarks` Helper Function**:
219
231
  A new utility function, `createRemarks`, has been introduced to standardize the generation of
220
232
  document remarks, ensuring consistent formatting for purchase orders and existing contract
@@ -581,23 +593,26 @@
581
593
  [`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
582
594
  [`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
583
595
  [`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
596
+ [`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
584
597
  [`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
585
598
  [`6a9926c`](https://github.com/Urigo/accounter-fullstack/commit/6a9926c3948fa736e2c52ce93207b4f35e28f931),
586
599
  [`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a),
587
600
  [`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
588
601
  [`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
589
602
  [`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
603
+ [`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
590
604
  [`ef68321`](https://github.com/Urigo/accounter-fullstack/commit/ef68321608d60a7208e82a2c413f27beb502e3cc),
591
605
  [`6a9926c`](https://github.com/Urigo/accounter-fullstack/commit/6a9926c3948fa736e2c52ce93207b4f35e28f931),
592
606
  [`ca5e62b`](https://github.com/Urigo/accounter-fullstack/commit/ca5e62b91faaf33c99ac178575304797150efe1a),
593
607
  [`73b11ba`](https://github.com/Urigo/accounter-fullstack/commit/73b11ba1fd676a21b4ba44fe99e2bfd181e513dc),
594
608
  [`eea8a89`](https://github.com/Urigo/accounter-fullstack/commit/eea8a89638a3893814fd9a341e0080922fc703a1),
595
609
  [`1c209c8`](https://github.com/Urigo/accounter-fullstack/commit/1c209c8a6045bef747039bbff3780812c6b8678f),
610
+ [`bc3ab26`](https://github.com/Urigo/accounter-fullstack/commit/bc3ab260704b677363561ef1c9403eac704a29aa),
596
611
  [`c7d6f21`](https://github.com/Urigo/accounter-fullstack/commit/c7d6f21ed62658159b1323334501daca03c8d3e5)]:
597
- - @accounter/green-invoice-graphql@0.8.3-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541
598
- - @accounter/pcn874-generator@0.6.4-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541
599
- - @accounter/shaam-uniform-format-generator@0.2.3-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541
600
- - @accounter/shaam6111-generator@0.1.5-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541
612
+ - @accounter/green-invoice-graphql@0.8.3-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59
613
+ - @accounter/pcn874-generator@0.6.4-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59
614
+ - @accounter/shaam-uniform-format-generator@0.2.3-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59
615
+ - @accounter/shaam6111-generator@0.1.5-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59
601
616
 
602
617
  ## 0.0.8
603
618
 
@@ -4,8 +4,8 @@ import type { GetMeshOptions } from '@graphql-mesh/runtime';
4
4
  import type { YamlConfig } from '@graphql-mesh/types';
5
5
  import { MeshHTTPHandler } from '@graphql-mesh/http';
6
6
  import { type ExecuteMeshFn, type SubscribeMeshFn, type MeshContext as BaseMeshContext, type MeshInstance } from '@graphql-mesh/runtime';
7
- import type { GreenInvoiceNewTypes } from './sources/GreenInvoiceNew/types';
8
7
  import type { GreenInvoiceTypes } from './sources/GreenInvoice/types';
8
+ import type { GreenInvoiceNewTypes } from './sources/GreenInvoiceNew/types';
9
9
  export type Maybe<T> = T | null;
10
10
  export type InputMaybe<T> = Maybe<T>;
11
11
  export type Exact<T extends {
@@ -1,16 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { Currency, DocumentType } from '../../shared/enums.js';
3
3
  declare const documentDataSchema: z.ZodObject<{
4
- type: z.ZodNullable<z.ZodEnum<typeof DocumentType>>;
5
- issuer: z.ZodNullable<z.ZodString>;
6
- recipient: z.ZodNullable<z.ZodString>;
7
- fullAmount: z.ZodNullable<z.ZodNumber>;
8
- currency: z.ZodNullable<z.ZodEnum<typeof Currency>>;
9
- vatAmount: z.ZodNullable<z.ZodNumber>;
10
- date: z.ZodNullable<z.ZodString>;
11
- referenceCode: z.ZodNullable<z.ZodString>;
4
+ type: z.ZodOptional<z.ZodEnum<typeof DocumentType>>;
5
+ issuer: z.ZodOptional<z.ZodString>;
6
+ recipient: z.ZodOptional<z.ZodString>;
7
+ fullAmount: z.ZodOptional<z.ZodNumber>;
8
+ currency: z.ZodOptional<z.ZodEnum<typeof Currency>>;
9
+ vatAmount: z.ZodOptional<z.ZodNumber>;
10
+ date: z.ZodOptional<z.ZodString>;
11
+ referenceCode: z.ZodOptional<z.ZodString>;
12
12
  allocationNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
- description: z.ZodNullable<z.ZodString>;
13
+ description: z.ZodOptional<z.ZodString>;
14
14
  }, z.core.$strip>;
15
15
  type DocumentData = z.infer<typeof documentDataSchema>;
16
16
  export declare class AnthropicProvider {
@@ -6,29 +6,29 @@ import { z } from 'zod';
6
6
  import { anthropic } from '@ai-sdk/anthropic';
7
7
  import { Currency, DocumentType } from '../../shared/enums.js';
8
8
  const documentDataSchema = z.object({
9
- type: z.enum(DocumentType).nullable().describe('The type of financial document'),
10
- issuer: z.string().nullable().describe('Legal name of the organization that issued the document'),
9
+ type: z.enum(DocumentType).optional().describe('The type of financial document'),
10
+ issuer: z.string().optional().describe('Legal name of the organization that issued the document'),
11
11
  recipient: z
12
12
  .string()
13
- .nullable()
13
+ .optional()
14
14
  .describe('Legal name and details of the entity to whom the document is addressed'),
15
15
  fullAmount: z
16
16
  .number()
17
- .nullable()
17
+ .optional()
18
18
  .describe('Total monetary amount including taxes and all charges'),
19
- currency: z.enum(Currency).nullable().describe('ISO 4217 currency code'),
19
+ currency: z.enum(Currency).optional().describe('ISO 4217 currency code'),
20
20
  vatAmount: z
21
21
  .number()
22
- .nullable()
22
+ .optional()
23
23
  .describe('Value Added Tax amount if separately specified on the document'),
24
24
  date: z
25
25
  .string()
26
26
  .regex(/^\d{4}-\d{2}-\d{2}$/)
27
- .nullable()
27
+ .optional()
28
28
  .describe('Document issue date in ISO 8601 format (YYYY-MM-DD)'),
29
29
  referenceCode: z
30
30
  .string()
31
- .nullable()
31
+ .optional()
32
32
  .describe('Complete document identifier including any separators (e.g., dashes, slashes)'),
33
33
  allocationNumber: z
34
34
  .string()
@@ -38,7 +38,7 @@ const documentDataSchema = z.object({
38
38
  .describe('Should be empty if no VAT amount. Unique document 9-digits allocation number (מספר הקצאה). Usually last 9 digits of a longer number.'),
39
39
  description: z
40
40
  .string()
41
- .nullable()
41
+ .optional()
42
42
  .describe('Additional description or remarks found on the document'),
43
43
  });
44
44
  const SUPPORTED_FILE_TYPES = [
@@ -15,7 +15,10 @@ let CloudinaryProvider = class CloudinaryProvider {
15
15
  }
16
16
  async uploadInvoiceToCloudinary(base64string) {
17
17
  try {
18
- const res = await cloudinary.uploader.upload(base64string);
18
+ const res = await cloudinary.uploader.upload(base64string, {
19
+ resource_type: 'auto',
20
+ quality: 100,
21
+ });
19
22
  const fileUrl = res.url;
20
23
  const imageUrl = res.url.split('.').slice(0, -1).join('.') + '.jpg';
21
24
  return { fileUrl, imageUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"cloudinary.js","sourceRoot":"","sources":["../../../../../src/modules/app-providers/cloudinary.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACY;IAAzC,YAAyC,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;QACvD,UAAU,CAAC,MAAM,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI;YACrC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS;YAC1C,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACpC,YAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAEpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,uCAAuC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAA;AA3BY,kBAAkB;IAJ9B,UAAU,CAAC;QACV,KAAK,EAAE,KAAK,CAAC,SAAS;QACtB,MAAM,EAAE,IAAI;KACb,CAAC;IAEa,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;;GADrB,kBAAkB,CA2B9B"}
1
+ {"version":3,"file":"cloudinary.js","sourceRoot":"","sources":["../../../../../src/modules/app-providers/cloudinary.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACY;IAAzC,YAAyC,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;QACvD,UAAU,CAAC,MAAM,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI;YACrC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS;YAC1C,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACpC,YAAoB;QAGpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;gBACzD,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAEpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,uCAAuC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAA;AA/BY,kBAAkB;IAJ9B,UAAU,CAAC;QACV,KAAK,EAAE,KAAK,CAAC,SAAS;QACtB,MAAM,EAAE,IAAI;KACb,CAAC;IAEa,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;;GADrB,kBAAkB,CA+B9B"}
@@ -173,13 +173,13 @@ let GmailServiceProvider = class GmailServiceProvider {
173
173
  }
174
174
  async getOcrData(doc) {
175
175
  const validateNumber = (value) => {
176
- return typeof value === 'number' && !Number.isNaN(value) ? value : null;
176
+ return typeof value === 'number' && !Number.isNaN(value) ? value : undefined;
177
177
  };
178
178
  const validateDate = (value) => {
179
179
  if (!value)
180
- return null;
180
+ return undefined;
181
181
  const date = new Date(value);
182
- return Number.isNaN(date.getTime()) ? null : date;
182
+ return Number.isNaN(date.getTime()) ? undefined : date;
183
183
  };
184
184
  if (!doc.content || !doc.mimeType) {
185
185
  throw new Error('Document content or mimeType is missing for OCR');
@@ -191,7 +191,7 @@ let GmailServiceProvider = class GmailServiceProvider {
191
191
  if (!draft) {
192
192
  throw new Error('No data returned from Anthropic OCR');
193
193
  }
194
- let isOwnerIssuer = null;
194
+ let isOwnerIssuer = undefined;
195
195
  if (draft.recipient?.toLocaleLowerCase().includes('the guild')) {
196
196
  isOwnerIssuer = false;
197
197
  }
@@ -200,15 +200,18 @@ let GmailServiceProvider = class GmailServiceProvider {
200
200
  }
201
201
  return {
202
202
  isOwnerIssuer,
203
- counterpartyId: null,
204
203
  documentType: draft.type ?? DocumentType.Unprocessed,
205
204
  serial: draft.referenceCode,
206
205
  date: validateDate(draft.date),
207
206
  amount: validateNumber(draft.fullAmount),
208
207
  currency: draft.currency,
209
208
  vat: validateNumber(draft.vatAmount),
210
- allocationNumber: draft.allocationNumber ?? null,
211
- description: draft.description ?? null,
209
+ allocationNumber: draft.allocationNumber ?? undefined,
210
+ description: draft.issuer
211
+ ? draft.description
212
+ ? `${draft.issuer} | ${draft.description}`
213
+ : draft.issuer
214
+ : draft.description,
212
215
  };
213
216
  }
214
217
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"gmail-service.provider.js","sourceRoot":"","sources":["../../../../../../src/modules/app-providers/gmail-listener/gmail-service.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmail-service.provider.js","sourceRoot":"","sources":["../../../../../../src/modules/app-providers/gmail-listener/gmail-service.provider.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,17 @@ export declare const uploadToCloudinary: (injector: Injector, file: File | Blob)
6
6
  imageUrl: string;
7
7
  }>;
8
8
  export type OcrData = {
9
- isOwnerIssuer: boolean | null;
10
- counterpartyId: string | null;
9
+ isOwnerIssuer?: boolean;
10
+ counterpartyId?: string;
11
11
  documentType: DocumentType;
12
- serial: string | null;
13
- date: Date | null;
14
- amount: number | null;
15
- currency: Currency | null;
16
- vat: number | null;
17
- allocationNumber: string | null;
18
- description: string | null;
12
+ serial?: string;
13
+ date?: Date;
14
+ amount?: number;
15
+ currency?: Currency;
16
+ vat?: number;
17
+ allocationNumber?: string;
18
+ description?: string;
19
+ remarks?: string;
19
20
  };
20
21
  export declare function getOcrData(injector: Injector, file: File | Blob, isSensitive?: boolean | null): Promise<OcrData>;
21
22
  export declare function getDocumentFromUrlsAndOcrData(fileUrl: string, imageUrl: string, ocrData: OcrData, adminBusinessId: string, chargeId?: string | null, fileHash?: number): IInsertDocumentsParams['document'][number];
@@ -21,33 +21,24 @@ export const uploadToCloudinary = async (injector, file) => {
21
21
  };
22
22
  export async function getOcrData(injector, file, isSensitive = true) {
23
23
  const validateNumber = (value) => {
24
- return typeof value === 'number' && !Number.isNaN(value) ? value : null;
24
+ return typeof value === 'number' && !Number.isNaN(value) ? value : undefined;
25
25
  };
26
26
  const validateDate = (value) => {
27
27
  if (!value)
28
- return null;
28
+ return undefined;
29
29
  const date = new Date(value);
30
- return Number.isNaN(date.getTime()) ? null : date;
30
+ return Number.isNaN(date.getTime()) ? undefined : date;
31
31
  };
32
32
  if (isSensitive) {
33
33
  return {
34
- isOwnerIssuer: null,
35
- counterpartyId: null,
36
34
  documentType: DocumentType.Unprocessed,
37
- serial: null,
38
- date: null,
39
- amount: null,
40
- currency: null,
41
- vat: null,
42
- allocationNumber: null,
43
- description: null,
44
35
  };
45
36
  }
46
37
  const draft = await injector.get(AnthropicProvider).extractInvoiceDetails(file);
47
38
  if (!draft) {
48
39
  throw new Error('No data returned from Anthropic OCR');
49
40
  }
50
- let isOwnerIssuer = null;
41
+ let isOwnerIssuer = undefined;
51
42
  if (draft.recipient?.toLocaleLowerCase().includes('the guild')) {
52
43
  isOwnerIssuer = false;
53
44
  }
@@ -56,23 +47,23 @@ export async function getOcrData(injector, file, isSensitive = true) {
56
47
  }
57
48
  return {
58
49
  isOwnerIssuer,
59
- counterpartyId: null,
60
50
  documentType: draft.type ?? DocumentType.Unprocessed,
61
51
  serial: draft.referenceCode,
62
52
  date: validateDate(draft.date),
63
53
  amount: validateNumber(draft.fullAmount),
64
54
  currency: draft.currency,
65
55
  vat: validateNumber(draft.vatAmount),
66
- allocationNumber: draft.allocationNumber ?? null,
67
- description: draft.description ?? null,
56
+ allocationNumber: draft.allocationNumber ?? undefined,
57
+ description: draft.description,
58
+ remarks: draft.issuer,
68
59
  };
69
60
  }
70
61
  async function getHashFromFile(file) {
71
62
  return hashStringToInt(await file.text());
72
63
  }
73
- function figureOutSides(documentType, isOwnerIssuer, defaultAdminBusinessId, counterPartyId) {
64
+ function figureOutSides(documentType, defaultAdminBusinessId, isOwnerIssuer, counterPartyId) {
74
65
  if (documentType === DocumentType.Unprocessed || documentType === DocumentType.Other) {
75
- return { creditorId: null, debtorId: null };
66
+ return {};
76
67
  }
77
68
  let res = {
78
69
  creditorId: counterPartyId,
@@ -93,25 +84,26 @@ function figureOutSides(documentType, isOwnerIssuer, defaultAdminBusinessId, cou
93
84
  return res;
94
85
  }
95
86
  export function getDocumentFromUrlsAndOcrData(fileUrl, imageUrl, ocrData, adminBusinessId, chargeId, fileHash) {
96
- const sides = figureOutSides(ocrData.documentType, ocrData.isOwnerIssuer, adminBusinessId, ocrData.counterpartyId);
87
+ const sides = figureOutSides(ocrData.documentType, adminBusinessId, ocrData.isOwnerIssuer, ocrData.counterpartyId);
97
88
  const newDocument = {
98
89
  image: imageUrl ?? null,
99
90
  file: fileUrl ?? null,
100
91
  documentType: ocrData.documentType,
101
- serialNumber: ocrData.serial,
102
- date: ocrData.date,
103
- amount: ocrData.amount,
104
- currencyCode: ocrData.currency,
105
- vat: ocrData.vat,
92
+ serialNumber: ocrData.serial ?? null,
93
+ date: ocrData.date ?? null,
94
+ amount: ocrData.amount ?? null,
95
+ currencyCode: ocrData.currency ?? null,
96
+ vat: ocrData.vat ?? null,
106
97
  chargeId: chargeId ?? null,
107
98
  vatReportDateOverride: null,
108
99
  noVatAmount: null,
109
- allocationNumber: ocrData.allocationNumber,
100
+ allocationNumber: ocrData.allocationNumber ?? null,
110
101
  exchangeRateOverride: null,
111
102
  fileHash: fileHash?.toString() ?? null,
112
- description: ocrData.description,
113
- remarks: null,
114
- ...sides,
103
+ description: ocrData.description ?? null,
104
+ remarks: ocrData.remarks ?? null,
105
+ creditorId: sides.creditorId ?? null,
106
+ debtorId: sides.debtorId ?? null,
115
107
  };
116
108
  return newDocument;
117
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upload.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/helpers/upload.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/helpers/upload.helper.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.9-alpha-20260104171016-0827494e597ab1c75ea9146a53f1b084291d7541",
3
+ "version": "0.0.9-alpha-20260104174635-d97eb8078eafe181887dd878f1ed40e5b36b1e59",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  "@pgtyped/cli": "2.4.3",
36
36
  "@pgtyped/runtime": "2.4.2",
37
37
  "@whatwg-node/fetch": "0.10.13",
38
- "ai": "6.0.5",
38
+ "ai": "6.0.6",
39
39
  "basic-auth": "2.0.1",
40
40
  "bcrypt": "6.0.0",
41
41
  "cloudinary": "2.8.0",
@@ -56,7 +56,7 @@
56
56
  "playwright": "1.57.0",
57
57
  "reflect-metadata": "0.2.2",
58
58
  "strip-indent": "4.1.1",
59
- "zod": "4.3.4"
59
+ "zod": "4.3.5"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@slonik/pg-driver": "patch:@slonik/pg-driver@npm%3A48.4.1#~/.yarn/patches/@slonik-pg-driver-npm-48.4.1-79145eeaac.patch",
@@ -6,29 +6,29 @@ import { anthropic } from '@ai-sdk/anthropic';
6
6
  import { Currency, DocumentType } from '../../shared/enums.js';
7
7
 
8
8
  const documentDataSchema = z.object({
9
- type: z.enum(DocumentType).nullable().describe('The type of financial document'),
10
- issuer: z.string().nullable().describe('Legal name of the organization that issued the document'),
9
+ type: z.enum(DocumentType).optional().describe('The type of financial document'),
10
+ issuer: z.string().optional().describe('Legal name of the organization that issued the document'),
11
11
  recipient: z
12
12
  .string()
13
- .nullable()
13
+ .optional()
14
14
  .describe('Legal name and details of the entity to whom the document is addressed'),
15
15
  fullAmount: z
16
16
  .number()
17
- .nullable()
17
+ .optional()
18
18
  .describe('Total monetary amount including taxes and all charges'),
19
- currency: z.enum(Currency).nullable().describe('ISO 4217 currency code'),
19
+ currency: z.enum(Currency).optional().describe('ISO 4217 currency code'),
20
20
  vatAmount: z
21
21
  .number()
22
- .nullable()
22
+ .optional()
23
23
  .describe('Value Added Tax amount if separately specified on the document'),
24
24
  date: z
25
25
  .string()
26
26
  .regex(/^\d{4}-\d{2}-\d{2}$/)
27
- .nullable()
27
+ .optional()
28
28
  .describe('Document issue date in ISO 8601 format (YYYY-MM-DD)'),
29
29
  referenceCode: z
30
30
  .string()
31
- .nullable()
31
+ .optional()
32
32
  .describe('Complete document identifier including any separators (e.g., dashes, slashes)'),
33
33
  allocationNumber: z
34
34
  .string()
@@ -40,7 +40,7 @@ const documentDataSchema = z.object({
40
40
  ),
41
41
  description: z
42
42
  .string()
43
- .nullable()
43
+ .optional()
44
44
  .describe('Additional description or remarks found on the document'),
45
45
  });
46
46
 
@@ -19,9 +19,13 @@ export class CloudinaryProvider {
19
19
 
20
20
  public async uploadInvoiceToCloudinary(
21
21
  base64string: string,
22
+ // fileFormat?: string,
22
23
  ): Promise<{ fileUrl: string; imageUrl: string }> {
23
24
  try {
24
- const res = await cloudinary.uploader.upload(base64string);
25
+ const res = await cloudinary.uploader.upload(base64string, {
26
+ resource_type: 'auto',
27
+ quality: 100,
28
+ });
25
29
 
26
30
  const fileUrl = res.url;
27
31
 
@@ -224,14 +224,14 @@ export class GmailServiceProvider {
224
224
  }
225
225
 
226
226
  private async getOcrData(doc: EmailDocument): Promise<OcrData> {
227
- const validateNumber = (value: unknown): number | null => {
228
- return typeof value === 'number' && !Number.isNaN(value) ? value : null;
227
+ const validateNumber = (value: unknown): number | undefined => {
228
+ return typeof value === 'number' && !Number.isNaN(value) ? value : undefined;
229
229
  };
230
230
 
231
- const validateDate = (value: string | null): Date | null => {
232
- if (!value) return null;
231
+ const validateDate = (value: string | undefined): Date | undefined => {
232
+ if (!value) return undefined;
233
233
  const date = new Date(value);
234
- return Number.isNaN(date.getTime()) ? null : date;
234
+ return Number.isNaN(date.getTime()) ? undefined : date;
235
235
  };
236
236
 
237
237
  if (!doc.content || !doc.mimeType) {
@@ -248,7 +248,7 @@ export class GmailServiceProvider {
248
248
  throw new Error('No data returned from Anthropic OCR');
249
249
  }
250
250
 
251
- let isOwnerIssuer: boolean | null = null;
251
+ let isOwnerIssuer: boolean | undefined = undefined;
252
252
  if (draft.recipient?.toLocaleLowerCase().includes('the guild')) {
253
253
  isOwnerIssuer = false;
254
254
  }
@@ -258,15 +258,18 @@ export class GmailServiceProvider {
258
258
 
259
259
  return {
260
260
  isOwnerIssuer,
261
- counterpartyId: null,
262
261
  documentType: draft.type ?? DocumentType.Unprocessed,
263
262
  serial: draft.referenceCode,
264
263
  date: validateDate(draft.date),
265
264
  amount: validateNumber(draft.fullAmount),
266
265
  currency: draft.currency,
267
266
  vat: validateNumber(draft.vatAmount),
268
- allocationNumber: draft.allocationNumber ?? null,
269
- description: draft.description ?? null,
267
+ allocationNumber: draft.allocationNumber ?? undefined,
268
+ description: draft.issuer
269
+ ? draft.description
270
+ ? `${draft.issuer} | ${draft.description}`
271
+ : draft.issuer
272
+ : draft.description,
270
273
  };
271
274
  } catch (e) {
272
275
  const message = 'Error extracting OCR data from document';
@@ -25,16 +25,17 @@ export const uploadToCloudinary = async (injector: Injector, file: File | Blob)
25
25
  };
26
26
 
27
27
  export type OcrData = {
28
- isOwnerIssuer: boolean | null;
29
- counterpartyId: string | null;
28
+ isOwnerIssuer?: boolean;
29
+ counterpartyId?: string;
30
30
  documentType: DocumentType;
31
- serial: string | null;
32
- date: Date | null;
33
- amount: number | null;
34
- currency: Currency | null;
35
- vat: number | null;
36
- allocationNumber: string | null;
37
- description: string | null;
31
+ serial?: string;
32
+ date?: Date;
33
+ amount?: number;
34
+ currency?: Currency;
35
+ vat?: number;
36
+ allocationNumber?: string;
37
+ description?: string;
38
+ remarks?: string;
38
39
  };
39
40
 
40
41
  export async function getOcrData(
@@ -42,28 +43,19 @@ export async function getOcrData(
42
43
  file: File | Blob,
43
44
  isSensitive: boolean | null = true,
44
45
  ): Promise<OcrData> {
45
- const validateNumber = (value: unknown): number | null => {
46
- return typeof value === 'number' && !Number.isNaN(value) ? value : null;
46
+ const validateNumber = (value: unknown): number | undefined => {
47
+ return typeof value === 'number' && !Number.isNaN(value) ? value : undefined;
47
48
  };
48
49
 
49
- const validateDate = (value: string | null): Date | null => {
50
- if (!value) return null;
50
+ const validateDate = (value?: string): Date | undefined => {
51
+ if (!value) return undefined;
51
52
  const date = new Date(value);
52
- return Number.isNaN(date.getTime()) ? null : date;
53
+ return Number.isNaN(date.getTime()) ? undefined : date;
53
54
  };
54
55
 
55
56
  if (isSensitive) {
56
57
  return {
57
- isOwnerIssuer: null,
58
- counterpartyId: null,
59
58
  documentType: DocumentType.Unprocessed,
60
- serial: null,
61
- date: null,
62
- amount: null,
63
- currency: null,
64
- vat: null,
65
- allocationNumber: null,
66
- description: null,
67
59
  };
68
60
  }
69
61
 
@@ -73,7 +65,7 @@ export async function getOcrData(
73
65
  throw new Error('No data returned from Anthropic OCR');
74
66
  }
75
67
 
76
- let isOwnerIssuer: boolean | null = null;
68
+ let isOwnerIssuer: boolean | undefined = undefined;
77
69
  if (draft.recipient?.toLocaleLowerCase().includes('the guild')) {
78
70
  isOwnerIssuer = false;
79
71
  }
@@ -83,15 +75,15 @@ export async function getOcrData(
83
75
 
84
76
  return {
85
77
  isOwnerIssuer,
86
- counterpartyId: null,
87
78
  documentType: draft.type ?? DocumentType.Unprocessed,
88
79
  serial: draft.referenceCode,
89
80
  date: validateDate(draft.date),
90
81
  amount: validateNumber(draft.fullAmount),
91
82
  currency: draft.currency,
92
83
  vat: validateNumber(draft.vatAmount),
93
- allocationNumber: draft.allocationNumber ?? null,
94
- description: draft.description ?? null,
84
+ allocationNumber: draft.allocationNumber ?? undefined,
85
+ description: draft.description,
86
+ remarks: draft.issuer,
95
87
  };
96
88
  }
97
89
 
@@ -101,17 +93,17 @@ async function getHashFromFile(file: File | Blob): Promise<number> {
101
93
 
102
94
  function figureOutSides(
103
95
  documentType: DocumentType,
104
- isOwnerIssuer: boolean | null,
105
96
  defaultAdminBusinessId: string,
106
- counterPartyId: string | null,
107
- ): { creditorId: string | null; debtorId: string | null } {
97
+ isOwnerIssuer?: boolean,
98
+ counterPartyId?: string,
99
+ ): { creditorId?: string; debtorId?: string } {
108
100
  if (documentType === DocumentType.Unprocessed || documentType === DocumentType.Other) {
109
- return { creditorId: null, debtorId: null };
101
+ return {};
110
102
  }
111
103
 
112
104
  let res: {
113
- creditorId: string | null;
114
- debtorId: string | null;
105
+ creditorId: string | undefined;
106
+ debtorId: string | undefined;
115
107
  } = {
116
108
  creditorId: counterPartyId,
117
109
  debtorId: defaultAdminBusinessId,
@@ -144,8 +136,8 @@ export function getDocumentFromUrlsAndOcrData(
144
136
  ): IInsertDocumentsParams['document'][number] {
145
137
  const sides = figureOutSides(
146
138
  ocrData.documentType,
147
- ocrData.isOwnerIssuer,
148
139
  adminBusinessId,
140
+ ocrData.isOwnerIssuer,
149
141
  ocrData.counterpartyId,
150
142
  );
151
143
 
@@ -153,20 +145,21 @@ export function getDocumentFromUrlsAndOcrData(
153
145
  image: imageUrl ?? null,
154
146
  file: fileUrl ?? null,
155
147
  documentType: ocrData.documentType,
156
- serialNumber: ocrData.serial,
157
- date: ocrData.date,
158
- amount: ocrData.amount,
159
- currencyCode: ocrData.currency,
160
- vat: ocrData.vat,
148
+ serialNumber: ocrData.serial ?? null,
149
+ date: ocrData.date ?? null,
150
+ amount: ocrData.amount ?? null,
151
+ currencyCode: ocrData.currency ?? null,
152
+ vat: ocrData.vat ?? null,
161
153
  chargeId: chargeId ?? null,
162
154
  vatReportDateOverride: null,
163
155
  noVatAmount: null,
164
- allocationNumber: ocrData.allocationNumber,
156
+ allocationNumber: ocrData.allocationNumber ?? null,
165
157
  exchangeRateOverride: null,
166
158
  fileHash: fileHash?.toString() ?? null,
167
- description: ocrData.description,
168
- remarks: null,
169
- ...sides,
159
+ description: ocrData.description ?? null,
160
+ remarks: ocrData.remarks ?? null,
161
+ creditorId: sides.creditorId ?? null,
162
+ debtorId: sides.debtorId ?? null,
170
163
  };
171
164
 
172
165
  return newDocument;