@lambda-development/erp-core 0.8.23 → 0.8.25

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.
@@ -51,6 +51,65 @@ export interface BankStatementImportResult {
51
51
  }>;
52
52
  exact_duplicate_imports: string[];
53
53
  }
54
+ export interface BankReconciliationTransaction {
55
+ name: string;
56
+ bank_account: string;
57
+ bank_account_id: string;
58
+ bank_statement_import: string;
59
+ company: string;
60
+ base_currency: string;
61
+ bank_currency: string;
62
+ posting_date: string;
63
+ value_date: string | null;
64
+ deposit: number;
65
+ withdrawal: number;
66
+ amount: number;
67
+ currency: string;
68
+ description: string | null;
69
+ remittance_information: string | null;
70
+ reference_number: string | null;
71
+ counterparty_name: string | null;
72
+ counterparty_iban_masked: string;
73
+ structured_reference: string | null;
74
+ status: string;
75
+ reference_doctype: string | null;
76
+ reference_name: string | null;
77
+ reconciled_by: string | null;
78
+ reconciled_at: string | null;
79
+ }
80
+ export interface BankInvoiceSuggestion {
81
+ kind: "invoice";
82
+ reference_doctype: "Sales Invoice" | "Purchase Invoice";
83
+ reference_name: string;
84
+ party_type: "Customer" | "Supplier";
85
+ party: string;
86
+ party_name: string;
87
+ payment_type: "Receive" | "Pay";
88
+ posting_date: string;
89
+ due_date: string | null;
90
+ currency: string;
91
+ grand_total: number;
92
+ outstanding_amount: number;
93
+ suggested_allocation: number;
94
+ score: number;
95
+ reasons: string[];
96
+ }
97
+ export interface BankVoucherSuggestion {
98
+ kind: "existing_voucher";
99
+ voucher_type: "Payment Entry" | "Journal Entry";
100
+ voucher_no: string;
101
+ posting_date: string;
102
+ amount: number;
103
+ currency: string;
104
+ score: number;
105
+ reasons: string[];
106
+ }
107
+ export interface BankReconciliationSuggestions {
108
+ transaction: BankReconciliationTransaction;
109
+ active_reconciliation: Record<string, any> | null;
110
+ existing_vouchers: BankVoucherSuggestion[];
111
+ invoices: BankInvoiceSuggestion[];
112
+ }
54
113
  export interface AvailabilityAsset {
55
114
  name: string;
56
115
  asset_tag: string | null;
@@ -118,6 +177,34 @@ export declare const api: {
118
177
  rows: any[];
119
178
  }>;
120
179
  bankStatementSourceUrl: (name: string) => string;
180
+ listBankReconciliationTransactions: (status?: string, limit?: number) => Promise<{
181
+ rows: BankReconciliationTransaction[];
182
+ }>;
183
+ getBankReconciliationSuggestions: (name: string, limit?: number) => Promise<BankReconciliationSuggestions>;
184
+ reconcileBankPayment: (data: {
185
+ bank_transaction: string;
186
+ allocations: Array<{
187
+ reference_doctype: string;
188
+ reference_name: string;
189
+ allocated_amount: number;
190
+ }>;
191
+ conversion_rate?: number;
192
+ confirmed: boolean;
193
+ }) => Promise<any>;
194
+ reconcileBankJournal: (data: {
195
+ bank_transaction: string;
196
+ counterparty_account: string;
197
+ conversion_rate?: number;
198
+ remarks?: string;
199
+ confirmed: boolean;
200
+ }) => Promise<any>;
201
+ reconcileBankExistingVoucher: (data: {
202
+ bank_transaction: string;
203
+ voucher_type: string;
204
+ voucher_no: string;
205
+ confirmed: boolean;
206
+ }) => Promise<any>;
207
+ undoBankReconciliation: (bankTransaction: string) => Promise<any>;
121
208
  createChatSession: () => Promise<{
122
209
  id: string;
123
210
  title: string;
@@ -90,7 +90,52 @@ declare const _default: {
90
90
  "history": "Letzte Importe",
91
91
  "importId": "Import",
92
92
  "bankAccount": "Bankkonto",
93
- "source": "Quelldatei"
93
+ "source": "Quelldatei",
94
+ "openReconciliation": "Bankabstimmung öffnen"
95
+ },
96
+ "bankReconciliation": {
97
+ "title": "Bankabstimmung",
98
+ "subtitle": "Importierte Banktransaktionen mit Buchungen, offenen Rechnungen oder Sachkonten abstimmen.",
99
+ "status": "Status",
100
+ "unreconciled": "Nicht abgestimmt",
101
+ "reconciled": "Abgestimmt",
102
+ "transactions": "Banktransaktionen",
103
+ "empty": "In dieser Ansicht sind keine Banktransaktionen vorhanden.",
104
+ "remittance": "Zahlungsinformation",
105
+ "reference": "Referenz",
106
+ "openTransaction": "Banktransaktion öffnen",
107
+ "conversionRate": "Wechselkurs (1 {{currency}} in {{base}})",
108
+ "conversionRateHint": "Erforderlich, wenn für das Transaktionsdatum kein Wechselkurs hinterlegt ist.",
109
+ "existingVouchers": "Bestehende Buchungen",
110
+ "existingVouchersHint": "Diese eingereichten Belege enthalten eine exakt passende Bewegung auf diesem Bankkonto. Bei der Zuordnung wird nichts erneut gebucht.",
111
+ "match": "Zuordnen",
112
+ "openInvoices": "Offene Rechnungen",
113
+ "openInvoicesHint": "Wähle eine oder mehrere Rechnungen derselben Partei. Nach der Bestätigung wird eine Zahlung erstellt und eingereicht.",
114
+ "outstanding": "Offen",
115
+ "allocation": "Zuweisung",
116
+ "noInvoiceSuggestions": "Es wurde keine plausible offene Rechnung gefunden.",
117
+ "allocated": "{{amount}} von {{total}} zugewiesen",
118
+ "createPayment": "Zahlung erstellen und abstimmen",
119
+ "directPosting": "Auf ein Sachkonto buchen",
120
+ "directPostingHint": "Für Gebühren, Zinsen und andere Bewegungen ohne Rechnung. Debitoren-, Kreditoren-, Bank- und Kassenkonten sind bewusst ausgeschlossen.",
121
+ "counterpartyAccount": "Gegenkonto",
122
+ "remarks": "Bemerkung",
123
+ "createJournal": "Buchungssatz erstellen und abstimmen",
124
+ "activeMatch": "Aktive Abstimmung",
125
+ "undo": "Abstimmung rückgängig machen",
126
+ "confirmExistingTitle": "Bestehende Buchung zuordnen?",
127
+ "confirmExistingBody": "{{transaction}} mit {{voucher}} abstimmen? Es wird kein neuer Buchungssatz erzeugt.",
128
+ "confirmPaymentTitle": "Zahlung buchen und abstimmen?",
129
+ "confirmPaymentBody": "Damit wird für {{transaction}} eine Zahlung über {{amount}} eingereicht und auf {{count}} Rechnung(en) verteilt.",
130
+ "onAccountWarning": "{{amount}} bleibt als nicht zugewiesene Zahlung bei dieser Partei bestehen.",
131
+ "confirmJournalTitle": "Buchungssatz erstellen und abstimmen?",
132
+ "confirmJournalBody": "Damit werden {{amount}} für {{transaction}} gegen {{account}} gebucht.",
133
+ "postAndReconcile": "Buchen und abstimmen",
134
+ "undoTitle": "Abstimmung rückgängig machen?",
135
+ "undoCreatedBody": "Der durch diese Abstimmung erstellte Beleg wird storniert, seine Hauptbuchungen werden umgekehrt und Rechnungszuweisungen wiederhergestellt.",
136
+ "undoExistingBody": "Der bestehende Beleg wird nur von der Banktransaktion getrennt. Er bleibt eingereicht und seine Buchungen werden nicht verändert.",
137
+ "reconciledNotice": "Banktransaktion wurde abgestimmt.",
138
+ "undoneNotice": "Abstimmung wurde rückgängig gemacht."
94
139
  },
95
140
  "smartSearch": {
96
141
  "placeholder": "Suchen oder Feld:Wert eingeben…",
@@ -271,6 +316,7 @@ declare const _default: {
271
316
  "Bank Transaction": "Banktransaktion",
272
317
  "Bank Account": "Bankkonten",
273
318
  "Bank Statement Import": "Kontoauszug importieren",
319
+ "Bank Reconciliation": "Bankabstimmung",
274
320
  "Budget": "Budget",
275
321
  "Subscription": "Abonnement",
276
322
  "Stock Entry": "Lagerbuchung",
@@ -90,7 +90,52 @@ declare const _default: {
90
90
  "history": "Recent imports",
91
91
  "importId": "Import",
92
92
  "bankAccount": "Bank account",
93
- "source": "Source file"
93
+ "source": "Source file",
94
+ "openReconciliation": "Open bank reconciliation"
95
+ },
96
+ "bankReconciliation": {
97
+ "title": "Bank reconciliation",
98
+ "subtitle": "Match imported bank transactions to posted vouchers, open invoices, or ledger accounts.",
99
+ "status": "Status",
100
+ "unreconciled": "Unreconciled",
101
+ "reconciled": "Reconciled",
102
+ "transactions": "Bank transactions",
103
+ "empty": "No bank transactions in this view.",
104
+ "remittance": "Remittance information",
105
+ "reference": "Reference",
106
+ "openTransaction": "Open bank transaction",
107
+ "conversionRate": "Exchange rate (1 {{currency}} in {{base}})",
108
+ "conversionRateHint": "Required when no exchange rate exists for the transaction date.",
109
+ "existingVouchers": "Existing accounting entries",
110
+ "existingVouchersHint": "These submitted vouchers contain an exact movement on this bank account. Matching does not post them again.",
111
+ "match": "Match",
112
+ "openInvoices": "Open invoices",
113
+ "openInvoicesHint": "Select one or more invoices belonging to the same party. Confirmation creates and submits a Payment Entry.",
114
+ "outstanding": "Outstanding",
115
+ "allocation": "Allocation",
116
+ "noInvoiceSuggestions": "No plausible open invoice was found.",
117
+ "allocated": "Allocated {{amount}} of {{total}}",
118
+ "createPayment": "Create payment and reconcile",
119
+ "directPosting": "Post to a ledger account",
120
+ "directPostingHint": "For fees, interest and other non-invoice movements. Receivable, payable, bank and cash control accounts are intentionally excluded.",
121
+ "counterpartyAccount": "Counter account",
122
+ "remarks": "Remarks",
123
+ "createJournal": "Create journal entry and reconcile",
124
+ "activeMatch": "Active reconciliation",
125
+ "undo": "Undo reconciliation",
126
+ "confirmExistingTitle": "Match existing entry?",
127
+ "confirmExistingBody": "Match {{transaction}} to {{voucher}}? No new ledger entry will be posted.",
128
+ "confirmPaymentTitle": "Post payment and reconcile?",
129
+ "confirmPaymentBody": "This submits a payment of {{amount}} for {{transaction}} and allocates it across {{count}} invoice(s).",
130
+ "onAccountWarning": "{{amount}} will remain as an on-account payment for this party.",
131
+ "confirmJournalTitle": "Post journal entry and reconcile?",
132
+ "confirmJournalBody": "This posts {{amount}} for {{transaction}} against {{account}}.",
133
+ "postAndReconcile": "Post and reconcile",
134
+ "undoTitle": "Undo reconciliation?",
135
+ "undoCreatedBody": "The voucher created by this reconciliation will be cancelled, its ledger entries reversed, and invoice allocations restored.",
136
+ "undoExistingBody": "The existing voucher will only be unlinked. It remains submitted and its ledger entries are not changed.",
137
+ "reconciledNotice": "Bank transaction reconciled.",
138
+ "undoneNotice": "Reconciliation reversed."
94
139
  },
95
140
  "smartSearch": {
96
141
  "placeholder": "Search or enter field:value…",
@@ -271,6 +316,7 @@ declare const _default: {
271
316
  "Bank Transaction": "Bank Transaction",
272
317
  "Bank Account": "Bank Accounts",
273
318
  "Bank Statement Import": "Bank Statement Import",
319
+ "Bank Reconciliation": "Bank Reconciliation",
274
320
  "Budget": "Budget",
275
321
  "Subscription": "Subscription",
276
322
  "Stock Entry": "Stock Entry",
@@ -90,7 +90,52 @@ declare const _default: {
90
90
  "history": "Importations récentes",
91
91
  "importId": "Importation",
92
92
  "bankAccount": "Compte bancaire",
93
- "source": "Fichier source"
93
+ "source": "Fichier source",
94
+ "openReconciliation": "Ouvrir le rapprochement bancaire"
95
+ },
96
+ "bankReconciliation": {
97
+ "title": "Rapprochement bancaire",
98
+ "subtitle": "Rapprochez les transactions importées avec des écritures, des factures ouvertes ou des comptes comptables.",
99
+ "status": "Statut",
100
+ "unreconciled": "Non rapprochée",
101
+ "reconciled": "Rapprochée",
102
+ "transactions": "Transactions bancaires",
103
+ "empty": "Aucune transaction bancaire dans cette vue.",
104
+ "remittance": "Information de paiement",
105
+ "reference": "Référence",
106
+ "openTransaction": "Ouvrir la transaction bancaire",
107
+ "conversionRate": "Taux de change (1 {{currency}} en {{base}})",
108
+ "conversionRateHint": "Requis si aucun taux de change n’existe à la date de la transaction.",
109
+ "existingVouchers": "Écritures existantes",
110
+ "existingVouchersHint": "Ces pièces validées contiennent un mouvement exact sur ce compte bancaire. Le rapprochement ne les comptabilise pas une seconde fois.",
111
+ "match": "Rapprocher",
112
+ "openInvoices": "Factures ouvertes",
113
+ "openInvoicesHint": "Sélectionnez une ou plusieurs factures du même tiers. La confirmation crée et valide un paiement.",
114
+ "outstanding": "Solde ouvert",
115
+ "allocation": "Affectation",
116
+ "noInvoiceSuggestions": "Aucune facture ouverte plausible n’a été trouvée.",
117
+ "allocated": "{{amount}} affectés sur {{total}}",
118
+ "createPayment": "Créer le paiement et rapprocher",
119
+ "directPosting": "Comptabiliser sur un compte",
120
+ "directPostingHint": "Pour les frais, intérêts et autres mouvements sans facture. Les comptes clients, fournisseurs, bancaires et de caisse sont volontairement exclus.",
121
+ "counterpartyAccount": "Compte de contrepartie",
122
+ "remarks": "Remarque",
123
+ "createJournal": "Créer l’écriture et rapprocher",
124
+ "activeMatch": "Rapprochement actif",
125
+ "undo": "Annuler le rapprochement",
126
+ "confirmExistingTitle": "Rapprocher l’écriture existante ?",
127
+ "confirmExistingBody": "Rapprocher {{transaction}} avec {{voucher}} ? Aucune nouvelle écriture ne sera comptabilisée.",
128
+ "confirmPaymentTitle": "Comptabiliser le paiement et rapprocher ?",
129
+ "confirmPaymentBody": "Cette action valide un paiement de {{amount}} pour {{transaction}} et l’affecte à {{count}} facture(s).",
130
+ "onAccountWarning": "{{amount}} resteront comme paiement non affecté pour ce tiers.",
131
+ "confirmJournalTitle": "Comptabiliser l’écriture et rapprocher ?",
132
+ "confirmJournalBody": "Cette action comptabilise {{amount}} pour {{transaction}} sur {{account}}.",
133
+ "postAndReconcile": "Comptabiliser et rapprocher",
134
+ "undoTitle": "Annuler le rapprochement ?",
135
+ "undoCreatedBody": "La pièce créée par ce rapprochement sera annulée, ses écritures extournées et les affectations aux factures restaurées.",
136
+ "undoExistingBody": "La pièce existante sera uniquement dissociée. Elle restera validée et ses écritures ne seront pas modifiées.",
137
+ "reconciledNotice": "Transaction bancaire rapprochée.",
138
+ "undoneNotice": "Rapprochement annulé."
94
139
  },
95
140
  "smartSearch": {
96
141
  "placeholder": "Rechercher ou saisir champ:valeur…",
@@ -271,6 +316,7 @@ declare const _default: {
271
316
  "Bank Transaction": "Transaction bancaire",
272
317
  "Bank Account": "Comptes bancaires",
273
318
  "Bank Statement Import": "Importer un relevé bancaire",
319
+ "Bank Reconciliation": "Rapprochement bancaire",
274
320
  "Budget": "Budget",
275
321
  "Subscription": "Abonnement",
276
322
  "Stock Entry": "Mouvement de stock",