@bisondesk/documents-sdk 1.0.315 → 1.0.316

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.
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=booking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.js","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"","sourcesContent":["export type FinanceBookingEvent = {\n id: string;\n branchId: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n};\n\nexport type FinanceBooking = {\n branchId: string; // same tenantId can have different companies\n bookingNumber: string; // same booking number can and will exist across different \"branches\", unique => BranchId / Journal / Booking Number\n documentId: string;\n\n booked: true;\n journal?: string;\n amount?: string;\n reportingPeriod?: number;\n reportingYear?: number;\n paid: boolean;\n\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFinanceDocumentDraft = exports.isAdministrativeDocumentDraft = exports.isAdministrativeDocument = exports.isFinanceDocumentV2 = exports.DraftActions = exports.DocumentType = exports.DraftProcessStatus = exports.FinanceDocumentGenerateSubtype = exports.FinanceDocType = exports.AdministrativeDocType = void 0;
3
+ exports.FinanceDocumentSubtype = exports.isFinanceDocumentDraft = exports.isAdministrativeDocumentDraft = exports.isAdministrativeDocument = exports.isFinanceDocumentV2 = exports.DraftActions = exports.DocumentType = exports.DraftProcessStatus = exports.FinanceDocumentGenerateSubtype = exports.FinanceDocType = exports.AdministrativeDocType = void 0;
4
4
  var AdministrativeDocType;
5
5
  (function (AdministrativeDocType) {
6
6
  AdministrativeDocType["General"] = "General Administrative";
@@ -51,4 +51,11 @@ const isFinanceDocumentDraft = (arg) => {
51
51
  return arg.documentType === DocumentType.Finance;
52
52
  };
53
53
  exports.isFinanceDocumentDraft = isFinanceDocumentDraft;
54
+ var FinanceDocumentSubtype;
55
+ (function (FinanceDocumentSubtype) {
56
+ FinanceDocumentSubtype["Invoice"] = "Invoice";
57
+ FinanceDocumentSubtype["CreditNote"] = "Credit Note";
58
+ FinanceDocumentSubtype["Proforma"] = "Proforma";
59
+ FinanceDocumentSubtype["PurchaseOrder"] = "Purchase Order";
60
+ })(FinanceDocumentSubtype = exports.FinanceDocumentSubtype || (exports.FinanceDocumentSubtype = {}));
54
61
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":";;;AAIA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,2DAAkC,CAAA;IAClC,+DAAsC,CAAA;IACtC,6DAAoC,CAAA;IACpC,qDAA4B,CAAA;AAC9B,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAuDD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;AAC/B,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,qDAAmB,CAAA;IACnB,4DAA0B,CAAA;AAC5B,CAAC,EAHW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAGzC;AAoED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAG5B,qCAAe,CAAA;IACf,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;AAC7B,CAAC,EANW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAM7B;AAYD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4CAA4B,CAAA;IAC5B,0DAA0C,CAAA;AAC5C,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAUD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,iEAAiD,CAAA;IACjD,qEAAqD,CAAA;AACvD,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAuBM,MAAM,mBAAmB,GAAG,CACjC,GAAwC,EACd,EAAE;IAC5B,OAAQ,GAAyB,CAAC,OAAO,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAiC,EAAE;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC;AAFW,QAAA,wBAAwB,4BAEnC;AAEK,MAAM,6BAA6B,GAAG,CAC3C,KAAoB,EAC4B,EAAE,CAClD,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,cAAc,CAAC;AAHxC,QAAA,6BAA6B,iCAGW;AAE9C,MAAM,sBAAsB,GAAG,CACpC,GAAqC,EACI,EAAE;IAC3C,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC","sourcesContent":["import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';\nimport { AttachmentValue, PhoneNumberValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { FinanceBooking, FinanceDocument } from '@bisondesk/core-sdk/types/documents';\n\nexport enum AdministrativeDocType {\n General = 'General Administrative',\n Logistics = 'Logistics Administrative',\n Purchase = 'Purchase Administrative',\n Sale = 'Sale Administrative',\n}\n\nexport type Association = {\n businessEntityId: BusinessEntityIds;\n id: string;\n description: string;\n tags?: string[];\n};\n\nexport type FinanceDocumentLine = {\n id: string;\n category: string; // abstraction used to map lines to GL accounts (e.g., deposit, insurance)\n amount: string;\n amountExcl: string; // quantity * unit price\n description: string;\n foreign?: {\n amount: string;\n amountExcl: string;\n unitPriceExcl: string;\n vatAmount: string;\n };\n invoiceLineId?: string; // used by credit notes\n quantity: string;\n associations?: Association[];\n unitPriceExcl: string;\n vatAmount: string;\n vatCode: string;\n vatPercentage: string;\n vatReason?: string;\n};\n\ntype OrgSummary = {\n id: string;\n code: number;\n name: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n postcode?: string;\n city?: string;\n country: string;\n\n emails?: string[];\n phone?: PhoneNumberValue;\n\n // TODO person name?\n contact?: {\n name: string;\n username: string;\n };\n\n language: string; // needed?\n};\n\nexport enum FinanceDocType {\n Sale = 'Sale Finance',\n Purchase = 'Purchase Finance',\n}\n\nexport enum FinanceDocumentGenerateSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n}\n\ntype BaseDocument = {\n id: string;\n branchId: string;\n attachment: AttachmentValue;\n subtype: string;\n createdAt: string;\n createdBy: string;\n};\n\nexport type FinanceDocumentV2 = BaseDocument & {\n version: 2.0;\n reference: string;\n\n type: FinanceDocType;\n\n category: string; // abstraction used to map invoices to Journals (e.g., leasing, used trucks)\n\n organizationSummary: OrgSummary;\n\n dueDate?: string;\n transferDescription?: string; // we ask clients to put this as description of the transfer\n invoiceId?: string; // mandatory in credit notes but forbidden in invoices\n issueDate: string;\n lines: FinanceDocumentLine[];\n notes?: string;\n salesperson: {\n name: string;\n username: string;\n };\n tags: string[]; // optional values used to improve document search\n total: {\n amountExcl: string;\n amount: string;\n currencyCode: string; // from the branch\n foreign?: {\n amount: string;\n amountExcl: string;\n vatAmount: string;\n currencyCode: string;\n exchangeRate: string;\n };\n vatAmount: string;\n };\n\n paidAt?: string;\n};\n\nexport type NewFinanceDocumentV2 = Omit<\n FinanceDocumentV2,\n 'id' | 'createdAt' | 'createdBy' | 'lines'\n> & {\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\nexport type AdministrativeDocument = BaseDocument & {\n type: AdministrativeDocType;\n tags?: string[];\n associations?: Association[];\n organizationSummary?: OrgSummary;\n};\n\nexport type NewAdministrativeDocument = Omit<\n AdministrativeDocument,\n 'id' | 'createdAt' | 'createdBy'\n>;\n\nexport enum DraftProcessStatus {\n // Prefill = 'Prefill',\n // Ready = 'Ready',\n Error = 'Error',\n Unprocessed = 'Unprocessed',\n Unvalidated = 'Unvalidated',\n}\n\ntype DraftProcessing = {\n status: DraftProcessStatus;\n businessValid: boolean;\n accountingValid: boolean;\n rejectedAt?: string;\n rejectedBy?: string;\n rejectionReason?: string;\n failedValidationRules?: string[];\n};\n\nexport enum DocumentType {\n Finance = 'Finance Document',\n Administrative = 'Administrative Document',\n}\n\ntype BaseDocumentDraft = BaseDocument &\n DraftProcessing & {\n documentType?: DocumentType;\n };\n\nexport type DocumentDraft<T = FinanceDocumentV2 | AdministrativeDocument> = Partial<T> &\n BaseDocumentDraft;\n\nexport enum DraftActions {\n Delete = 'delete',\n Validate = 'validate',\n Submit = 'submit',\n ValidateBusinessRules = 'validate_business_rules',\n ValidateAccountingRules = 'validate_accounting_rules',\n}\n\nexport type RejectDraftRequest = {\n reason?: string;\n};\n\nexport type NewDocumentDraft<T = NewFinanceDocumentV2 | NewAdministrativeDocument> = Partial<T> &\n Omit<BaseDocument, 'id' | 'createdAt' | 'createdBy' | 'subtype'> & {\n subtype?: string;\n documentType?: DocumentType;\n };\n\nexport type SearchFinanceDocument = {\n doc: FinanceDocumentV2;\n permissions: SearchPermissions;\n booking?: FinanceBooking;\n};\n\nexport type SearchAdministrativeDocument = {\n doc: AdministrativeDocument;\n permissions: SearchPermissions;\n};\n\nexport const isFinanceDocumentV2 = (\n arg: FinanceDocumentV2 | FinanceDocument\n): arg is FinanceDocumentV2 => {\n return (arg as FinanceDocumentV2).version === 2;\n};\n\nexport const isAdministrativeDocument = (arg: any): arg is AdministrativeDocument => {\n return Object.values(AdministrativeDocType).includes(arg.type);\n};\n\nexport const isAdministrativeDocumentDraft = (\n draft: DocumentDraft\n): draft is DocumentDraft<AdministrativeDocument> =>\n draft.documentType === DocumentType.Administrative;\n\nexport const isFinanceDocumentDraft = (\n arg: DocumentDraft | NewDocumentDraft\n): arg is DocumentDraft<FinanceDocumentV2> => {\n return arg.documentType === DocumentType.Finance;\n};\n\nexport type FinanceDocumentGenerateRequest = Omit<\n FinanceDocumentV2,\n 'id' | 'attachment' | 'createdAt' | 'createdBy' | 'version' | 'reference' | 'lines' | 'subtype'\n> & {\n subtype: FinanceDocumentGenerateSubtype;\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\n// TODO\nexport type DocumentGenerateRequestEvent = {\n tenantId: string;\n docId: string;\n request: FinanceDocumentGenerateRequest;\n};\n\nexport type FinanceDocumentSettings<M = {}> = {\n provider: string;\n meta: M;\n};\n\nexport type FinanceDocumentBisondeskSettings = {\n [FinanceDocumentGenerateSubtype.Invoice]: {\n prefix: string;\n templateId: string;\n };\n [FinanceDocumentGenerateSubtype.CreditNote]: {\n prefix: string;\n templateId: string;\n };\n};\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":";;;AAKA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,2DAAkC,CAAA;IAClC,+DAAsC,CAAA;IACtC,6DAAoC,CAAA;IACpC,qDAA4B,CAAA;AAC9B,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAyDD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;AAC/B,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,qDAAmB,CAAA;IACnB,4DAA0B,CAAA;AAC5B,CAAC,EAHW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAGzC;AAoED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAG5B,qCAAe,CAAA;IACf,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;AAC7B,CAAC,EANW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAM7B;AAYD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4CAA4B,CAAA;IAC5B,0DAA0C,CAAA;AAC5C,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAUD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,iEAAiD,CAAA;IACjD,qEAAqD,CAAA;AACvD,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAuBM,MAAM,mBAAmB,GAAG,CACjC,GAA0C,EAChB,EAAE;IAC5B,OAAQ,GAAyB,CAAC,OAAO,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAiC,EAAE;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC;AAFW,QAAA,wBAAwB,4BAEnC;AAEK,MAAM,6BAA6B,GAAG,CAC3C,KAAoB,EAC4B,EAAE,CAClD,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,cAAc,CAAC;AAHxC,QAAA,6BAA6B,iCAGW;AAE9C,MAAM,sBAAsB,GAAG,CACpC,GAAqC,EACI,EAAE;IAC3C,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC;AAsCF,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,oDAA0B,CAAA;IAC1B,+CAAqB,CAAA;IACrB,0DAAgC,CAAA;AAClC,CAAC,EALW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAKjC","sourcesContent":["import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';\nimport { AttachmentValue, PhoneNumberValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { FinanceBooking } from './booking';\nimport { FinanceDocumentV1 } from './legacy';\n\nexport enum AdministrativeDocType {\n General = 'General Administrative',\n Logistics = 'Logistics Administrative',\n Purchase = 'Purchase Administrative',\n Sale = 'Sale Administrative',\n}\n\nexport type FinanceDocument = FinanceDocumentV1 | FinanceDocumentV2;\n\nexport type Association = {\n businessEntityId: BusinessEntityIds;\n id: string;\n description: string;\n tags?: string[];\n};\n\nexport type FinanceDocumentLine = {\n id: string;\n category: string; // abstraction used to map lines to GL accounts (e.g., deposit, insurance)\n amount: string;\n amountExcl: string; // quantity * unit price\n description: string;\n foreign?: {\n amount: string;\n amountExcl: string;\n unitPriceExcl: string;\n vatAmount: string;\n };\n invoiceLineId?: string; // used by credit notes\n quantity: string;\n associations?: Association[];\n unitPriceExcl: string;\n vatAmount: string;\n vatCode: string;\n vatPercentage: string;\n vatReason?: string;\n};\n\ntype OrgSummary = {\n id: string;\n code: number;\n name: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n postcode?: string;\n city?: string;\n country: string;\n\n emails?: string[];\n phone?: PhoneNumberValue;\n\n // TODO person name?\n contact?: {\n name: string;\n username: string;\n };\n\n language: string; // needed?\n};\n\nexport enum FinanceDocType {\n Sale = 'Sale Finance',\n Purchase = 'Purchase Finance',\n}\n\nexport enum FinanceDocumentGenerateSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n}\n\ntype BaseDocument = {\n id: string;\n branchId: string;\n attachment: AttachmentValue;\n subtype: string;\n createdAt: string;\n createdBy: string;\n};\n\nexport type FinanceDocumentV2 = BaseDocument & {\n version: 2.0;\n reference: string;\n\n type: FinanceDocType;\n\n category: string; // abstraction used to map invoices to Journals (e.g., leasing, used trucks)\n\n organizationSummary: OrgSummary;\n\n dueDate?: string;\n transferDescription?: string; // we ask clients to put this as description of the transfer\n invoiceId?: string; // mandatory in credit notes but forbidden in invoices\n issueDate: string;\n lines: FinanceDocumentLine[];\n notes?: string;\n salesperson: {\n name: string;\n username: string;\n };\n tags: string[]; // optional values used to improve document search\n total: {\n amountExcl: string;\n amount: string;\n currencyCode: string; // from the branch\n foreign?: {\n amount: string;\n amountExcl: string;\n vatAmount: string;\n currencyCode: string;\n exchangeRate: string;\n };\n vatAmount: string;\n };\n\n paidAt?: string;\n};\n\nexport type NewFinanceDocumentV2 = Omit<\n FinanceDocumentV2,\n 'id' | 'createdAt' | 'createdBy' | 'lines'\n> & {\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\nexport type AdministrativeDocument = BaseDocument & {\n type: AdministrativeDocType;\n tags?: string[];\n associations?: Association[];\n organizationSummary?: OrgSummary;\n};\n\nexport type NewAdministrativeDocument = Omit<\n AdministrativeDocument,\n 'id' | 'createdAt' | 'createdBy'\n>;\n\nexport enum DraftProcessStatus {\n // Prefill = 'Prefill',\n // Ready = 'Ready',\n Error = 'Error',\n Unprocessed = 'Unprocessed',\n Unvalidated = 'Unvalidated',\n}\n\ntype DraftProcessing = {\n status: DraftProcessStatus;\n businessValid: boolean;\n accountingValid: boolean;\n rejectedAt?: string;\n rejectedBy?: string;\n rejectionReason?: string;\n failedValidationRules?: string[];\n};\n\nexport enum DocumentType {\n Finance = 'Finance Document',\n Administrative = 'Administrative Document',\n}\n\ntype BaseDocumentDraft = BaseDocument &\n DraftProcessing & {\n documentType?: DocumentType;\n };\n\nexport type DocumentDraft<T = FinanceDocumentV2 | AdministrativeDocument> = Partial<T> &\n BaseDocumentDraft;\n\nexport enum DraftActions {\n Delete = 'delete',\n Validate = 'validate',\n Submit = 'submit',\n ValidateBusinessRules = 'validate_business_rules',\n ValidateAccountingRules = 'validate_accounting_rules',\n}\n\nexport type RejectDraftRequest = {\n reason?: string;\n};\n\nexport type NewDocumentDraft<T = NewFinanceDocumentV2 | NewAdministrativeDocument> = Partial<T> &\n Omit<BaseDocument, 'id' | 'createdAt' | 'createdBy' | 'subtype'> & {\n subtype?: string;\n documentType?: DocumentType;\n };\n\nexport type SearchFinanceDocument = {\n doc: FinanceDocumentV2;\n permissions: SearchPermissions;\n booking?: FinanceBooking;\n};\n\nexport type SearchAdministrativeDocument = {\n doc: AdministrativeDocument;\n permissions: SearchPermissions;\n};\n\nexport const isFinanceDocumentV2 = (\n arg: FinanceDocumentV2 | FinanceDocumentV1\n): arg is FinanceDocumentV2 => {\n return (arg as FinanceDocumentV2).version === 2;\n};\n\nexport const isAdministrativeDocument = (arg: any): arg is AdministrativeDocument => {\n return Object.values(AdministrativeDocType).includes(arg.type);\n};\n\nexport const isAdministrativeDocumentDraft = (\n draft: DocumentDraft\n): draft is DocumentDraft<AdministrativeDocument> =>\n draft.documentType === DocumentType.Administrative;\n\nexport const isFinanceDocumentDraft = (\n arg: DocumentDraft | NewDocumentDraft\n): arg is DocumentDraft<FinanceDocumentV2> => {\n return arg.documentType === DocumentType.Finance;\n};\n\nexport type FinanceDocumentGenerateRequest = Omit<\n FinanceDocumentV2,\n 'id' | 'attachment' | 'createdAt' | 'createdBy' | 'version' | 'reference' | 'lines' | 'subtype'\n> & {\n subtype: FinanceDocumentGenerateSubtype;\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\n// TODO\nexport type DocumentGenerateRequestEvent = {\n tenantId: string;\n docId: string;\n request: FinanceDocumentGenerateRequest;\n};\n\nexport type FinanceDocumentSettings<M = {}> = {\n provider: string;\n meta: M;\n};\n\nexport type FinanceDocumentBisondeskSettings = {\n [FinanceDocumentGenerateSubtype.Invoice]: {\n prefix: string;\n templateId: string;\n };\n [FinanceDocumentGenerateSubtype.CreditNote]: {\n prefix: string;\n templateId: string;\n };\n};\n\nexport type FinanceDocumentPayment = { documentId: string } & (\n | { paid: true; paidAt: string; comment?: string }\n | { paid: false; paidAt?: undefined; comment?: undefined }\n);\n\nexport enum FinanceDocumentSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n Proforma = 'Proforma',\n PurchaseOrder = 'Purchase Order',\n}\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"/","sources":["types/events.ts"],"names":[],"mappings":"","sourcesContent":["export type FinanceDocumentEvent = {\n id: string;\n actionAt: string;\n action: 'upsert' | 'delete';\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: string; // Invoice, Credit Note, etc.\n};\n\nexport type AdminDocumentEvent = {\n id: string;\n actionAt: string;\n action: 'upsert' | 'delete';\n userId: string;\n tenantId: string;\n type: string;\n subtype: string;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"/","sources":["types/legacy.ts"],"names":[],"mappings":"","sourcesContent":["import { AttachmentValue } from '@bisondesk/commons-sdk/types';\n\nexport type FinanceLineV1 = {\n associations: {\n others: { vehicleId: string; label: string }[];\n sales: { id: string; vehicleId: string; label: string }[];\n purchases: { id: string; vehicleId: string; label: string }[];\n };\n description: string;\n id: string;\n lineCode: string;\n quantity: string;\n unitPriceExclusive: string;\n vatCode: string;\n vatCoefficient: string;\n};\n\nexport type FinanceDocumentV1 = {\n id: string;\n branchId: string;\n\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: 'Invoice' | 'Credit Note' | 'Proforma' | 'Purchase Order';\n reference: string;\n\n attachment: AttachmentValue;\n lines: FinanceLineV1[];\n notes?: string;\n\n createdAt: string;\n createdBy: string;\n issueDate: string;\n paidAt?: string;\n paymentNotes?: string;\n amount?: string;\n dueDate?: string;\n\n organizationSummary?: {\n id: string;\n code: string;\n name: string;\n country: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n addressLine3?: string;\n postcode?: string;\n city?: string;\n\n email?: string;\n phone?: string;\n fax?: string;\n };\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=booking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking.js","sourceRoot":"/","sources":["types/booking.ts"],"names":[],"mappings":"","sourcesContent":["export type FinanceBookingEvent = {\n id: string;\n branchId: string;\n actionAt: string;\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n};\n\nexport type FinanceBooking = {\n branchId: string; // same tenantId can have different companies\n bookingNumber: string; // same booking number can and will exist across different \"branches\", unique => BranchId / Journal / Booking Number\n documentId: string;\n\n booked: true;\n journal?: string;\n amount?: string;\n reportingPeriod?: number;\n reportingYear?: number;\n paid: boolean;\n\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n};\n"]}
@@ -44,4 +44,11 @@ export const isAdministrativeDocumentDraft = (draft) => draft.documentType === D
44
44
  export const isFinanceDocumentDraft = (arg) => {
45
45
  return arg.documentType === DocumentType.Finance;
46
46
  };
47
+ export var FinanceDocumentSubtype;
48
+ (function (FinanceDocumentSubtype) {
49
+ FinanceDocumentSubtype["Invoice"] = "Invoice";
50
+ FinanceDocumentSubtype["CreditNote"] = "Credit Note";
51
+ FinanceDocumentSubtype["Proforma"] = "Proforma";
52
+ FinanceDocumentSubtype["PurchaseOrder"] = "Purchase Order";
53
+ })(FinanceDocumentSubtype || (FinanceDocumentSubtype = {}));
47
54
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,2DAAkC,CAAA;IAClC,+DAAsC,CAAA;IACtC,6DAAoC,CAAA;IACpC,qDAA4B,CAAA;AAC9B,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAuDD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;AAC/B,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,qDAAmB,CAAA;IACnB,4DAA0B,CAAA;AAC5B,CAAC,EAHW,8BAA8B,KAA9B,8BAA8B,QAGzC;AAoED,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAG5B,qCAAe,CAAA;IACf,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;AAC7B,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAYD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4CAA4B,CAAA;IAC5B,0DAA0C,CAAA;AAC5C,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAUD,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,iEAAiD,CAAA;IACjD,qEAAqD,CAAA;AACvD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAuBD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAwC,EACd,EAAE;IAC5B,OAAQ,GAAyB,CAAC,OAAO,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAiC,EAAE;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,KAAoB,EAC4B,EAAE,CAClD,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,GAAqC,EACI,EAAE;IAC3C,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC","sourcesContent":["import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';\nimport { AttachmentValue, PhoneNumberValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { FinanceBooking, FinanceDocument } from '@bisondesk/core-sdk/types/documents';\n\nexport enum AdministrativeDocType {\n General = 'General Administrative',\n Logistics = 'Logistics Administrative',\n Purchase = 'Purchase Administrative',\n Sale = 'Sale Administrative',\n}\n\nexport type Association = {\n businessEntityId: BusinessEntityIds;\n id: string;\n description: string;\n tags?: string[];\n};\n\nexport type FinanceDocumentLine = {\n id: string;\n category: string; // abstraction used to map lines to GL accounts (e.g., deposit, insurance)\n amount: string;\n amountExcl: string; // quantity * unit price\n description: string;\n foreign?: {\n amount: string;\n amountExcl: string;\n unitPriceExcl: string;\n vatAmount: string;\n };\n invoiceLineId?: string; // used by credit notes\n quantity: string;\n associations?: Association[];\n unitPriceExcl: string;\n vatAmount: string;\n vatCode: string;\n vatPercentage: string;\n vatReason?: string;\n};\n\ntype OrgSummary = {\n id: string;\n code: number;\n name: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n postcode?: string;\n city?: string;\n country: string;\n\n emails?: string[];\n phone?: PhoneNumberValue;\n\n // TODO person name?\n contact?: {\n name: string;\n username: string;\n };\n\n language: string; // needed?\n};\n\nexport enum FinanceDocType {\n Sale = 'Sale Finance',\n Purchase = 'Purchase Finance',\n}\n\nexport enum FinanceDocumentGenerateSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n}\n\ntype BaseDocument = {\n id: string;\n branchId: string;\n attachment: AttachmentValue;\n subtype: string;\n createdAt: string;\n createdBy: string;\n};\n\nexport type FinanceDocumentV2 = BaseDocument & {\n version: 2.0;\n reference: string;\n\n type: FinanceDocType;\n\n category: string; // abstraction used to map invoices to Journals (e.g., leasing, used trucks)\n\n organizationSummary: OrgSummary;\n\n dueDate?: string;\n transferDescription?: string; // we ask clients to put this as description of the transfer\n invoiceId?: string; // mandatory in credit notes but forbidden in invoices\n issueDate: string;\n lines: FinanceDocumentLine[];\n notes?: string;\n salesperson: {\n name: string;\n username: string;\n };\n tags: string[]; // optional values used to improve document search\n total: {\n amountExcl: string;\n amount: string;\n currencyCode: string; // from the branch\n foreign?: {\n amount: string;\n amountExcl: string;\n vatAmount: string;\n currencyCode: string;\n exchangeRate: string;\n };\n vatAmount: string;\n };\n\n paidAt?: string;\n};\n\nexport type NewFinanceDocumentV2 = Omit<\n FinanceDocumentV2,\n 'id' | 'createdAt' | 'createdBy' | 'lines'\n> & {\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\nexport type AdministrativeDocument = BaseDocument & {\n type: AdministrativeDocType;\n tags?: string[];\n associations?: Association[];\n organizationSummary?: OrgSummary;\n};\n\nexport type NewAdministrativeDocument = Omit<\n AdministrativeDocument,\n 'id' | 'createdAt' | 'createdBy'\n>;\n\nexport enum DraftProcessStatus {\n // Prefill = 'Prefill',\n // Ready = 'Ready',\n Error = 'Error',\n Unprocessed = 'Unprocessed',\n Unvalidated = 'Unvalidated',\n}\n\ntype DraftProcessing = {\n status: DraftProcessStatus;\n businessValid: boolean;\n accountingValid: boolean;\n rejectedAt?: string;\n rejectedBy?: string;\n rejectionReason?: string;\n failedValidationRules?: string[];\n};\n\nexport enum DocumentType {\n Finance = 'Finance Document',\n Administrative = 'Administrative Document',\n}\n\ntype BaseDocumentDraft = BaseDocument &\n DraftProcessing & {\n documentType?: DocumentType;\n };\n\nexport type DocumentDraft<T = FinanceDocumentV2 | AdministrativeDocument> = Partial<T> &\n BaseDocumentDraft;\n\nexport enum DraftActions {\n Delete = 'delete',\n Validate = 'validate',\n Submit = 'submit',\n ValidateBusinessRules = 'validate_business_rules',\n ValidateAccountingRules = 'validate_accounting_rules',\n}\n\nexport type RejectDraftRequest = {\n reason?: string;\n};\n\nexport type NewDocumentDraft<T = NewFinanceDocumentV2 | NewAdministrativeDocument> = Partial<T> &\n Omit<BaseDocument, 'id' | 'createdAt' | 'createdBy' | 'subtype'> & {\n subtype?: string;\n documentType?: DocumentType;\n };\n\nexport type SearchFinanceDocument = {\n doc: FinanceDocumentV2;\n permissions: SearchPermissions;\n booking?: FinanceBooking;\n};\n\nexport type SearchAdministrativeDocument = {\n doc: AdministrativeDocument;\n permissions: SearchPermissions;\n};\n\nexport const isFinanceDocumentV2 = (\n arg: FinanceDocumentV2 | FinanceDocument\n): arg is FinanceDocumentV2 => {\n return (arg as FinanceDocumentV2).version === 2;\n};\n\nexport const isAdministrativeDocument = (arg: any): arg is AdministrativeDocument => {\n return Object.values(AdministrativeDocType).includes(arg.type);\n};\n\nexport const isAdministrativeDocumentDraft = (\n draft: DocumentDraft\n): draft is DocumentDraft<AdministrativeDocument> =>\n draft.documentType === DocumentType.Administrative;\n\nexport const isFinanceDocumentDraft = (\n arg: DocumentDraft | NewDocumentDraft\n): arg is DocumentDraft<FinanceDocumentV2> => {\n return arg.documentType === DocumentType.Finance;\n};\n\nexport type FinanceDocumentGenerateRequest = Omit<\n FinanceDocumentV2,\n 'id' | 'attachment' | 'createdAt' | 'createdBy' | 'version' | 'reference' | 'lines' | 'subtype'\n> & {\n subtype: FinanceDocumentGenerateSubtype;\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\n// TODO\nexport type DocumentGenerateRequestEvent = {\n tenantId: string;\n docId: string;\n request: FinanceDocumentGenerateRequest;\n};\n\nexport type FinanceDocumentSettings<M = {}> = {\n provider: string;\n meta: M;\n};\n\nexport type FinanceDocumentBisondeskSettings = {\n [FinanceDocumentGenerateSubtype.Invoice]: {\n prefix: string;\n templateId: string;\n };\n [FinanceDocumentGenerateSubtype.CreditNote]: {\n prefix: string;\n templateId: string;\n };\n};\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"/","sources":["types/documents.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,2DAAkC,CAAA;IAClC,+DAAsC,CAAA;IACtC,6DAAoC,CAAA;IACpC,qDAA4B,CAAA;AAC9B,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAyDD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+CAA6B,CAAA;AAC/B,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,qDAAmB,CAAA;IACnB,4DAA0B,CAAA;AAC5B,CAAC,EAHW,8BAA8B,KAA9B,8BAA8B,QAGzC;AAoED,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAG5B,qCAAe,CAAA;IACf,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;AAC7B,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAYD,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4CAA4B,CAAA;IAC5B,0DAA0C,CAAA;AAC5C,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAUD,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,iEAAiD,CAAA;IACjD,qEAAqD,CAAA;AACvD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAuBD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAA0C,EAChB,EAAE;IAC5B,OAAQ,GAAyB,CAAC,OAAO,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAiC,EAAE;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,KAAoB,EAC4B,EAAE,CAClD,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,GAAqC,EACI,EAAE;IAC3C,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC;AAsCF,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,oDAA0B,CAAA;IAC1B,+CAAqB,CAAA;IACrB,0DAAgC,CAAA;AAClC,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC","sourcesContent":["import { BusinessEntityIds } from '@bisondesk/commons-sdk/constants';\nimport { AttachmentValue, PhoneNumberValue, SearchPermissions } from '@bisondesk/commons-sdk/types';\nimport { FinanceBooking } from './booking';\nimport { FinanceDocumentV1 } from './legacy';\n\nexport enum AdministrativeDocType {\n General = 'General Administrative',\n Logistics = 'Logistics Administrative',\n Purchase = 'Purchase Administrative',\n Sale = 'Sale Administrative',\n}\n\nexport type FinanceDocument = FinanceDocumentV1 | FinanceDocumentV2;\n\nexport type Association = {\n businessEntityId: BusinessEntityIds;\n id: string;\n description: string;\n tags?: string[];\n};\n\nexport type FinanceDocumentLine = {\n id: string;\n category: string; // abstraction used to map lines to GL accounts (e.g., deposit, insurance)\n amount: string;\n amountExcl: string; // quantity * unit price\n description: string;\n foreign?: {\n amount: string;\n amountExcl: string;\n unitPriceExcl: string;\n vatAmount: string;\n };\n invoiceLineId?: string; // used by credit notes\n quantity: string;\n associations?: Association[];\n unitPriceExcl: string;\n vatAmount: string;\n vatCode: string;\n vatPercentage: string;\n vatReason?: string;\n};\n\ntype OrgSummary = {\n id: string;\n code: number;\n name: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n postcode?: string;\n city?: string;\n country: string;\n\n emails?: string[];\n phone?: PhoneNumberValue;\n\n // TODO person name?\n contact?: {\n name: string;\n username: string;\n };\n\n language: string; // needed?\n};\n\nexport enum FinanceDocType {\n Sale = 'Sale Finance',\n Purchase = 'Purchase Finance',\n}\n\nexport enum FinanceDocumentGenerateSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n}\n\ntype BaseDocument = {\n id: string;\n branchId: string;\n attachment: AttachmentValue;\n subtype: string;\n createdAt: string;\n createdBy: string;\n};\n\nexport type FinanceDocumentV2 = BaseDocument & {\n version: 2.0;\n reference: string;\n\n type: FinanceDocType;\n\n category: string; // abstraction used to map invoices to Journals (e.g., leasing, used trucks)\n\n organizationSummary: OrgSummary;\n\n dueDate?: string;\n transferDescription?: string; // we ask clients to put this as description of the transfer\n invoiceId?: string; // mandatory in credit notes but forbidden in invoices\n issueDate: string;\n lines: FinanceDocumentLine[];\n notes?: string;\n salesperson: {\n name: string;\n username: string;\n };\n tags: string[]; // optional values used to improve document search\n total: {\n amountExcl: string;\n amount: string;\n currencyCode: string; // from the branch\n foreign?: {\n amount: string;\n amountExcl: string;\n vatAmount: string;\n currencyCode: string;\n exchangeRate: string;\n };\n vatAmount: string;\n };\n\n paidAt?: string;\n};\n\nexport type NewFinanceDocumentV2 = Omit<\n FinanceDocumentV2,\n 'id' | 'createdAt' | 'createdBy' | 'lines'\n> & {\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\nexport type AdministrativeDocument = BaseDocument & {\n type: AdministrativeDocType;\n tags?: string[];\n associations?: Association[];\n organizationSummary?: OrgSummary;\n};\n\nexport type NewAdministrativeDocument = Omit<\n AdministrativeDocument,\n 'id' | 'createdAt' | 'createdBy'\n>;\n\nexport enum DraftProcessStatus {\n // Prefill = 'Prefill',\n // Ready = 'Ready',\n Error = 'Error',\n Unprocessed = 'Unprocessed',\n Unvalidated = 'Unvalidated',\n}\n\ntype DraftProcessing = {\n status: DraftProcessStatus;\n businessValid: boolean;\n accountingValid: boolean;\n rejectedAt?: string;\n rejectedBy?: string;\n rejectionReason?: string;\n failedValidationRules?: string[];\n};\n\nexport enum DocumentType {\n Finance = 'Finance Document',\n Administrative = 'Administrative Document',\n}\n\ntype BaseDocumentDraft = BaseDocument &\n DraftProcessing & {\n documentType?: DocumentType;\n };\n\nexport type DocumentDraft<T = FinanceDocumentV2 | AdministrativeDocument> = Partial<T> &\n BaseDocumentDraft;\n\nexport enum DraftActions {\n Delete = 'delete',\n Validate = 'validate',\n Submit = 'submit',\n ValidateBusinessRules = 'validate_business_rules',\n ValidateAccountingRules = 'validate_accounting_rules',\n}\n\nexport type RejectDraftRequest = {\n reason?: string;\n};\n\nexport type NewDocumentDraft<T = NewFinanceDocumentV2 | NewAdministrativeDocument> = Partial<T> &\n Omit<BaseDocument, 'id' | 'createdAt' | 'createdBy' | 'subtype'> & {\n subtype?: string;\n documentType?: DocumentType;\n };\n\nexport type SearchFinanceDocument = {\n doc: FinanceDocumentV2;\n permissions: SearchPermissions;\n booking?: FinanceBooking;\n};\n\nexport type SearchAdministrativeDocument = {\n doc: AdministrativeDocument;\n permissions: SearchPermissions;\n};\n\nexport const isFinanceDocumentV2 = (\n arg: FinanceDocumentV2 | FinanceDocumentV1\n): arg is FinanceDocumentV2 => {\n return (arg as FinanceDocumentV2).version === 2;\n};\n\nexport const isAdministrativeDocument = (arg: any): arg is AdministrativeDocument => {\n return Object.values(AdministrativeDocType).includes(arg.type);\n};\n\nexport const isAdministrativeDocumentDraft = (\n draft: DocumentDraft\n): draft is DocumentDraft<AdministrativeDocument> =>\n draft.documentType === DocumentType.Administrative;\n\nexport const isFinanceDocumentDraft = (\n arg: DocumentDraft | NewDocumentDraft\n): arg is DocumentDraft<FinanceDocumentV2> => {\n return arg.documentType === DocumentType.Finance;\n};\n\nexport type FinanceDocumentGenerateRequest = Omit<\n FinanceDocumentV2,\n 'id' | 'attachment' | 'createdAt' | 'createdBy' | 'version' | 'reference' | 'lines' | 'subtype'\n> & {\n subtype: FinanceDocumentGenerateSubtype;\n lines: Omit<FinanceDocumentLine, 'id'>[];\n};\n\n// TODO\nexport type DocumentGenerateRequestEvent = {\n tenantId: string;\n docId: string;\n request: FinanceDocumentGenerateRequest;\n};\n\nexport type FinanceDocumentSettings<M = {}> = {\n provider: string;\n meta: M;\n};\n\nexport type FinanceDocumentBisondeskSettings = {\n [FinanceDocumentGenerateSubtype.Invoice]: {\n prefix: string;\n templateId: string;\n };\n [FinanceDocumentGenerateSubtype.CreditNote]: {\n prefix: string;\n templateId: string;\n };\n};\n\nexport type FinanceDocumentPayment = { documentId: string } & (\n | { paid: true; paidAt: string; comment?: string }\n | { paid: false; paidAt?: undefined; comment?: undefined }\n);\n\nexport enum FinanceDocumentSubtype {\n Invoice = 'Invoice',\n CreditNote = 'Credit Note',\n Proforma = 'Proforma',\n PurchaseOrder = 'Purchase Order',\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"/","sources":["types/events.ts"],"names":[],"mappings":"","sourcesContent":["export type FinanceDocumentEvent = {\n id: string;\n actionAt: string;\n action: 'upsert' | 'delete';\n userId: string;\n tenantId: string;\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: string; // Invoice, Credit Note, etc.\n};\n\nexport type AdminDocumentEvent = {\n id: string;\n actionAt: string;\n action: 'upsert' | 'delete';\n userId: string;\n tenantId: string;\n type: string;\n subtype: string;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"/","sources":["types/legacy.ts"],"names":[],"mappings":"","sourcesContent":["import { AttachmentValue } from '@bisondesk/commons-sdk/types';\n\nexport type FinanceLineV1 = {\n associations: {\n others: { vehicleId: string; label: string }[];\n sales: { id: string; vehicleId: string; label: string }[];\n purchases: { id: string; vehicleId: string; label: string }[];\n };\n description: string;\n id: string;\n lineCode: string;\n quantity: string;\n unitPriceExclusive: string;\n vatCode: string;\n vatCoefficient: string;\n};\n\nexport type FinanceDocumentV1 = {\n id: string;\n branchId: string;\n\n type: 'Sale Finance' | 'Purchase Finance';\n subtype: 'Invoice' | 'Credit Note' | 'Proforma' | 'Purchase Order';\n reference: string;\n\n attachment: AttachmentValue;\n lines: FinanceLineV1[];\n notes?: string;\n\n createdAt: string;\n createdBy: string;\n issueDate: string;\n paidAt?: string;\n paymentNotes?: string;\n amount?: string;\n dueDate?: string;\n\n organizationSummary?: {\n id: string;\n code: string;\n name: string;\n country: string;\n vatNumber?: string;\n\n addressLine1?: string;\n addressLine2?: string;\n addressLine3?: string;\n postcode?: string;\n city?: string;\n\n email?: string;\n phone?: string;\n fax?: string;\n };\n};\n"]}