@bisondesk/commons-sdk 1.0.676 → 1.0.678

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,6 @@
1
+ export type BankAccountDetails = {
2
+ accountNumber: string;
3
+ bic?: string;
4
+ holderName: string;
5
+ };
6
+ //# sourceMappingURL=bank-accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-accounts.d.ts","sourceRoot":"/","sources":["bank-accounts.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bank-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-accounts.js","sourceRoot":"/","sources":["bank-accounts.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * What a transfer needs to name one side of the payment: the account number, the bank's BIC when\n * known, and the account holder's name as the bank knows it. In a SEPA file the account number is\n * an IBAN. Shared by the organisation bank account, the frozen payment export line and the debtor\n * and creditor blocks of the SEPA file.\n */\nexport type BankAccountDetails = {\n accountNumber: string;\n bic?: string;\n holderName: string;\n};\n"]}
@@ -55,7 +55,14 @@ export declare enum TopLevelActions {
55
55
  TrackAndTraceDevicesExport = "tt:devices:export",
56
56
  ManageStocklists = "stocklists:manage",
57
57
  TransportsBrowse = "transports:browse",
58
- TransportsManage = "transports:manage"
58
+ TransportsManage = "transports:manage",
59
+ ReorderPurchasePayments = "vehicles:purchase-payments:reorder",
60
+ SendPurchasePaymentsToProcessing = "vehicles:purchase-payments:send-to-processing",
61
+ EditPurchaseInvoiceDueDate = "vehicles:purchase-payments:due-date",
62
+ ExportPurchasePayments = "vehicles:purchase-payments:export",
63
+ CancelPurchasePayment = "vehicles:purchase-payments:cancel",
64
+ ManageOrganizationBankAccount = "crm:orgs:bank-account:manage",
65
+ VerifyOrganizationBankAccount = "crm:orgs:bank-account:verify"
59
66
  }
60
67
  export declare const SUPPORTED_LANGUAGES: readonly ['en', 'fr', 'nl', 'es', 'de', 'pt'];
61
68
  export declare const TENANT_ID_ADMIN_HEADER = "tenant-id";
@@ -92,7 +99,8 @@ export declare enum BusinessEntityIds {
92
99
  Interests = "interests",
93
100
  Prospects = "prospects",
94
101
  Stocklists = "stocklists",
95
- Transports = "transports"
102
+ Transports = "transports",
103
+ PaymentExports = "payment_exports"
96
104
  }
97
105
  export declare const LEASING_QUOTE_TEMPLATE_GROUP_ID = "leasing_quote_template";
98
106
  export declare const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = "leasing_quote_proforma_template";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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"}
package/lib/constants.js CHANGED
@@ -63,6 +63,13 @@ export var TopLevelActions;
63
63
  TopLevelActions["ManageStocklists"] = "stocklists:manage";
64
64
  TopLevelActions["TransportsBrowse"] = "transports:browse";
65
65
  TopLevelActions["TransportsManage"] = "transports:manage";
66
+ TopLevelActions["ReorderPurchasePayments"] = "vehicles:purchase-payments:reorder";
67
+ TopLevelActions["SendPurchasePaymentsToProcessing"] = "vehicles:purchase-payments:send-to-processing";
68
+ TopLevelActions["EditPurchaseInvoiceDueDate"] = "vehicles:purchase-payments:due-date";
69
+ TopLevelActions["ExportPurchasePayments"] = "vehicles:purchase-payments:export";
70
+ TopLevelActions["CancelPurchasePayment"] = "vehicles:purchase-payments:cancel";
71
+ TopLevelActions["ManageOrganizationBankAccount"] = "crm:orgs:bank-account:manage";
72
+ TopLevelActions["VerifyOrganizationBankAccount"] = "crm:orgs:bank-account:verify";
66
73
  })(TopLevelActions || (TopLevelActions = {}));
67
74
  export const SUPPORTED_LANGUAGES = ['en', 'fr', 'nl', 'es', 'de', 'pt'];
68
75
  export const TENANT_ID_ADMIN_HEADER = 'tenant-id';
@@ -109,6 +116,7 @@ export var BusinessEntityIds;
109
116
  BusinessEntityIds["Prospects"] = "prospects";
110
117
  BusinessEntityIds["Stocklists"] = "stocklists";
111
118
  BusinessEntityIds["Transports"] = "transports";
119
+ BusinessEntityIds["PaymentExports"] = "payment_exports";
112
120
  })(BusinessEntityIds || (BusinessEntityIds = {}));
113
121
  export const LEASING_QUOTE_TEMPLATE_GROUP_ID = 'leasing_quote_template';
