@accounter/server 0.0.9-alpha-20251216161545-668306e40cf3aed663f444e0004246489fbec6d4 → 0.0.9-alpha-20251216205426-5f8c6ec241db9449687000a5cc5dbb8cbb861623

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +28 -5
  2. package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
  3. package/dist/green-invoice-graphql/src/mesh-artifacts/index.js +2 -2
  4. package/dist/green-invoice-graphql/src/mesh-artifacts/index.js.map +1 -1
  5. package/dist/server/src/__generated__/types.d.ts +282 -301
  6. package/dist/server/src/__generated__/types.js.map +1 -1
  7. package/dist/server/src/modules/app-providers/green-invoice-client.d.ts +3 -3
  8. package/dist/server/src/modules/contracts/helpers/contracts.helper.d.ts +2 -0
  9. package/dist/server/src/modules/contracts/helpers/contracts.helper.js +20 -0
  10. package/dist/server/src/modules/contracts/helpers/contracts.helper.js.map +1 -1
  11. package/dist/server/src/modules/documents/__generated__/types.d.ts +121 -7
  12. package/dist/server/src/modules/documents/__generated__/types.js.map +1 -1
  13. package/dist/server/src/modules/documents/helpers/common.helper.d.ts +2 -0
  14. package/dist/server/src/modules/documents/helpers/common.helper.js +20 -0
  15. package/dist/server/src/modules/documents/helpers/common.helper.js.map +1 -1
  16. package/dist/server/src/modules/documents/helpers/issue-document.helper.d.ts +21 -0
  17. package/dist/server/src/modules/{green-invoice → documents}/helpers/issue-document.helper.js +61 -11
  18. package/dist/server/src/modules/documents/helpers/issue-document.helper.js.map +1 -0
  19. package/dist/server/src/modules/documents/index.js +9 -2
  20. package/dist/server/src/modules/documents/index.js.map +1 -1
  21. package/dist/server/src/modules/documents/resolvers/documents-issuing.resolver.d.ts +2 -0
  22. package/dist/server/src/modules/documents/resolvers/documents-issuing.resolver.js +357 -0
  23. package/dist/server/src/modules/documents/resolvers/documents-issuing.resolver.js.map +1 -0
  24. package/dist/server/src/modules/documents/typeDefs/documents-issuing.graphql.d.ts +2 -0
  25. package/dist/server/src/modules/documents/typeDefs/documents-issuing.graphql.js +228 -0
  26. package/dist/server/src/modules/documents/typeDefs/documents-issuing.graphql.js.map +1 -0
  27. package/dist/server/src/modules/green-invoice/__generated__/types.d.ts +6 -135
  28. package/dist/server/src/modules/green-invoice/__generated__/types.js +0 -2
  29. package/dist/server/src/modules/green-invoice/__generated__/types.js.map +1 -1
  30. package/dist/server/src/modules/green-invoice/helpers/green-invoice.helper.d.ts +21 -27
  31. package/dist/server/src/modules/green-invoice/helpers/green-invoice.helper.js +160 -151
  32. package/dist/server/src/modules/green-invoice/helpers/green-invoice.helper.js.map +1 -1
  33. package/dist/server/src/modules/green-invoice/resolvers/green-invoice.resolvers.js +4 -347
  34. package/dist/server/src/modules/green-invoice/resolvers/green-invoice.resolvers.js.map +1 -1
  35. package/dist/server/src/modules/green-invoice/typeDefs/green-invoice.graphql.js +4 -512
  36. package/dist/server/src/modules/green-invoice/typeDefs/green-invoice.graphql.js.map +1 -1
  37. package/dist/shaam-uniform-format-generator/src/generator/records/b110.d.ts +35 -35
  38. package/dist/shaam-uniform-format-generator/src/types/enums.d.ts +71 -71
  39. package/package.json +2 -2
  40. package/src/__generated__/types.ts +327 -620
  41. package/src/modules/contracts/helpers/contracts.helper.ts +22 -0
  42. package/src/modules/documents/__generated__/types.ts +121 -7
  43. package/src/modules/documents/helpers/common.helper.ts +21 -0
  44. package/src/modules/{green-invoice → documents}/helpers/issue-document.helper.ts +104 -44
  45. package/src/modules/documents/index.ts +9 -2
  46. package/src/modules/documents/resolvers/documents-issuing.resolver.ts +554 -0
  47. package/src/modules/documents/typeDefs/documents-issuing.graphql.ts +228 -0
  48. package/src/modules/green-invoice/__generated__/types.ts +6 -137
  49. package/src/modules/green-invoice/helpers/green-invoice.helper.ts +195 -201
  50. package/src/modules/green-invoice/resolvers/green-invoice.resolvers.ts +5 -520
  51. package/src/modules/green-invoice/typeDefs/green-invoice.graphql.ts +4 -512
  52. package/dist/server/src/modules/green-invoice/helpers/contract-to-draft.helper.d.ts +0 -7
  53. package/dist/server/src/modules/green-invoice/helpers/contract-to-draft.helper.js +0 -53
  54. package/dist/server/src/modules/green-invoice/helpers/contract-to-draft.helper.js.map +0 -1
  55. package/dist/server/src/modules/green-invoice/helpers/issue-document.helper.d.ts +0 -19
  56. package/dist/server/src/modules/green-invoice/helpers/issue-document.helper.js.map +0 -1
  57. package/src/modules/green-invoice/helpers/contract-to-draft.helper.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/__generated__/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuhC1D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAoZ7B,OAAO,EAAE,QAAQ,EAAE,CAAC;AA8LpB,OAAO,EAAE,YAAY,EAAE,CAAC;AAonCxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAs+D7B,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/__generated__/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuhC1D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAoZ7B,OAAO,EAAE,QAAQ,EAAE,CAAC;AA0WpB,OAAO,EAAE,YAAY,EAAE,CAAC;AA6sBxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAm8D7B,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -40,7 +40,7 @@ export declare class GreenInvoiceClientProvider {
40
40
  url: Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Url, "he" | "en" | "origin">;
41
41
  })>>;
42
42
  }) | null | undefined>;