114
122
  export const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'leasing_quote_proforma_template';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Carries a record's version between server and client: the server answers with it on a read,\n * and a client hands it back on a write so the write only lands while the row still stands\n * there. Successor to the older `x-record-modified-at`.\n */\nexport const RECORD_VERSION_HEADER = 'x-record-version';\n\n//\n// STATIC ROLES\n//\nexport enum AppRoles {\n Accountant = 'accountant',\n Admin = 'admins',\n Administrative = 'administrative',\n AppManager = 'app_manager',\n Board = 'board',\n Commercial = 'commercial',\n InboundCommercial = 'inbound_commercial',\n LeasingCommercial = 'leasing_commercial',\n GeneralManager = 'general_manager',\n GeneralManagerAssistant = 'general_manager_assistant',\n ParkLogistics = 'park_logistics',\n Purchaser = 'purchaser',\n SalesManager = 'sales_manager',\n SalesPriceManager = 'sales_price_manager',\n SalesStockManager = 'sales_stock_manager',\n SalesMarketingManager = 'sales_marketing_manager',\n SeniorAccountant = 'senior_accountant',\n TrackAndTraceManager = 'track_and_trace_manager',\n}\n\nexport const TOP_ROLES = [\n AppRoles.Admin,\n AppRoles.Board,\n AppRoles.GeneralManager,\n AppRoles.SeniorAccountant,\n];\n\nexport enum TopLevelActions {\n AdministrationAll = 'admin:*',\n DocumentsFinanceBrowse = 'docs:finance:browse',\n DocumentsFinanceIssueProforma = 'docs:finance:new:proforma',\n DocumentsFinanceIssue = 'docs:finance:new',\n DocumentsAdministrativeBrowse = 'docs:administrative:browse',\n LeadsAll = 'leads:*',\n CrmOrgsBrowse = 'crm:orgs:browse',\n CrmContactsBrowse = 'crm:contacts:browse',\n BrowseDocumentDrafts = 'docs:drafts:browse',\n BrowsePurchasePayments = 'vehicles:purchase-payments:browse',\n BrowsePendingRemarks = 'remarks:pending:browse',\n LeasingDebtorsView = 'leasing:debtors:view',\n LeasingOverduesView = 'leasing:overdues:view',\n LeasingContractsExport = 'leasing:contracts:export',\n LeasingContractsBrowse = 'leasing:contracts:browse',\n LeasingContractsRsExport = 'leasing:contracts:rs:export-rs', // rs stands for rental solutions\n LeasingDebtorsExport = 'leasing:debtors:export',\n MarketBrowse = 'market:browse',\n MarketInsights = 'insights:market',\n MarketingAll = 'marketing:*',\n OffersBrowse = 'offers:browse',\n OpportunitiesBrowseAll = 'opps:browse',\n OpportunitiesBrowseAssigned = 'opps:browse:assigned',\n IntercompanyPaymentsBrowse = 'opps:intercompany-payments:browse',\n VehicleInsights = 'insights:vehicle',\n SaveBankAccounts = 'settings:bank-accounts:save',\n SettingsAll = 'settings:*',\n VehicleCreate = 'vehicle:create',\n TasksAll = 'tasks:*',\n /** Read tasks that are not your own: the unassigned pool, a colleague's list, everyone's. */\n TasksReadAll = 'tasks:read-all',\n TrackAndTraceDevices = 'tt:devices:*',\n TrackAndTraceDevicesExport = 'tt:devices:export',\n ManageStocklists = 'stocklists:manage',\n TransportsBrowse = 'transports:browse',\n TransportsManage = 'transports:manage',\n}\n\n//\n// I18N\n//\nexport const SUPPORTED_LANGUAGES = ['en', 'fr', 'nl', 'es', 'de', 'pt'] as const;\n\n//\n// Headers\n//\nexport const TENANT_ID_ADMIN_HEADER = 'tenant-id';\nexport const SERVICE_ID_ADMIN_HEADER = 'service-id';\n\n//\n// AUTH\n//\nexport const NO_TENANT_ID_VALUE = 'notenant';\nexport const SYSTEM_USER_ID = 'system';\nexport const CROSS_TENANT_USER_ID = 'cross-tenant-sync';\nexport const WHATSAPP_TEMPLATE_SYNC_USER_ID = 'whatsapp-template-sync';\n\n/** The registry of synthetic (non-human) user ids — behavior checks key on this list. */\nexport const SYNTHETIC_USER_IDS: readonly string[] = [\n SYSTEM_USER_ID,\n CROSS_TENANT_USER_ID,\n WHATSAPP_TEMPLATE_SYNC_USER_ID,\n];\n\n/** Display labels for the synthetic user ids — a projection of the registry above. */\nexport const SYNTHETIC_USER_LABELS: Record<string, string> = {\n [SYSTEM_USER_ID]: 'System',\n [CROSS_TENANT_USER_ID]: 'Tenant-sync',\n [WHATSAPP_TEMPLATE_SYNC_USER_ID]: 'Template-sync',\n};\n\n//\n// Business Entity IDs\n//\nexport enum BusinessEntityIds {\n BecrisDeclarations = 'becris_declarations',\n Contacts = 'contacts',\n Emails = 'emails',\n ExternalVehicleSale = 'external_vehicle_sale',\n Documents = 'documents',\n FinanceDocuments = 'finance_documents',\n AdministrativeDocuments = 'administrative_documents',\n InternetVehicles = 'internet-vehicles',\n LeasingContracts = 'leasing_contracts',\n LeasingUploadAutomation = 'leasing_upload_automation',\n Offers = 'offers',\n Opportunities = 'opportunities',\n Organizations = 'organizations',\n PdfTemplates = 'pdf_templates',\n Users = 'users',\n Vehicles = 'vehicles',\n VehiclesPurchase = 'vehicle_purchase',\n VehiclesPriceLists = 'vehicles_price_lists',\n Debtors = 'debtors',\n DebtorsDossier = 'debtor-dossiers',\n DocumentDrafts = 'document_drafts',\n TrackAndTraceDevices = 'track_and_trace_devices',\n Interests = 'interests',\n Prospects = 'prospects',\n Stocklists = 'stocklists',\n Transports = 'transports',\n}\n\n//\n// PDF Templates IDs\n//\nexport const LEASING_QUOTE_TEMPLATE_GROUP_ID = 'leasing_quote_template';\nexport const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'leasing_quote_proforma_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_amortization_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_PRINT_VERSION_GROUP_ID =\n 'leasing_contract_amortization_print_version_template';\nexport const LEASING_QUOTE_LOCATION_TEMPLATE = 'leasing_quote_location_template';\nexport const LEASING_CONTRACT_TC_TEMPLATE_GROUP_ID = 'leasing_contract_tc_template';\nexport const LEASING_CONTRACT_SPECIFIC_CONDITIONS_TEMPLATE_GROUP_ID =\n 'leasing_contract_specific_conditions_template';\nexport const LEASING_CONTRACT_CAUTIONNEMENT_TEMPLATE_GROUP_ID =\n 'leasing_contract_cautionnement_template';\nexport const LEASING_CONTRACT_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_delivery_confirmation_template';\nexport const SALES_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'sales_quote_proforma_template';\nexport const SALES_QUOTE_AGREEMENT_TEMPLATE_GROUP_ID = 'sales_quote_agreement_template';\nexport const SALES_INVOICE_TEMPLATE_GROUP_ID = 'sales_invoice_template';\nexport const VEHICLES_STICKER_TEMPLATE_GROUP_ID = 'vehicles_sticker_template';\nexport const VEHICLES_MINI_STICKER_TEMPLATE_GROUP_ID = 'vehicles_mini_sticker_template';\nexport const TRANSPORT_ITR_TEMPLATE_GROUP_ID = 'transport_itr_template';\nexport const EXTERNAL_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID = 'external_delivery_confirmation';\n\n//\n// VAT Prefixes for EU Countries and Great Britain & Northern Ireland\n//\nexport const EU_VAT_COUNTRY_CODES = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'cy',\n 'cz',\n 'dk',\n 'ee',\n 'fi',\n 'fr',\n 'de',\n 'gr', // greece has EL prefix but the country code is GR\n 'el',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'xi', // Northern Ireland\n];\n\nexport const HEXON_LANG_CODES: [string, ...string[]] = [\n 'en',\n 'nl',\n 'de',\n 'fr',\n 'es',\n 'pt',\n 'it',\n 'pl',\n 'ru',\n 'ro',\n 'el',\n 'bg',\n];\n\nexport const DEFAULT_SLB_PARTNER = 'To be announced';\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"/","sources":["constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Carries a record's version between server and client: the server answers with it on a read,\n * and a client hands it back on a write so the write only lands while the row still stands\n * there. Successor to the older `x-record-modified-at`.\n */\nexport const RECORD_VERSION_HEADER = 'x-record-version';\n\n//\n// STATIC ROLES\n//\nexport enum AppRoles {\n Accountant = 'accountant',\n Admin = 'admins',\n Administrative = 'administrative',\n AppManager = 'app_manager',\n Board = 'board',\n Commercial = 'commercial',\n InboundCommercial = 'inbound_commercial',\n LeasingCommercial = 'leasing_commercial',\n GeneralManager = 'general_manager',\n GeneralManagerAssistant = 'general_manager_assistant',\n ParkLogistics = 'park_logistics',\n Purchaser = 'purchaser',\n SalesManager = 'sales_manager',\n SalesPriceManager = 'sales_price_manager',\n SalesStockManager = 'sales_stock_manager',\n SalesMarketingManager = 'sales_marketing_manager',\n SeniorAccountant = 'senior_accountant',\n TrackAndTraceManager = 'track_and_trace_manager',\n}\n\nexport const TOP_ROLES = [\n AppRoles.Admin,\n AppRoles.Board,\n AppRoles.GeneralManager,\n AppRoles.SeniorAccountant,\n];\n\nexport enum TopLevelActions {\n AdministrationAll = 'admin:*',\n DocumentsFinanceBrowse = 'docs:finance:browse',\n DocumentsFinanceIssueProforma = 'docs:finance:new:proforma',\n DocumentsFinanceIssue = 'docs:finance:new',\n DocumentsAdministrativeBrowse = 'docs:administrative:browse',\n LeadsAll = 'leads:*',\n CrmOrgsBrowse = 'crm:orgs:browse',\n CrmContactsBrowse = 'crm:contacts:browse',\n BrowseDocumentDrafts = 'docs:drafts:browse',\n BrowsePurchasePayments = 'vehicles:purchase-payments:browse',\n BrowsePendingRemarks = 'remarks:pending:browse',\n LeasingDebtorsView = 'leasing:debtors:view',\n LeasingOverduesView = 'leasing:overdues:view',\n LeasingContractsExport = 'leasing:contracts:export',\n LeasingContractsBrowse = 'leasing:contracts:browse',\n LeasingContractsRsExport = 'leasing:contracts:rs:export-rs', // rs stands for rental solutions\n LeasingDebtorsExport = 'leasing:debtors:export',\n MarketBrowse = 'market:browse',\n MarketInsights = 'insights:market',\n MarketingAll = 'marketing:*',\n OffersBrowse = 'offers:browse',\n OpportunitiesBrowseAll = 'opps:browse',\n OpportunitiesBrowseAssigned = 'opps:browse:assigned',\n IntercompanyPaymentsBrowse = 'opps:intercompany-payments:browse',\n VehicleInsights = 'insights:vehicle',\n SaveBankAccounts = 'settings:bank-accounts:save',\n SettingsAll = 'settings:*',\n VehicleCreate = 'vehicle:create',\n TasksAll = 'tasks:*',\n /** Read tasks that are not your own: the unassigned pool, a colleague's list, everyone's. */\n TasksReadAll = 'tasks:read-all',\n TrackAndTraceDevices = 'tt:devices:*',\n TrackAndTraceDevicesExport = 'tt:devices:export',\n ManageStocklists = 'stocklists:manage',\n TransportsBrowse = 'transports:browse',\n TransportsManage = 'transports:manage',\n ReorderPurchasePayments = 'vehicles:purchase-payments:reorder',\n SendPurchasePaymentsToProcessing = 'vehicles:purchase-payments:send-to-processing',\n EditPurchaseInvoiceDueDate = 'vehicles:purchase-payments:due-date',\n ExportPurchasePayments = 'vehicles:purchase-payments:export',\n CancelPurchasePayment = 'vehicles:purchase-payments:cancel',\n ManageOrganizationBankAccount = 'crm:orgs:bank-account:manage',\n VerifyOrganizationBankAccount = 'crm:orgs:bank-account:verify',\n}\n\n//\n// I18N\n//\nexport const SUPPORTED_LANGUAGES = ['en', 'fr', 'nl', 'es', 'de', 'pt'] as const;\n\n//\n// Headers\n//\nexport const TENANT_ID_ADMIN_HEADER = 'tenant-id';\nexport const SERVICE_ID_ADMIN_HEADER = 'service-id';\n\n//\n// AUTH\n//\nexport const NO_TENANT_ID_VALUE = 'notenant';\nexport const SYSTEM_USER_ID = 'system';\nexport const CROSS_TENANT_USER_ID = 'cross-tenant-sync';\nexport const WHATSAPP_TEMPLATE_SYNC_USER_ID = 'whatsapp-template-sync';\n\n/** The registry of synthetic (non-human) user ids — behavior checks key on this list. */\nexport const SYNTHETIC_USER_IDS: readonly string[] = [\n SYSTEM_USER_ID,\n CROSS_TENANT_USER_ID,\n WHATSAPP_TEMPLATE_SYNC_USER_ID,\n];\n\n/** Display labels for the synthetic user ids — a projection of the registry above. */\nexport const SYNTHETIC_USER_LABELS: Record<string, string> = {\n [SYSTEM_USER_ID]: 'System',\n [CROSS_TENANT_USER_ID]: 'Tenant-sync',\n [WHATSAPP_TEMPLATE_SYNC_USER_ID]: 'Template-sync',\n};\n\n//\n// Business Entity IDs\n//\nexport enum BusinessEntityIds {\n BecrisDeclarations = 'becris_declarations',\n Contacts = 'contacts',\n Emails = 'emails',\n ExternalVehicleSale = 'external_vehicle_sale',\n Documents = 'documents',\n FinanceDocuments = 'finance_documents',\n AdministrativeDocuments = 'administrative_documents',\n InternetVehicles = 'internet-vehicles',\n LeasingContracts = 'leasing_contracts',\n LeasingUploadAutomation = 'leasing_upload_automation',\n Offers = 'offers',\n Opportunities = 'opportunities',\n Organizations = 'organizations',\n PdfTemplates = 'pdf_templates',\n Users = 'users',\n Vehicles = 'vehicles',\n VehiclesPurchase = 'vehicle_purchase',\n VehiclesPriceLists = 'vehicles_price_lists',\n Debtors = 'debtors',\n DebtorsDossier = 'debtor-dossiers',\n DocumentDrafts = 'document_drafts',\n TrackAndTraceDevices = 'track_and_trace_devices',\n Interests = 'interests',\n Prospects = 'prospects',\n Stocklists = 'stocklists',\n Transports = 'transports',\n PaymentExports = 'payment_exports',\n}\n\n//\n// PDF Templates IDs\n//\nexport const LEASING_QUOTE_TEMPLATE_GROUP_ID = 'leasing_quote_template';\nexport const LEASING_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'leasing_quote_proforma_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_amortization_template';\nexport const LEASING_CONTRACT_AMORTIZATION_TEMPLATE_PRINT_VERSION_GROUP_ID =\n 'leasing_contract_amortization_print_version_template';\nexport const LEASING_QUOTE_LOCATION_TEMPLATE = 'leasing_quote_location_template';\nexport const LEASING_CONTRACT_TC_TEMPLATE_GROUP_ID = 'leasing_contract_tc_template';\nexport const LEASING_CONTRACT_SPECIFIC_CONDITIONS_TEMPLATE_GROUP_ID =\n 'leasing_contract_specific_conditions_template';\nexport const LEASING_CONTRACT_CAUTIONNEMENT_TEMPLATE_GROUP_ID =\n 'leasing_contract_cautionnement_template';\nexport const LEASING_CONTRACT_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID =\n 'leasing_contract_delivery_confirmation_template';\nexport const SALES_QUOTE_PROFORMA_TEMPLATE_GROUP_ID = 'sales_quote_proforma_template';\nexport const SALES_QUOTE_AGREEMENT_TEMPLATE_GROUP_ID = 'sales_quote_agreement_template';\nexport const SALES_INVOICE_TEMPLATE_GROUP_ID = 'sales_invoice_template';\nexport const VEHICLES_STICKER_TEMPLATE_GROUP_ID = 'vehicles_sticker_template';\nexport const VEHICLES_MINI_STICKER_TEMPLATE_GROUP_ID = 'vehicles_mini_sticker_template';\nexport const TRANSPORT_ITR_TEMPLATE_GROUP_ID = 'transport_itr_template';\nexport const EXTERNAL_DELIVERY_CONFIRMATION_TEMPLATE_GROUP_ID = 'external_delivery_confirmation';\n\n//\n// VAT Prefixes for EU Countries and Great Britain & Northern Ireland\n//\nexport const EU_VAT_COUNTRY_CODES = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'cy',\n 'cz',\n 'dk',\n 'ee',\n 'fi',\n 'fr',\n 'de',\n 'gr', // greece has EL prefix but the country code is GR\n 'el',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'xi', // Northern Ireland\n];\n\nexport const HEXON_LANG_CODES: [string, ...string[]] = [\n 'en',\n 'nl',\n 'de',\n 'fr',\n 'es',\n 'pt',\n 'it',\n 'pl',\n 'ru',\n 'ro',\n 'el',\n 'bg',\n];\n\nexport const DEFAULT_SLB_PARTNER = 'To be announced';\n"]}
package/lib/iban.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare const normalizeIban: (raw: string) => string;
2
+ export declare const isValidIban: (raw: string) => boolean;
3
+ //# sourceMappingURL=iban.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iban.d.ts","sourceRoot":"/","sources":["iban.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,MAA+C,CAAC;AAM5F,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,OAczC,CAAC"}
package/lib/iban.js ADDED
@@ -0,0 +1,15 @@
1
+ export const normalizeIban = (raw) => raw.replace(/\s+/g, '').toUpperCase();
2
+ export const isValidIban = (raw) => {
3
+ const iban = normalizeIban(raw);
4
+ if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{10,30}$/.test(iban)) {
5
+ return false;
6
+ }
7
+ const rearranged = iban.slice(4) + iban.slice(0, 4);
8
+ const numeric = rearranged.replace(/[A-Z]/g, (ch) => (ch.charCodeAt(0) - 55).toString());
9
+ let remainder = 0;
10
+ for (let i = 0; i < numeric.length; i += 7) {
11
+ remainder = Number(`${remainder}${numeric.slice(i, i + 7)}`) % 97;
12
+ }
13
+ return remainder === 1;
14
+ };
15
+ //# sourceMappingURL=iban.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iban.js","sourceRoot":"/","sources":["iban.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAM5F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC","sourcesContent":["/** Strips spaces and upper-cases an IBAN into its canonical, storable form. */\nexport const normalizeIban = (raw: string): string => raw.replace(/\\s+/g, '').toUpperCase();\n\n/**\n * Validates an IBAN's structure and its mod-97 checksum. A passing checksum means the number is\n * well-formed — it is never proof of who holds the account, which stays a manual verification step.\n */\nexport const isValidIban = (raw: string): boolean => {\n const iban = normalizeIban(raw);\n if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{10,30}$/.test(iban)) {\n return false;\n }\n\n const rearranged = iban.slice(4) + iban.slice(0, 4);\n const numeric = rearranged.replace(/[A-Z]/g, (ch) => (ch.charCodeAt(0) - 55).toString());\n\n let remainder = 0;\n for (let i = 0; i < numeric.length; i += 7) {\n remainder = Number(`${remainder}${numeric.slice(i, i + 7)}`) % 97;\n }\n return remainder === 1;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iban.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iban.test.d.ts","sourceRoot":"/","sources":["iban.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { isValidIban, normalizeIban } from './iban.js';
2
+ describe('normalizeIban', () => {
3
+ test('strips spaces and upper-cases', () => {
4
+ expect(normalizeIban('be76 0689 0799 4795')).toBe('BE76068907994795');
5
+ });
6
+ });
7
+ describe('isValidIban', () => {
8
+ test.each([
9
+ ['BE76 0689 0799 4795', true],
10
+ ['BE84068236789959', true],
11
+ ['BE57736064958035', true],
12
+ ['NL92INGB0671129821', true],
13
+ ['NL26BNPA0227715233', true],
14
+ ['GB82WEST12345698765432', true],
15
+ ])('accepts a valid IBAN %s', (iban, expected) => {
16
+ expect(isValidIban(iban)).toBe(expected);
17
+ });
18
+ test.each([
19
+ ['BE76 0689 0799 4796', false],
20
+ ['BE00068236789959', false],
21
+ ['', false],
22
+ ['NOTANIBAN', false],
23
+ ['BE7', false],
24
+ ])('rejects an invalid IBAN %s', (iban, expected) => {
25
+ expect(isValidIban(iban)).toBe(expected);
26
+ });
27
+ });
28
+ //# sourceMappingURL=iban.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iban.test.js","sourceRoot":"/","sources":["iban.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEvD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,IAAI,CAAC;QACR,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC7B,CAAC,kBAAkB,EAAE,IAAI,CAAC;QAC1B,CAAC,kBAAkB,EAAE,IAAI,CAAC;QAC1B,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAC5B,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAC5B,CAAC,wBAAwB,EAAE,IAAI,CAAC;KACjC,CAAC,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC;QACR,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC9B,CAAC,kBAAkB,EAAE,KAAK,CAAC;QAC3B,CAAC,EAAE,EAAE,KAAK,CAAC;QACX,CAAC,WAAW,EAAE,KAAK,CAAC;QACpB,CAAC,KAAK,EAAE,KAAK,CAAC;KACf,CAAC,CAAC,4BAA4B,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QAClD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { isValidIban, normalizeIban } from './iban.js';\n\ndescribe('normalizeIban', () => {\n test('strips spaces and upper-cases', () => {\n expect(normalizeIban('be76 0689 0799 4795')).toBe('BE76068907994795');\n });\n});\n\ndescribe('isValidIban', () => {\n test.each([\n ['BE76 0689 0799 4795', true], // TheTruckCompany debtor account\n ['BE84068236789959', true], // example file debtor\n ['BE57736064958035', true], // example file creditor\n ['NL92INGB0671129821', true], // example file NL creditor\n ['NL26BNPA0227715233', true],\n ['GB82WEST12345698765432', true],\n ])('accepts a valid IBAN %s', (iban, expected) => {\n expect(isValidIban(iban)).toBe(expected);\n });\n\n test.each([\n ['BE76 0689 0799 4796', false], // last digit changed — checksum fails\n ['BE00068236789959', false], // wrong check digits\n ['', false],\n ['NOTANIBAN', false],\n ['BE7', false], // too short\n ])('rejects an invalid IBAN %s', (iban, expected) => {\n expect(isValidIban(iban)).toBe(expected);\n });\n});\n"]}
package/lib/types.d.ts CHANGED
@@ -102,7 +102,7 @@ export type VatLayerResponse = {
102
102
  vatNumber: string;
103
103
  viesStatus: 'ok' | 'failure';
104
104
  } & ({
105
- formatValid: boolean;
105
+ formatValid?: boolean;
106
106
  viesValid: false;
107
107
  validAt?: undefined;
108
108
  countryCode?: string;
@@ -113,6 +113,8 @@ export type VatLayerResponse = {
113
113
  countryCode: string;
114
114
  name: string;
115
115
  addressLines: string[];
116
+ consultationNumber?: string;
117
+ requesterVatNumber?: string;
116
118
  });
117
119
  export type VatValidationResponse = {
118
120
  vatNumber: string;
@@ -133,6 +135,7 @@ export type VatValidationRequest = {
133
135
  defaultCountry?: string;
134
136
  input: string;
135
137
  cacheDays?: number;
138
+ branchId?: string;
136
139
  };
137
140
  export type CurrencyListResponse = {
138
141
  currencies: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI;IACrC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC;IACR,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI;IAChC,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,MAAM;IAChB,OAAO,cAAc;CACtB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAQF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,GAAG,SAAS,CAAC;CAC9B,GAAG,CACA;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACtF;IACE,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CACJ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,IAAI,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,CACA;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GACzC;IACE,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CACJ,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAE5F,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"/","sources":["types.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAN,IAAY,MAEX;AAFD,WAAY,MAAM;IAChB,+BAAqB,CAAA;AACvB,CAAC,EAFW,MAAM,KAAN,MAAM,QAEjB;AAuHD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B","sourcesContent":["import { AppRoles, TopLevelActions } from './constants.js';\nimport { LocationValue } from './locations.js';\nimport { EmailDestination } from './messages.js';\n\nexport type { GPSCoord, LocationValue } from './locations.js';\n\nexport type PaginatedList<T, M = {}> = {\n results: T[];\n nextToken?: undefined;\n meta: M;\n totalCount: number;\n};\n\nexport type PaginationRequest = {\n limit: number;\n offset: number;\n};\n\nexport type NextList<T, M = {}> = {\n results: T[];\n nextToken?: string;\n meta: M;\n totalCount?: number;\n};\n\nexport type NextRequest = {\n limit?: number;\n nextToken?: string;\n};\n\nexport type PaginatedRequest = {\n limit?: number;\n offset?: number;\n};\nexport type Requester = {\n lang: string;\n roles: AppRoles[];\n actions: TopLevelActions[];\n tenantId: string;\n tenantLang: string;\n userAgent?: string;\n source?: string;\n userId: string;\n isAdmin: boolean;\n isApi: boolean;\n isHuman: boolean;\n};\n\nexport type Option = {\n value: string | number;\n label: string;\n color?: string;\n};\n\nexport enum Region {\n euWest1 = 'eu-west-1',\n}\n\nexport type ErrorResponse = {\n message?: string;\n data?: unknown;\n};\n\nexport type MultiLangValue = { key?: string } & { [languageCode: string]: string };\n\nexport type CognitoInfo = {\n userPoolId: string;\n appClientId: string;\n};\n\nexport type SearchPermissions = {\n users: string[];\n roles: AppRoles[];\n};\n\nexport type PhoneNumberValue = {\n country: string;\n e164: string;\n international: string;\n national: string;\n};\n\nexport type PhoneNumberRawValue = {\n defaultCountry?: string;\n input: string;\n};\n\nexport type LinkValue = {\n text?: string;\n url: string;\n};\n\nexport type Document = {\n type: string; // passport, driving_license, ...\n displayName: string;\n file: AttachmentValue;\n};\n\nexport type AttachmentValue = {\n contentType: string;\n fileName: string;\n id: string;\n previewSrc?: string;\n size: number;\n uploadedAt: string;\n uploadedBy: string;\n url: string;\n descriptions?: string | MultiLangValue;\n};\n\nexport type VatLayerResponseLog = {\n response: VatLayerResponse;\n raw: any;\n};\n\nexport type VatLayerResponse = {\n vatNumber: string;\n viesStatus: 'ok' | 'failure';\n} & (\n | { formatValid: boolean; viesValid: false; validAt?: undefined; countryCode?: string }\n | {\n formatValid: true;\n viesValid: boolean;\n validAt: string;\n countryCode: string;\n name: string;\n addressLines: string[];\n }\n);\n\nexport type VatValidationResponse = {\n vatNumber: string;\n formatValid?: boolean;\n viesStatus: 'ok' | 'failure';\n countryCode?: string;\n} & (\n | { viesValid: false; validAt?: undefined }\n | {\n viesValid: true;\n validAt: string;\n name?: string;\n normalizedAddress?: LocationValue;\n officialAddress?: string[];\n }\n);\n\nexport type VatValidationRequest = {\n defaultCountry?: string;\n input: string;\n cacheDays?: number;\n};\n\nexport type CurrencyListResponse = {\n currencies: Record<string, { label: string }>;\n};\n\nexport type CurrencyConversionRequest = {\n sourceCurrency: string;\n targetCurrency?: string;\n};\n\nexport type DefaultVatRateRequest = {\n branchId?: string;\n organizationId?: string;\n};\n\nexport type DefaultVatRateResponse = {\n defaultVatRate: string;\n};\n\nexport type CurrencyConversionResponse = {\n sourceCurrency: string;\n rates: Record<string, string>;\n};\n\nexport enum TransactionType {\n sale = 'sale',\n purchase = 'purchase',\n}\n\nexport type ShareEmailRequest = {\n country: string; // Lowercase ISO 3166-1 alpha-2 code, e.g. 'be'\n destinations: EmailDestination[];\n message: string;\n subject: string;\n attachments?: AttachmentValue[];\n headers?: Record<string, string>;\n};\n\nexport type WhatsAppContact = {\n phone: PhoneNumberValue | PhoneNumberRawValue;\n name?: string;\n /**\n * Any language the sending flow's template is approved in — both share flows validate against\n * the tenant's catalogue at send time.\n */\n language: string;\n};\n\nexport type ShareWhatsappRequest = {\n contacts: WhatsAppContact[];\n};\n\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;\n\nexport type ChangeRecord = {\n oldValue?: any;\n newValue?: any;\n modifiedBy?: string;\n modifiedAt: string;\n};\n\nexport type LinkWebsiteUserRequest = {\n tenantId: string;\n websiteUserId: string;\n email: string;\n vatNumber: string;\n};\n\nexport type DeleteWebsiteContactLinkRequest = {\n tenantId: string;\n websiteUserId: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"/","sources":["types.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAN,IAAY,MAEX;AAFD,WAAY,MAAM;IAChB,+BAAqB,CAAA;AACvB,CAAC,EAFW,MAAM,KAAN,MAAM,QAEjB;AAoID,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B","sourcesContent":["import { AppRoles, TopLevelActions } from './constants.js';\nimport { LocationValue } from './locations.js';\nimport { EmailDestination } from './messages.js';\n\nexport type { GPSCoord, LocationValue } from './locations.js';\n\nexport type PaginatedList<T, M = {}> = {\n results: T[];\n nextToken?: undefined;\n meta: M;\n totalCount: number;\n};\n\nexport type PaginationRequest = {\n limit: number;\n offset: number;\n};\n\nexport type NextList<T, M = {}> = {\n results: T[];\n nextToken?: string;\n meta: M;\n totalCount?: number;\n};\n\nexport type NextRequest = {\n limit?: number;\n nextToken?: string;\n};\n\nexport type PaginatedRequest = {\n limit?: number;\n offset?: number;\n};\nexport type Requester = {\n lang: string;\n roles: AppRoles[];\n actions: TopLevelActions[];\n tenantId: string;\n tenantLang: string;\n userAgent?: string;\n source?: string;\n userId: string;\n isAdmin: boolean;\n isApi: boolean;\n isHuman: boolean;\n};\n\nexport type Option = {\n value: string | number;\n label: string;\n color?: string;\n};\n\nexport enum Region {\n euWest1 = 'eu-west-1',\n}\n\nexport type ErrorResponse = {\n message?: string;\n data?: unknown;\n};\n\nexport type MultiLangValue = { key?: string } & { [languageCode: string]: string };\n\nexport type CognitoInfo = {\n userPoolId: string;\n appClientId: string;\n};\n\nexport type SearchPermissions = {\n users: string[];\n roles: AppRoles[];\n};\n\nexport type PhoneNumberValue = {\n country: string;\n e164: string;\n international: string;\n national: string;\n};\n\nexport type PhoneNumberRawValue = {\n defaultCountry?: string;\n input: string;\n};\n\nexport type LinkValue = {\n text?: string;\n url: string;\n};\n\nexport type Document = {\n type: string; // passport, driving_license, ...\n displayName: string;\n file: AttachmentValue;\n};\n\nexport type AttachmentValue = {\n contentType: string;\n fileName: string;\n id: string;\n previewSrc?: string;\n size: number;\n uploadedAt: string;\n uploadedBy: string;\n url: string;\n descriptions?: string | MultiLangValue;\n};\n\n/** One row of `public.vatlayer_logs`: our reading of a VIES answer next to the answer itself. */\nexport type VatLayerResponseLog = {\n response: VatLayerResponse;\n raw: any;\n};\n\n/**\n * A VIES answer about a VAT number. The name dates from the vatlayer proxy that relayed VIES\n * answers until September 2026; the shape is unchanged. `formatValid` is absent when the number\n * carries no EU member state prefix, so no format applies. `viesStatus: 'failure'` means VIES\n * could not be reached and the other fields, if any, repeat the last logged answer.\n */\nexport type VatLayerResponse = {\n vatNumber: string;\n viesStatus: 'ok' | 'failure';\n} & (\n | { formatValid?: boolean; viesValid: false; validAt?: undefined; countryCode?: string }\n | {\n formatValid: true;\n viesValid: boolean;\n validAt: string;\n countryCode: string;\n name: string;\n addressLines: string[];\n /** VIES's proof of this check, issued only when we identified ourselves as requester. */\n consultationNumber?: string;\n /** Our VAT number the check was consulted under, when it was. */\n requesterVatNumber?: string;\n }\n);\n\nexport type VatValidationResponse = {\n vatNumber: string;\n formatValid?: boolean;\n viesStatus: 'ok' | 'failure';\n countryCode?: string;\n} & (\n | { viesValid: false; validAt?: undefined }\n | {\n viesValid: true;\n validAt: string;\n name?: string;\n normalizedAddress?: LocationValue;\n officialAddress?: string[];\n }\n);\n\nexport type VatValidationRequest = {\n defaultCountry?: string;\n input: string;\n cacheDays?: number;\n /** Branch the check is made for. Its VAT number, if European, is sent to VIES as requester. */\n branchId?: string;\n};\n\nexport type CurrencyListResponse = {\n currencies: Record<string, { label: string }>;\n};\n\nexport type CurrencyConversionRequest = {\n sourceCurrency: string;\n targetCurrency?: string;\n};\n\nexport type DefaultVatRateRequest = {\n branchId?: string;\n organizationId?: string;\n};\n\nexport type DefaultVatRateResponse = {\n defaultVatRate: string;\n};\n\nexport type CurrencyConversionResponse = {\n sourceCurrency: string;\n rates: Record<string, string>;\n};\n\nexport enum TransactionType {\n sale = 'sale',\n purchase = 'purchase',\n}\n\nexport type ShareEmailRequest = {\n country: string; // Lowercase ISO 3166-1 alpha-2 code, e.g. 'be'\n destinations: EmailDestination[];\n message: string;\n subject: string;\n attachments?: AttachmentValue[];\n headers?: Record<string, string>;\n};\n\nexport type WhatsAppContact = {\n phone: PhoneNumberValue | PhoneNumberRawValue;\n name?: string;\n /**\n * Any language the sending flow's template is approved in — both share flows validate against\n * the tenant's catalogue at send time.\n */\n language: string;\n};\n\nexport type ShareWhatsappRequest = {\n contacts: WhatsAppContact[];\n};\n\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;\n\nexport type ChangeRecord = {\n oldValue?: any;\n newValue?: any;\n modifiedBy?: string;\n modifiedAt: string;\n};\n\nexport type LinkWebsiteUserRequest = {\n tenantId: string;\n websiteUserId: string;\n email: string;\n vatNumber: string;\n};\n\nexport type DeleteWebsiteContactLinkRequest = {\n tenantId: string;\n websiteUserId: string;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bisondesk/commons-sdk",
3
- "version": "1.0.676",
3
+ "version": "1.0.678",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@date-fns/utc": "2.1.1",
@@ -0,0 +1,11 @@
1
+ /**
2
+ * What a transfer needs to name one side of the payment: the account number, the bank's BIC when
3
+ * known, and the account holder's name as the bank knows it. In a SEPA file the account number is
4
+ * an IBAN. Shared by the organisation bank account, the frozen payment export line and the debtor
5
+ * and creditor blocks of the SEPA file.
6
+ */
7
+ export type BankAccountDetails = {
8
+ accountNumber: string;
9
+ bic?: string;
10
+ holderName: string;
11
+ };
package/src/constants.ts CHANGED
@@ -73,6 +73,13 @@ export enum TopLevelActions {
73
73
  ManageStocklists = 'stocklists:manage',
74
74
  TransportsBrowse = 'transports:browse',
75
75
  TransportsManage = 'transports:manage',
76
+ ReorderPurchasePayments = 'vehicles:purchase-payments:reorder',
77
+ SendPurchasePaymentsToProcessing = 'vehicles:purchase-payments:send-to-processing',
78
+ EditPurchaseInvoiceDueDate = 'vehicles:purchase-payments:due-date',
79
+ ExportPurchasePayments = 'vehicles:purchase-payments:export',
80
+ CancelPurchasePayment = 'vehicles:purchase-payments:cancel',
81
+ ManageOrganizationBankAccount = 'crm:orgs:bank-account:manage',
82
+ VerifyOrganizationBankAccount = 'crm:orgs:bank-account:verify',
76
83
  }
77
84
 
78
85
  //
@@ -138,6 +145,7 @@ export enum BusinessEntityIds {
138
145
  Prospects = 'prospects',
139
146
  Stocklists = 'stocklists',
140
147
  Transports = 'transports',
148
+ PaymentExports = 'payment_exports',
141
149
  }
142
150
 
143
151
  //
@@ -0,0 +1,30 @@
1
+ import { isValidIban, normalizeIban } from './iban.js';
2
+
3
+ describe('normalizeIban', () => {
4
+ test('strips spaces and upper-cases', () => {
5
+ expect(normalizeIban('be76 0689 0799 4795')).toBe('BE76068907994795');
6
+ });
7
+ });
8
+
9
+ describe('isValidIban', () => {
10
+ test.each([
11
+ ['BE76 0689 0799 4795', true], // TheTruckCompany debtor account
12
+ ['BE84068236789959', true], // example file debtor
13
+ ['BE57736064958035', true], // example file creditor
14
+ ['NL92INGB0671129821', true], // example file NL creditor
15
+ ['NL26BNPA0227715233', true],
16
+ ['GB82WEST12345698765432', true],
17
+ ])('accepts a valid IBAN %s', (iban, expected) => {
18
+ expect(isValidIban(iban)).toBe(expected);
19
+ });
20
+
21
+ test.each([
22
+ ['BE76 0689 0799 4796', false], // last digit changed — checksum fails
23
+ ['BE00068236789959', false], // wrong check digits
24
+ ['', false],
25
+ ['NOTANIBAN', false],
26
+ ['BE7', false], // too short
27
+ ])('rejects an invalid IBAN %s', (iban, expected) => {
28
+ expect(isValidIban(iban)).toBe(expected);
29
+ });
30
+ });
package/src/iban.ts ADDED
@@ -0,0 +1,22 @@
1
+ /** Strips spaces and upper-cases an IBAN into its canonical, storable form. */
2
+ export const normalizeIban = (raw: string): string => raw.replace(/\s+/g, '').toUpperCase();
3
+
4
+ /**
5
+ * Validates an IBAN's structure and its mod-97 checksum. A passing checksum means the number is
6
+ * well-formed — it is never proof of who holds the account, which stays a manual verification step.
7
+ */
8
+ export const isValidIban = (raw: string): boolean => {
9
+ const iban = normalizeIban(raw);
10
+ if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{10,30}$/.test(iban)) {
11
+ return false;
12
+ }
13
+
14
+ const rearranged = iban.slice(4) + iban.slice(0, 4);
15
+ const numeric = rearranged.replace(/[A-Z]/g, (ch) => (ch.charCodeAt(0) - 55).toString());
16
+
17
+ let remainder = 0;
18
+ for (let i = 0; i < numeric.length; i += 7) {
19
+ remainder = Number(`${remainder}${numeric.slice(i, i + 7)}`) % 97;
20
+ }
21
+ return remainder === 1;
22
+ };
package/src/types.ts CHANGED
@@ -108,16 +108,23 @@ export type AttachmentValue = {
108
108
  descriptions?: string | MultiLangValue;
109
109
  };
110
110
 
111
+ /** One row of `public.vatlayer_logs`: our reading of a VIES answer next to the answer itself. */
111
112
  export type VatLayerResponseLog = {
112
113
  response: VatLayerResponse;
113
114
  raw: any;
114
115
  };
115
116
 
117
+ /**
118
+ * A VIES answer about a VAT number. The name dates from the vatlayer proxy that relayed VIES
119
+ * answers until September 2026; the shape is unchanged. `formatValid` is absent when the number
120
+ * carries no EU member state prefix, so no format applies. `viesStatus: 'failure'` means VIES
121
+ * could not be reached and the other fields, if any, repeat the last logged answer.
122
+ */
116
123
  export type VatLayerResponse = {
117
124
  vatNumber: string;
118
125
  viesStatus: 'ok' | 'failure';
119
126
  } & (
120
- | { formatValid: boolean; viesValid: false; validAt?: undefined; countryCode?: string }
127
+ | { formatValid?: boolean; viesValid: false; validAt?: undefined; countryCode?: string }
121
128
  | {
122
129
  formatValid: true;
123
130
  viesValid: boolean;
@@ -125,6 +132,10 @@ export type VatLayerResponse = {
125
132
  countryCode: string;
126
133
  name: string;
127
134
  addressLines: string[];
135
+ /** VIES's proof of this check, issued only when we identified ourselves as requester. */
136
+ consultationNumber?: string;
137
+ /** Our VAT number the check was consulted under, when it was. */
138
+ requesterVatNumber?: string;
128
139
  }
129
140
  );
130
141
 
@@ -148,6 +159,8 @@ export type VatValidationRequest = {
148
159
  defaultCountry?: string;
149
160
  input: string;
150
161
  cacheDays?: number;
162
+ /** Branch the check is made for. Its VAT number, if European, is sent to VIES as requester. */
163
+ branchId?: string;
151
164
  };
152
165
 
153
166
  export type CurrencyListResponse = {