43
- addDocuments(...params: Parameters<Sdk['addDocument_mutation']>): Promise<(Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_AddedDocument, "number" | "id" | "lang" | "signed"> & {
43
+ addDocuments(...params: Parameters<Sdk['addDocument_mutation']>): Promise<(Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_AddedDocument, "number" | "id" | "signed" | "lang"> & {
44
44
  url: Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Url, "he" | "en" | "origin">;
45
45
  }) | Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_ErrorResponse, "errorCode" | "errorMessage"> | null | undefined>;
46
46
  previewDocuments(...params: Parameters<Sdk['previewDocument_query']>): Promise<Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_ErrorResponse, "errorCode" | "errorMessage"> | Pick<import("../../../../green-invoice-graphql/src/index.js").query_previewDocument_oneOf_0, "file"> | null | undefined>;
@@ -48,7 +48,7 @@ export declare class GreenInvoiceClientProvider {
48
48
  getDocumentLinks(documentId: string): Promise<Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Url, "origin" | "he" | "en"> | null | undefined>;
49
49
  private _batchLoadByIds;
50
50
  private batchDocumentsByIds;
51
- documentLoader: DataLoader<string, (Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Document, "number" | "type" | "id" | "description" | "vat" | "amount" | "currency" | "currencyRate" | "documentDate" | "status" | "remarks" | "footer" | "lang" | "rounding" | "signed" | "vatType" | "creationDate" | "amountDueVat" | "amountDueVatLocal" | "amountExcludeVat" | "amountExemptVat" | "amountLocal" | "amountOpened" | "calculatedAmountLocal" | "calculatedAmountOpenedLocal" | "calculatedIncomeAmountExcludeLocal" | "calculatedIncomeAmountLocal" | "calculatedPaymentAmountLocal" | "cancellable" | "cancelType" | "downloaded" | "ref" | "reverseCharge" | "skinId" | "taxConfirmationEligible" | "templateId" | "userName" | "vatLocal" | "vatRate"> & {
51
+ documentLoader: DataLoader<string, (Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Document, "number" | "type" | "id" | "description" | "vat" | "amount" | "currency" | "currencyRate" | "documentDate" | "remarks" | "footer" | "vatType" | "rounding" | "signed" | "vatRate" | "status" | "creationDate" | "lang" | "amountDueVat" | "amountDueVatLocal" | "amountExcludeVat" | "amountExemptVat" | "amountLocal" | "amountOpened" | "calculatedAmountLocal" | "calculatedAmountOpenedLocal" | "calculatedIncomeAmountExcludeLocal" | "calculatedIncomeAmountLocal" | "calculatedPaymentAmountLocal" | "cancellable" | "cancelType" | "downloaded" | "ref" | "reverseCharge" | "skinId" | "taxConfirmationEligible" | "templateId" | "userName" | "vatLocal"> & {
52
52
  business: Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_Business, "accountantDocsEmailSettings" | "accountantEmails" | "accountantReportEmailSettings" | "accountingType" | "active" | "advanceNationalInsuranceRate" | "advanceTaxRate" | "bankDisplay" | "bankDisplayEn" | "deductionRate" | "documentsEmailSettings" | "emailSubjectType" | "exemption" | "incomeReportEmailSettings" | "incomeReportFormatType" | "reportSendingDay" | "senderEmailSettings" | "type">;
53
53
  client: Pick<import("../../../../green-invoice-graphql/src/index.js").query_getDocument_client, "country" | "emails" | "id" | "name" | "phone" | "taxId" | "self" | "address" | "city" | "zip" | "fax" | "mobile" | "add" | "JSON">;
54
54
  data: Pick<import("../../../../green-invoice-graphql/src/index.js")._DOLLAR_defs_DocumentData, "tags">;
@@ -63,7 +63,7 @@ export declare class GreenInvoiceClientProvider {
63
63
  * Clients
64
64
  * */
65
65
  private batchClientsByIds;
66
- clientLoader: DataLoader<string, Pick<_DOLLAR_defs_getClientResponse, "id" | "name" | "address" | "country" | "emails" | "category" | "remarks" | "creationDate" | "lastUpdateDate" | "active" | "labels" | "phone" | "mobile" | "fax" | "contactPerson" | "city" | "zip" | "bankName" | "bankBranch" | "bankAccount" | "taxId" | "paymentTerms" | "department" | "accountingKey" | "incomeAmount" | "paymentAmount" | "balanceAmount" | "send" | "subCategory"> | null, import("node-cache").Key | import("node-cache").Key[]>;
66
+ clientLoader: DataLoader<string, Pick<_DOLLAR_defs_getClientResponse, "id" | "name" | "address" | "country" | "emails" | "category" | "remarks" | "bankName" | "bankBranch" | "bankAccount" | "phone" | "taxId" | "city" | "zip" | "fax" | "mobile" | "creationDate" | "lastUpdateDate" | "active" | "labels" | "contactPerson" | "paymentTerms" | "department" | "accountingKey" | "incomeAmount" | "paymentAmount" | "balanceAmount" | "send" | "subCategory"> | null, import("node-cache").Key | import("node-cache").Key[]>;
67
67
  createClient(input: _DOLLAR_defs_addClientRequest_Input): Promise<_DOLLAR_defs_getClientResponse>;
68
68
  updateClient(args: updateClient_mutationMutationVariables): Promise<_DOLLAR_defs_getClientResponse>;
69
69
  deleteClient(clientId: string): Promise<_DOLLAR_defs_getClientResponse>;
@@ -1,4 +1,6 @@
1
1
  import type { BillingCycle, Product, SubscriptionPlan } from '../../../__generated__/types.js';
2
2
  export declare function normalizeSubscriptionPlan(raw?: string | null): SubscriptionPlan | null;
3
+ export declare function getSubscriptionPlanName(plan: SubscriptionPlan): string;
3
4
  export declare function normalizeProduct(raw?: string | null): Product | null;
5
+ export declare function getProductName(product: Product): string;
4
6
  export declare function normalizeBillingCycle(raw: string): BillingCycle;
@@ -11,6 +11,16 @@ export function normalizeSubscriptionPlan(raw) {
11
11
  throw new Error(`Unknown subscription plan: ${raw}`);
12
12
  }
13
13
  }
14
+ export function getSubscriptionPlanName(plan) {
15
+ switch (plan) {
16
+ case 'ENTERPRISE':
17
+ return 'Enterprise License';
18
+ case 'PRO':
19
+ return 'Pro Plan';
20
+ default:
21
+ throw new Error(`Unknown subscription plan: ${plan}`);
22
+ }
23
+ }
14
24
  export function normalizeProduct(raw) {
15
25
  if (!raw) {
16
26
  return null;
@@ -24,6 +34,16 @@ export function normalizeProduct(raw) {
24
34
  throw new Error(`Unknown product: ${raw}`);
25
35
  }
26
36
  }
37
+ export function getProductName(product) {
38
+ switch (product) {
39
+ case 'HIVE':
40
+ return 'GraphQL Hive';
41
+ case 'STELLATE':
42
+ return 'Stellate';
43
+ default:
44
+ throw new Error(`Unknown product: ${product}`);
45
+ }
46
+ }
27
47
  export function normalizeBillingCycle(raw) {
28
48
  switch (raw.toLocaleLowerCase()) {
29
49
  case 'monthly':
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/contracts/helpers/contracts.helper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,GAAmB;IAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contracts.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/contracts/helpers/contracts.helper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CAAC,GAAmB;IAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,oBAAoB,CAAC;QAC9B,KAAK,KAAK;YACR,OAAO,UAAU,CAAC;QACpB;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,QAAQ,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -3,8 +3,13 @@ import * as gm from "graphql-modules";
3
3
  export declare namespace DocumentsModule {
4
4
  interface DefinedFields {
5
5
  DocumentSuggestions: 'owner' | 'counterparty' | 'amount' | 'isIncome';
6
- Query: 'documents' | 'documentsByFilters' | 'documentById' | 'recentDocumentsByBusiness' | 'recentDocumentsByClient' | 'recentIssuedDocumentsByType';
7
- Mutation: 'insertDocument' | 'updateDocument' | 'deleteDocument' | 'uploadDocument' | 'batchUploadDocuments' | 'batchUploadDocumentsFromGoogleDrive' | 'closeDocument';
6
+ Query: 'newDocumentDraftByCharge' | 'newDocumentDraftByDocument' | 'periodicalDocumentDrafts' | 'periodicalDocumentDraftsByContracts' | 'clientMonthlyChargeDraft' | 'documents' | 'documentsByFilters' | 'documentById' | 'recentDocumentsByBusiness' | 'recentDocumentsByClient' | 'recentIssuedDocumentsByType';
7
+ Mutation: 'issueGreenInvoiceDocuments' | 'issueGreenInvoiceDocument' | 'previewDocument' | 'insertDocument' | 'updateDocument' | 'deleteDocument' | 'uploadDocument' | 'batchUploadDocuments' | 'batchUploadDocumentsFromGoogleDrive' | 'closeDocument';
8
+ GenerateDocumentsResult: 'success' | 'errors';
9
+ DocumentDraft: 'description' | 'remarks' | 'footer' | 'type' | 'date' | 'dueDate' | 'language' | 'currency' | 'vatType' | 'discount' | 'rounding' | 'signed' | 'maxPayments' | 'client' | 'income' | 'payment' | 'linkedDocumentIds' | 'linkedPaymentId' | 'linkType';
10
+ DocumentIncomeRecord: 'currency' | 'currencyRate' | 'description' | 'itemId' | 'price' | 'quantity' | 'vatRate' | 'vatType';
11
+ DocumentPaymentRecord: 'currency' | 'currencyRate' | 'date' | 'price' | 'type' | 'bankName' | 'bankBranch' | 'bankAccount' | 'chequeNum' | 'accountId' | 'transactionId' | 'cardType' | 'cardNum' | 'numPayments' | 'firstPayment';
12
+ DocumentDiscount: 'amount' | 'type';
8
13
  Unprocessed: 'id' | 'image' | 'file' | 'documentType' | 'isReviewed';
9
14
  OtherDocument: 'id' | 'image' | 'file' | 'documentType' | 'isReviewed';
10
15
  Invoice: 'missingInfoSuggestions' | 'id' | 'image' | 'file' | 'vat' | 'documentType' | 'isReviewed' | 'serialNumber' | 'date' | 'amount' | 'vatReportDateOverride' | 'noVatAmount' | 'allocationNumber' | 'exchangeRateOverride' | 'issuedDocumentInfo';
@@ -33,10 +38,21 @@ export declare namespace DocumentsModule {
33
38
  Charge: 'additionalDocuments';
34
39
  }
35
40
  interface DefinedEnumValues {
41
+ DocumentLanguage: 'ENGLISH' | 'HEBREW';
42
+ DocumentVatType: 'DEFAULT' | 'EXEMPT' | 'MIXED';
43
+ DocumentDiscountType: 'SUM' | 'PERCENTAGE';
44
+ PaymentType: 'TAX_DEDUCTION' | 'CASH' | 'CHEQUE' | 'CREDIT_CARD' | 'WIRE_TRANSFER' | 'PAYPAL' | 'OTHER_DEDUCTION' | 'PAYMENT_APP' | 'OTHER';
45
+ DocumentLinkType: 'LINK' | 'CANCEL';
46
+ DocumentPaymentRecordCardType: 'UNKNOWN' | 'ISRACARD' | 'VISA' | 'MASTERCARD' | 'AMERICAN_EXPRESS' | 'DINERS';
36
47
  DocumentType: 'INVOICE' | 'RECEIPT' | 'INVOICE_RECEIPT' | 'CREDIT_INVOICE' | 'PROFORMA' | 'UNPROCESSED' | 'OTHER';
37
48
  DocumentStatus: 'OPEN' | 'CLOSED' | 'MANUALLY_CLOSED' | 'CANCELLED_BY_OTHER_DOC' | 'CANCELLED';
38
49
  }
39
50
  interface DefinedInputFields {
51
+ DocumentIssueInput: 'description' | 'remarks' | 'footer' | 'type' | 'date' | 'dueDate' | 'language' | 'currency' | 'vatType' | 'discount' | 'rounding' | 'signed' | 'maxPayments' | 'client' | 'income' | 'payment' | 'linkedDocumentIds' | 'linkedPaymentId' | 'linkType';
52
+ DocumentDiscountInput: 'amount' | 'type';
53
+ DocumentClientInput: 'country' | 'emails' | 'id' | 'name' | 'phone' | 'taxId' | 'self' | 'address' | 'city' | 'zip' | 'fax' | 'mobile' | 'add';
54
+ DocumentIncomeRecordInput: 'amount' | 'amountTotal' | 'catalogNum' | 'currency' | 'currencyRate' | 'description' | 'itemId' | 'price' | 'quantity' | 'vat' | 'vatRate' | 'vatType';
55
+ DocumentPaymentRecordInput: 'currency' | 'currencyRate' | 'date' | 'price' | 'type' | 'bankName' | 'bankBranch' | 'bankAccount' | 'chequeNum' | 'accountId' | 'transactionId' | 'cardType' | 'cardNum' | 'numPayments' | 'firstPayment';
40
56
  DocumentsFilters: 'businessIDs' | 'ownerIDs' | 'fromDate' | 'toDate' | 'unmatched';
41
57
  UpdateDocumentFieldsInput: 'vat' | 'serialNumber' | 'date' | 'amount' | 'documentType' | 'image' | 'file' | 'chargeId' | 'creditorId' | 'debtorId' | 'vatReportDateOverride' | 'noVatAmount' | 'allocationNumber' | 'exchangeRateOverride';
42
58
  InsertDocumentInput: 'image' | 'file' | 'vat' | 'documentType' | 'serialNumber' | 'date' | 'amount' | 'chargeId' | 'creditorId' | 'debtorId' | 'vatReportDateOverride' | 'noVatAmount' | 'allocationNumber' | 'exchangeRateOverride';
@@ -51,18 +67,38 @@ export declare namespace DocumentsModule {
51
67
  export type FinancialEntity = Types.FinancialEntity;
52
68
  export type FinancialAmount = Types.FinancialAmount;
53
69
  export type Query = Pick<Types.Query, DefinedFields['Query']>;
54
- export type Document = Pick<Types.Document, DefinedFields['Document']>;
55
- export type DocumentsFilters = Pick<Types.DocumentsFilters, DefinedInputFields['DocumentsFilters']>;
70
+ export type DocumentDraft = Pick<Types.DocumentDraft, DefinedFields['DocumentDraft']>;
56
71
  export type UUID = Types.Uuid;
57
- export type DocumentType = DefinedEnumValues['DocumentType'];
58
72
  export type TimelessDate = Types.TimelessDate;
59
73
  export type Mutation = Pick<Types.Mutation, DefinedFields['Mutation']>;
74
+ export type GenerateDocumentsResult = Pick<Types.GenerateDocumentsResult, DefinedFields['GenerateDocumentsResult']>;
75
+ export type DocumentIssueInput = Pick<Types.DocumentIssueInput, DefinedInputFields['DocumentIssueInput']>;
76
+ export type Charge = Types.Charge;
77
+ export type FileScalar = Types.FileScalar;
78
+ export type DocumentType = DefinedEnumValues['DocumentType'];
79
+ export type DocumentLanguage = DefinedEnumValues['DocumentLanguage'];
80
+ export type Currency = Types.Currency;
81
+ export type DocumentVatType = DefinedEnumValues['DocumentVatType'];
82
+ export type DocumentDiscount = Pick<Types.DocumentDiscount, DefinedFields['DocumentDiscount']>;
83
+ export type Client = Types.Client;
84
+ export type DocumentIncomeRecord = Pick<Types.DocumentIncomeRecord, DefinedFields['DocumentIncomeRecord']>;
85
+ export type DocumentPaymentRecord = Pick<Types.DocumentPaymentRecord, DefinedFields['DocumentPaymentRecord']>;
86
+ export type DocumentLinkType = DefinedEnumValues['DocumentLinkType'];
87
+ export type PaymentType = DefinedEnumValues['PaymentType'];
88
+ export type DocumentPaymentRecordCardType = DefinedEnumValues['DocumentPaymentRecordCardType'];
89
+ export type DocumentDiscountType = DefinedEnumValues['DocumentDiscountType'];
90
+ export type DocumentDiscountInput = Pick<Types.DocumentDiscountInput, DefinedInputFields['DocumentDiscountInput']>;
91
+ export type DocumentClientInput = Pick<Types.DocumentClientInput, DefinedInputFields['DocumentClientInput']>;
92
+ export type DocumentIncomeRecordInput = Pick<Types.DocumentIncomeRecordInput, DefinedInputFields['DocumentIncomeRecordInput']>;
93
+ export type DocumentPaymentRecordInput = Pick<Types.DocumentPaymentRecordInput, DefinedInputFields['DocumentPaymentRecordInput']>;
94
+ export type CountryCode = Types.CountryCode;
95
+ export type Document = Pick<Types.Document, DefinedFields['Document']>;
96
+ export type DocumentsFilters = Pick<Types.DocumentsFilters, DefinedInputFields['DocumentsFilters']>;
60
97
  export type InsertDocumentResult = Types.InsertDocumentResult;
61
98
  export type InsertDocumentInput = Pick<Types.InsertDocumentInput, DefinedInputFields['InsertDocumentInput']>;
62
99
  export type UpdateDocumentResult = Types.UpdateDocumentResult;
63
100
  export type UpdateDocumentFieldsInput = Pick<Types.UpdateDocumentFieldsInput, DefinedInputFields['UpdateDocumentFieldsInput']>;
64
101
  export type UploadDocumentResult = Types.UploadDocumentResult;
65
- export type FileScalar = Types.FileScalar;
66
102
  export type Linkable = Pick<Types.Linkable, DefinedFields['Linkable']>;
67
103
  export type URL = Types.Url;
68
104
  export type Unprocessed = Pick<Types.Unprocessed, DefinedFields['Unprocessed']>;
@@ -72,7 +108,6 @@ export declare namespace DocumentsModule {
72
108
  export type CommonError = Types.CommonError;
73
109
  export type InsertDocumentSuccessfulResult = Pick<Types.InsertDocumentSuccessfulResult, DefinedFields['InsertDocumentSuccessfulResult']>;
74
110
  export type UploadDocumentSuccessfulResult = Pick<Types.UploadDocumentSuccessfulResult, DefinedFields['UploadDocumentSuccessfulResult']>;
75
- export type Charge = Types.Charge;
76
111
  export type CommonCharge = Types.CommonCharge;
77
112
  export type FinancialCharge = Types.FinancialCharge;
78
113
  export type ConversionCharge = Types.ConversionCharge;
@@ -89,6 +124,11 @@ export declare namespace DocumentsModule {
89
124
  export type DocumentSuggestionsResolvers = Pick<Types.DocumentSuggestionsResolvers, DefinedFields['DocumentSuggestions']>;
90
125
  export type QueryResolvers = Pick<Types.QueryResolvers, DefinedFields['Query']>;
91
126
  export type MutationResolvers = Pick<Types.MutationResolvers, DefinedFields['Mutation']>;
127
+ export type GenerateDocumentsResultResolvers = Pick<Types.GenerateDocumentsResultResolvers, DefinedFields['GenerateDocumentsResult']>;
128
+ export type DocumentDraftResolvers = Pick<Types.DocumentDraftResolvers, DefinedFields['DocumentDraft']>;
129
+ export type DocumentIncomeRecordResolvers = Pick<Types.DocumentIncomeRecordResolvers, DefinedFields['DocumentIncomeRecord']>;
130
+ export type DocumentPaymentRecordResolvers = Pick<Types.DocumentPaymentRecordResolvers, DefinedFields['DocumentPaymentRecord']>;
131
+ export type DocumentDiscountResolvers = Pick<Types.DocumentDiscountResolvers, DefinedFields['DocumentDiscount']>;
92
132
  export type UnprocessedResolvers = Pick<Types.UnprocessedResolvers, DefinedFields['Unprocessed'] | '__isTypeOf'>;
93
133
  export type OtherDocumentResolvers = Pick<Types.OtherDocumentResolvers, DefinedFields['OtherDocument'] | '__isTypeOf'>;
94
134
  export type InvoiceResolvers = Pick<Types.InvoiceResolvers, DefinedFields['Invoice'] | '__isTypeOf'>;
@@ -119,6 +159,11 @@ export declare namespace DocumentsModule {
119
159
  DocumentSuggestions?: DocumentSuggestionsResolvers;
120
160
  Query?: QueryResolvers;
121
161
  Mutation?: MutationResolvers;
162
+ GenerateDocumentsResult?: GenerateDocumentsResultResolvers;
163
+ DocumentDraft?: DocumentDraftResolvers;
164
+ DocumentIncomeRecord?: DocumentIncomeRecordResolvers;
165
+ DocumentPaymentRecord?: DocumentPaymentRecordResolvers;
166
+ DocumentDiscount?: DocumentDiscountResolvers;
122
167
  Unprocessed?: UnprocessedResolvers;
123
168
  OtherDocument?: OtherDocumentResolvers;
124
169
  Invoice?: InvoiceResolvers;
@@ -245,6 +290,11 @@ export declare namespace DocumentsModule {
245
290
  };
246
291
  Query?: {
247
292
  '*'?: gm.Middleware[];
293
+ newDocumentDraftByCharge?: gm.Middleware[];
294
+ newDocumentDraftByDocument?: gm.Middleware[];
295
+ periodicalDocumentDrafts?: gm.Middleware[];
296
+ periodicalDocumentDraftsByContracts?: gm.Middleware[];
297
+ clientMonthlyChargeDraft?: gm.Middleware[];
248
298
  documents?: gm.Middleware[];
249
299
  documentsByFilters?: gm.Middleware[];
250
300
  documentById?: gm.Middleware[];
@@ -254,6 +304,9 @@ export declare namespace DocumentsModule {
254
304
  };
255
305
  Mutation?: {
256
306
  '*'?: gm.Middleware[];
307
+ issueGreenInvoiceDocuments?: gm.Middleware[];
308
+ issueGreenInvoiceDocument?: gm.Middleware[];
309
+ previewDocument?: gm.Middleware[];
257
310
  insertDocument?: gm.Middleware[];
258
311
  updateDocument?: gm.Middleware[];
259
312
  deleteDocument?: gm.Middleware[];
@@ -262,6 +315,67 @@ export declare namespace DocumentsModule {
262
315
  batchUploadDocumentsFromGoogleDrive?: gm.Middleware[];
263
316
  closeDocument?: gm.Middleware[];
264
317
  };
318
+ GenerateDocumentsResult?: {
319
+ '*'?: gm.Middleware[];
320
+ success?: gm.Middleware[];
321
+ errors?: gm.Middleware[];
322
+ };
323
+ DocumentDraft?: {
324
+ '*'?: gm.Middleware[];
325
+ description?: gm.Middleware[];
326
+ remarks?: gm.Middleware[];
327
+ footer?: gm.Middleware[];
328
+ type?: gm.Middleware[];
329
+ date?: gm.Middleware[];
330
+ dueDate?: gm.Middleware[];
331
+ language?: gm.Middleware[];
332
+ currency?: gm.Middleware[];
333
+ vatType?: gm.Middleware[];
334
+ discount?: gm.Middleware[];
335
+ rounding?: gm.Middleware[];
336
+ signed?: gm.Middleware[];
337
+ maxPayments?: gm.Middleware[];
338
+ client?: gm.Middleware[];
339
+ income?: gm.Middleware[];
340
+ payment?: gm.Middleware[];
341
+ linkedDocumentIds?: gm.Middleware[];
342
+ linkedPaymentId?: gm.Middleware[];
343
+ linkType?: gm.Middleware[];
344
+ };
345
+ DocumentIncomeRecord?: {
346
+ '*'?: gm.Middleware[];
347
+ currency?: gm.Middleware[];
348
+ currencyRate?: gm.Middleware[];
349
+ description?: gm.Middleware[];
350
+ itemId?: gm.Middleware[];
351
+ price?: gm.Middleware[];
352
+ quantity?: gm.Middleware[];
353
+ vatRate?: gm.Middleware[];
354
+ vatType?: gm.Middleware[];
355
+ };
356
+ DocumentPaymentRecord?: {
357
+ '*'?: gm.Middleware[];
358
+ currency?: gm.Middleware[];
359
+ currencyRate?: gm.Middleware[];
360
+ date?: gm.Middleware[];
361
+ price?: gm.Middleware[];
362
+ type?: gm.Middleware[];
363
+ bankName?: gm.Middleware[];
364
+ bankBranch?: gm.Middleware[];
365
+ bankAccount?: gm.Middleware[];
366
+ chequeNum?: gm.Middleware[];
367
+ accountId?: gm.Middleware[];
368
+ transactionId?: gm.Middleware[];
369
+ cardType?: gm.Middleware[];
370
+ cardNum?: gm.Middleware[];
371
+ numPayments?: gm.Middleware[];
372
+ firstPayment?: gm.Middleware[];
373
+ };
374
+ DocumentDiscount?: {
375
+ '*'?: gm.Middleware[];
376
+ amount?: gm.Middleware[];
377
+ type?: gm.Middleware[];
378
+ };
265
379
  Unprocessed?: {
266
380
  '*'?: gm.Middleware[];
267
381
  id?: gm.Middleware[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/__generated__/types.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,eAAe,CA4V/B;AA5VD,WAAiB,eAAe;IA+B7B,CAAC;IAKD,CAAC;IAMD,CAAC;IAwGD,CAAC;IAyMD,CAAC;AACJ,CAAC,EA5VgB,eAAe,KAAf,eAAe,QA4V/B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/__generated__/types.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,eAAe,CA8c/B;AA9cD,WAAiB,eAAe;IAoC7B,CAAC;IAWD,CAAC;IAWD,CAAC;IAqID,CAAC;IA8QD,CAAC;AACJ,CAAC,EA9cgB,eAAe,KAAf,eAAe,QA8c/B"}
@@ -1,3 +1,5 @@
1
+ import { DocumentType } from '../../../shared/enums.js';
1
2
  import { document_type } from '../types.js';
2
3
  export declare function isInvoice(type: document_type): boolean;
3
4
  export declare function isReceipt(type: document_type): boolean;
5
+ export declare function getDocumentNameFromType(documentType: DocumentType): string;
@@ -7,4 +7,24 @@ export function isInvoice(type) {
7
7
  export function isReceipt(type) {
8
8
  return type === DocumentType.Receipt || type === DocumentType.InvoiceReceipt;
9
9
  }
10
+ export function getDocumentNameFromType(documentType) {
11
+ switch (documentType) {
12
+ case DocumentType.Invoice:
13
+ return 'Tax Invoice';
14
+ case DocumentType.Proforma:
15
+ return 'Proforma Invoice';
16
+ case DocumentType.InvoiceReceipt:
17
+ return 'Invoice / Receipt';
18
+ case DocumentType.CreditInvoice:
19
+ return 'Credit Note';
20
+ case DocumentType.Receipt:
21
+ return 'Receipt';
22
+ case DocumentType.Other:
23
+ return 'Misc Document';
24
+ case DocumentType.Unprocessed:
25
+ return 'Unprocessed Document';
26
+ default:
27
+ throw new Error(`Unsupported document type: ${documentType}`);
28
+ }
29
+ }
10
30
  //# sourceMappingURL=common.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/helpers/common.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,MAAM,UAAU,SAAS,CAAC,IAAmB;IAC3C,OAAO,CACL,IAAI,KAAK,YAAY,CAAC,OAAO;QAC7B,IAAI,KAAK,YAAY,CAAC,aAAa;QACnC,IAAI,KAAK,YAAY,CAAC,cAAc,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAmB;IAC3C,OAAO,IAAI,KAAK,YAAY,CAAC,OAAO,IAAI,IAAI,KAAK,YAAY,CAAC,cAAc,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"common.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/helpers/common.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,MAAM,UAAU,SAAS,CAAC,IAAmB;IAC3C,OAAO,CACL,IAAI,KAAK,YAAY,CAAC,OAAO;QAC7B,IAAI,KAAK,YAAY,CAAC,aAAa;QACnC,IAAI,KAAK,YAAY,CAAC,cAAc,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAmB;IAC3C,OAAO,IAAI,KAAK,YAAY,CAAC,OAAO,IAAI,IAAI,KAAK,YAAY,CAAC,cAAc,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAA0B;IAChE,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,aAAa,CAAC;QACvB,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,YAAY,CAAC,cAAc;YAC9B,OAAO,mBAAmB,CAAC;QAC7B,KAAK,YAAY,CAAC,aAAa;YAC7B,OAAO,aAAa,CAAC;QACvB,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,SAAS,CAAC;QACnB,KAAK,YAAY,CAAC,KAAK;YACrB,OAAO,eAAe,CAAC;QACzB,KAAK,YAAY,CAAC,WAAW;YAC3B,OAAO,sBAAsB,CAAC;QAChC;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Injector } from 'graphql-modules';
2
+ import type { _DOLLAR_defs_Document } from '../../../../../green-invoice-graphql/src/index.js';
3
+ import type { DocumentDraft, DocumentIncomeRecord, DocumentIssueInput, DocumentPaymentRecord, DocumentVatType, ResolversTypes } from '../../../__generated__/types.js';
4
+ import { DocumentType } from '../../../shared/enums.js';
5
+ import type { TimelessDateString } from '../../../shared/types/index.js';
6
+ import type { IGetContractsByIdsResult } from '../../contracts/types.js';
7
+ import type { IGetTransactionsByChargeIdsResult } from '../../transactions/types.js';
8
+ import type { IGetIssuedDocumentsByIdsResult } from '../types.js';
9
+ export declare function getPaymentsFromTransactions(injector: Injector, transactions: IGetTransactionsByChargeIdsResult[]): Promise<DocumentPaymentRecord[]>;
10
+ export declare function getIncomeRecordsFromDocuments(greenInvoiceDocuments: _DOLLAR_defs_Document[]): DocumentIncomeRecord[];
11
+ export declare function getTypeFromDocumentsAndTransactions(documents: {
12
+ type: DocumentType;
13
+ }[], transactions: IGetTransactionsByChargeIdsResult[]): DocumentType;
14
+ export declare function filterAndHandleSwiftTransactions(originTransactions: IGetTransactionsByChargeIdsResult[], swiftBusinessId: string | null): IGetTransactionsByChargeIdsResult[];
15
+ export declare function getLinkedDocumentsAttributes(issuedDocuments: IGetIssuedDocumentsByIdsResult[], shouldCancel?: boolean): Pick<DocumentDraft, 'linkedDocumentIds' | 'linkType'>;
16
+ export declare function getDocumentDateOutOfTransactions(transactions: IGetTransactionsByChargeIdsResult[]): TimelessDateString | undefined;
17
+ export declare function deduceVatTypeFromBusiness(injector: Injector, locality: string, businessId?: string | null): Promise<DocumentVatType>;
18
+ export declare const convertContractToDraft: (contract: IGetContractsByIdsResult, injector: Injector, issueMonth: TimelessDateString) => Promise<import("../../../__generated__/types.js").Omit<DocumentDraft, "client"> & {
19
+ client?: import("../../../__generated__/types.js").Maybe<ResolversTypes["Client"]>;
20
+ }>;
21
+ export declare function executeDocumentIssue(injector: Injector, adminBusinessId: string, initialInput: DocumentIssueInput, emailContent?: string, attachment?: boolean, chargeId?: string, sendEmail?: boolean): Promise<import("../../charges/types.js").IGetChargesByIdsResult>;
@@ -1,13 +1,18 @@
1
+ import { addMonths, endOfMonth, format, startOfMonth, subMonths } from 'date-fns';
1
2
  import { GraphQLError } from 'graphql';
2
3
  import { DocumentType } from '../../../shared/enums.js';
3
4
  import { dateToTimelessDateString } from '../../../shared/helpers/index.js';
4
5
  import { GreenInvoiceClientProvider } from '../../app-providers/green-invoice-client.js';
5
6
  import { ChargesProvider } from '../../charges/providers/charges.provider.js';
6
- import { IssuedDocumentsProvider } from '../../documents/providers/issued-documents.provider.js';
7
+ import { getProductName, getSubscriptionPlanName, normalizeProduct, normalizeSubscriptionPlan, } from '../../contracts/helpers/contracts.helper.js';
7
8
  import { FinancialAccountsProvider } from '../../financial-accounts/providers/financial-accounts.provider.js';
8
9
  import { FinancialBankAccountsProvider } from '../../financial-accounts/providers/financial-bank-accounts.provider.js';
10
+ import { validateClientIntegrations } from '../../financial-entities/helpers/clients.helper.js';
9
11
  import { BusinessesProvider } from '../../financial-entities/providers/businesses.provider.js';
10
- import { convertDocumentInputIntoGreenInvoiceInput, getGreenInvoiceDocumentType, getVatTypeFromGreenInvoiceDocument, insertNewDocumentFromGreenInvoice, normalizeDocumentType, } from './green-invoice.helper.js';
12
+ import { ClientsProvider } from '../../financial-entities/providers/clients.provider.js';
13
+ import { convertDocumentInputIntoGreenInvoiceInput, getTypeFromGreenInvoiceDocument, getVatTypeFromGreenInvoiceDocument, insertNewDocumentFromGreenInvoice, } from '../../green-invoice/helpers/green-invoice.helper.js';
14
+ import { IssuedDocumentsProvider } from '../providers/issued-documents.provider.js';
15
+ import { normalizeDocumentType } from '../resolvers/common.js';
11
16
  export async function getPaymentsFromTransactions(injector, transactions) {
12
17
  const payments = await Promise.all(transactions.map(async (transaction) => {
13
18
  // get account
@@ -48,7 +53,6 @@ export async function getPaymentsFromTransactions(injector, transactions) {
48
53
  paymentTypeSpecificAttributes = {
49
54
  cardType: 'MASTERCARD', // TODO: add logic to support other card types
50
55
  cardNum: account.account_number,
51
- dealType: 'STANDARD', // TODO: add logic to support other deal types
52
56
  numPayments: 1,
53
57
  firstPayment: transaction.event_date.getTime() / 1000, // assuming first payment is the transaction date
54
58
  };
@@ -99,9 +103,9 @@ export async function getPaymentsFromTransactions(injector, transactions) {
99
103
  }));
100
104
  return payments;
101
105
  }
102
- export function getIncomeFromDocuments(documents) {
103
- const incomes = documents
104
- .map(({ greenInvoiceDocument }) => {
106
+ export function getIncomeRecordsFromDocuments(greenInvoiceDocuments) {
107
+ const incomes = greenInvoiceDocuments
108
+ .map(greenInvoiceDocument => {
105
109
  return greenInvoiceDocument.income.filter(Boolean).map(originIncome => {
106
110
  if (!originIncome?.currency) {
107
111
  throw new Error('Income currency is missing');
@@ -122,14 +126,14 @@ export function getIncomeFromDocuments(documents) {
122
126
  .flat();
123
127
  return incomes;
124
128
  }
125
- export function getTypeFromDocumentsAndTransactions(greenInvoiceDocuments, transactions) {
126
- if (!greenInvoiceDocuments.length) {
129
+ export function getTypeFromDocumentsAndTransactions(documents, transactions) {
130
+ if (!documents.length) {
127
131
  if (transactions.length) {
128
132
  return DocumentType.InvoiceReceipt;
129
133
  }
130
134
  return DocumentType.Proforma;
131
135
  }
132
- const documentsTypes = new Set(greenInvoiceDocuments.map(doc => normalizeDocumentType(doc.type)));
136
+ const documentsTypes = new Set(documents.map(doc => doc.type));
133
137
  if (documentsTypes.size === 1) {
134
138
  switch (Array.from(documentsTypes)[0]) {
135
139
  case DocumentType.Invoice:
@@ -199,11 +203,57 @@ export async function deduceVatTypeFromBusiness(injector, locality, businessId)
199
203
  if (!business)
200
204
  return 'DEFAULT';
201
205
  // Deduce VAT type based on business information
202
- if (business.country === locality) {
206
+ if (business.country === locality && !business.exempt_dealer) {
203
207
  return 'MIXED';
204
208
  }
205
209
  return 'EXEMPT';
206
210
  }
211
+ export const convertContractToDraft = async (contract, injector, issueMonth) => {
212
+ const businessPromise = injector
213
+ .get(BusinessesProvider)
214
+ .getBusinessByIdLoader.load(contract.client_id);
215
+ const clientPromise = injector.get(ClientsProvider).getClientByIdLoader.load(contract.client_id);
216
+ const [business, client] = await Promise.all([businessPromise, clientPromise]);
217
+ if (!business) {
218
+ throw new GraphQLError(`Business ID="${contract.client_id}" not found`);
219
+ }
220
+ if (!client) {
221
+ throw new GraphQLError(`Client not found for business ID="${contract.client_id}"`);
222
+ }
223
+ const greenInvoiceId = validateClientIntegrations(client.integrations)?.greenInvoiceId;
224
+ if (!greenInvoiceId) {
225
+ throw new GraphQLError(`Green invoice match not found for business ID="${contract.client_id}"`);
226
+ }
227
+ const today = issueMonth ? addMonths(new Date(issueMonth), 1) : new Date();
228
+ const monthStart = dateToTimelessDateString(startOfMonth(today));
229
+ const monthEnd = dateToTimelessDateString(endOfMonth(today));
230
+ const year = today.getFullYear() + (today.getMonth() === 0 ? -1 : 0);
231
+ const month = format(subMonths(today, 1), 'MMMM');
232
+ const vatType = await deduceVatTypeFromBusiness(injector, business.country, contract.client_id);
233
+ const documentInput = {
234
+ remarks: `${contract.purchase_orders[0] ? `PO: ${contract.purchase_orders[0]}${contract.remarks ? ', ' : ''}` : ''}${contract.remarks ?? ''}`,
235
+ description: `${getProductName(normalizeProduct(contract.product ?? ''))} ${getSubscriptionPlanName(normalizeSubscriptionPlan(contract.plan ?? ''))} - ${month} ${year}`,
236
+ type: normalizeDocumentType(contract.document_type),
237
+ date: monthStart,
238
+ dueDate: monthEnd,
239
+ language: 'ENGLISH',
240
+ currency: contract.currency,
241
+ vatType,
242
+ rounding: false,
243
+ signed: true,
244
+ client,
245
+ income: [
246
+ {
247
+ description: `${getProductName(normalizeProduct(contract.product ?? ''))} ${getSubscriptionPlanName(normalizeSubscriptionPlan(contract.plan ?? ''))} - ${month} ${year}`,
248
+ quantity: 1,
249
+ price: contract.amount,
250
+ currency: contract.currency,
251
+ vatType: 'EXEMPT',
252
+ },
253
+ ],
254
+ };
255
+ return documentInput;
256
+ };
207
257
  export async function executeDocumentIssue(injector, adminBusinessId, initialInput, emailContent, attachment = true, chargeId, sendEmail = false) {
208
258
  try {
209
259
  const coreInput = await convertDocumentInputIntoGreenInvoiceInput(initialInput, injector);
@@ -265,7 +315,7 @@ export async function executeDocumentIssue(injector, adminBusinessId, initialInp
265
315
  }
266
316
  }));
267
317
  }
268
- if (coreInput.type === getGreenInvoiceDocumentType(DocumentType.CreditInvoice)) {
318
+ if (getTypeFromGreenInvoiceDocument(coreInput.type) === DocumentType.CreditInvoice) {
269
319
  // Close origin
270
320
  }
271
321
  return injector.get(ChargesProvider).getChargeByIdLoader.load(newDocument.charge_id);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-document.helper.js","sourceRoot":"","sources":["../../../../../../src/modules/documents/helpers/issue-document.helper.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,24 @@ import { createModule } from 'graphql-modules';
2
2
  import { DocumentsProvider } from './providers/documents.provider.js';
3
3
  import { IssuedDocumentsProvider } from './providers/issued-documents.provider.js';
4
4
  import { documentSuggestionsResolvers } from './resolvers/document-suggestions.resolver.js';
5
+ import { documentsIssuingResolvers } from './resolvers/documents-issuing.resolver.js';
5
6
  import { documentsResolvers } from './resolvers/documents.resolver.js';
6
7
  import { issuedDocumentsResolvers } from './resolvers/issued-documents.resolver.js';
7
8
  import documentSuggestions from './typeDefs/document-suggestions.graphql.js';
9
+ import DocumentsIssuing from './typeDefs/documents-issuing.graphql.js';
8
10
  import documents from './typeDefs/documents.graphql.js';
9
11
  import issuedDocuments from './typeDefs/issued-documents.graphql.js';
10
12
  const __dirname = new URL('.', import.meta.url).pathname;
11
13
  export const documentsModule = createModule({
12
14
  id: 'documents',
13
15
  dirname: __dirname,
14
- typeDefs: [documents, documentSuggestions, issuedDocuments],
15
- resolvers: [documentsResolvers, documentSuggestionsResolvers, issuedDocumentsResolvers],
16
+ typeDefs: [documents, documentSuggestions, DocumentsIssuing, issuedDocuments],
17
+ resolvers: [
18
+ documentsResolvers,
19
+ documentSuggestionsResolvers,
20
+ documentsIssuingResolvers,
21
+ issuedDocumentsResolvers,
22
+ ],
16
23
  providers: () => [DocumentsProvider, IssuedDocumentsProvider],
17
24
  });
18
25
  export * as DocumentsTypes from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/documents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;IAC1C,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,CAAC;IAC3D,SAAS,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,wBAAwB,CAAC;IACvF,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CAC9D,CAAC,CAAC;AAEH,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/documents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;IAC1C,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,CAAC;IAC7E,SAAS,EAAE;QACT,kBAAkB;QAClB,4BAA4B;QAC5B,yBAAyB;QACzB,wBAAwB;KACzB;IACD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CAC9D,CAAC,CAAC;AAEH,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { DocumentsModule } from '../types.js';
2
+ export declare const documentsIssuingResolvers: DocumentsModule.Resolvers;