@lambda-development/erp-core 0.8.21 → 0.8.22

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.
@@ -5,6 +5,52 @@ export declare class ApiError extends Error {
5
5
  constructor(status: number, message: string);
6
6
  }
7
7
  export declare function request<T>(path: string, options?: RequestInit): Promise<T>;
8
+ export interface BankStatementPreview {
9
+ statement_key: string;
10
+ file_name: string;
11
+ schema_version: string;
12
+ statement_id: string;
13
+ account_iban_masked: string;
14
+ account_name: string | null;
15
+ account_currency: string;
16
+ bank_name: string | null;
17
+ bank_bic: string | null;
18
+ from_date: string | null;
19
+ to_date: string | null;
20
+ opening_balance: string | null;
21
+ closing_balance: string | null;
22
+ credit_total: string;
23
+ debit_total: string;
24
+ entry_count: number;
25
+ booked_entry_count: number;
26
+ detail_count: number;
27
+ batch_entry_count: number;
28
+ qr_reference_count: number;
29
+ duplicate_entry_count: number;
30
+ already_imported: boolean;
31
+ existing_import: string | null;
32
+ matched_bank_account: {
33
+ name: string;
34
+ account_name: string;
35
+ company: string;
36
+ account: string;
37
+ currency: string;
38
+ bank_name: string | null;
39
+ iban_masked: string;
40
+ } | null;
41
+ warnings: string[];
42
+ }
43
+ export interface BankStatementImportResult {
44
+ imports: Array<{
45
+ name: string;
46
+ bank_account: string;
47
+ account_iban_masked: string;
48
+ imported_entry_count: number;
49
+ duplicate_entry_count: number;
50
+ skipped_non_booked_count: number;
51
+ }>;
52
+ exact_duplicate_imports: string[];
53
+ }
8
54
  export interface AvailabilityAsset {
9
55
  name: string;
10
56
  asset_tag: string | null;
@@ -64,6 +110,14 @@ export declare const api: {
64
110
  warning?: string;
65
111
  }>;
66
112
  getChatAttachmentUrl: (id: string) => string;
113
+ previewBankStatements: (files: File[]) => Promise<{
114
+ statements: BankStatementPreview[];
115
+ }>;
116
+ importBankStatements: (files: File[], mappings: Record<string, string>) => Promise<BankStatementImportResult>;
117
+ listBankStatementImports: (limit?: number) => Promise<{
118
+ rows: any[];
119
+ }>;
120
+ bankStatementSourceUrl: (name: string) => string;
67
121
  createChatSession: () => Promise<{
68
122
  id: string;
69
123
  title: string;
@@ -7,3 +7,8 @@ export declare function ProtectedRoute({ children }: {
7
7
  export declare function AdminRoute({ children }: {
8
8
  children: React.ReactNode;
9
9
  }): import("react/jsx-runtime").JSX.Element;
10
+ /** Restrict operational write workflows to real managers and admins.
11
+ * In particular this excludes the shared public demo manager account. */
12
+ export declare function ManagerRoute({ children }: {
13
+ children: React.ReactNode;
14
+ }): import("react/jsx-runtime").JSX.Element;
@@ -59,6 +59,37 @@ declare const _default: {
59
59
  "endOfThisYear": "Ende dieses Jahres",
60
60
  "endOfLastYear": "Ende des letzten Jahres"
61
61
  },
62
+ "bankStatements": {
63
+ "title": "Kontoauszug importieren",
64
+ "subtitle": "ISO-20022-CAMT-Kontoauszüge prüfen und ohne automatische Verbuchung importieren.",
65
+ "selectFiles": "CAMT-Dateien",
66
+ "chooseFiles": "XML- oder ZIP-Dateien auswählen",
67
+ "fileHint": "camt.053.001.04 und camt.053.001.08 · mehrere Dateien möglich",
68
+ "preview": "Vorschau anzeigen",
69
+ "noPosting": "Vorschau und Import erzeugen keine Buchungssätze.",
70
+ "alreadyImported": "Bereits importiert",
71
+ "period": "Zeitraum",
72
+ "openingBalance": "Anfangssaldo",
73
+ "closingBalance": "Endsaldo",
74
+ "entries": "Buchungen",
75
+ "credits": "Gutschriften",
76
+ "debits": "Belastungen",
77
+ "details": "Transaktionsdetails",
78
+ "batches": "Sammelbuchungen",
79
+ "qrReferences": "QR-Referenzen",
80
+ "mapping": "Bankkonto-Zuordnung",
81
+ "selectBankAccount": "Bankkonto auswählen…",
82
+ "noBankAccounts": "Es wurde noch kein Bankkonto eingerichtet.",
83
+ "createBankAccount": "Bankkonto einrichten",
84
+ "mappingRequired": "Ordnen Sie vor dem Import jeden neuen Auszug einem Bankkonto zu.",
85
+ "import": "Kontoauszüge importieren",
86
+ "importComplete": "Import abgeschlossen",
87
+ "importCounts": "{{imported}} Buchungen importiert, {{duplicates}} Duplikate übersprungen",
88
+ "history": "Letzte Importe",
89
+ "importId": "Import",
90
+ "bankAccount": "Bankkonto",
91
+ "source": "Quelldatei"
92
+ },
62
93
  "smartSearch": {
63
94
  "placeholder": "Suchen oder Feld:Wert eingeben…",
64
95
  "search": "Suchen",
@@ -153,6 +184,10 @@ declare const _default: {
153
184
  "one": "Banktransaktion",
154
185
  "other": "Banktransaktionen"
155
186
  },
187
+ "bank-account": {
188
+ "one": "Bankkonto",
189
+ "other": "Bankkonten"
190
+ },
156
191
  "budget": {
157
192
  "one": "Budget",
158
193
  "other": "Budgets"
@@ -232,6 +267,8 @@ declare const _default: {
232
267
  "Payment Entry": "Zahlung",
233
268
  "Journal Entry": "Buchungssatz",
234
269
  "Bank Transaction": "Banktransaktion",
270
+ "Bank Account": "Bankkonten",
271
+ "Bank Statement Import": "Kontoauszug importieren",
235
272
  "Budget": "Budget",
236
273
  "Subscription": "Abonnement",
237
274
  "Stock Entry": "Lagerbuchung",
@@ -59,6 +59,37 @@ declare const _default: {
59
59
  "endOfThisYear": "End of This Year",
60
60
  "endOfLastYear": "End of Last Year"
61
61
  },
62
+ "bankStatements": {
63
+ "title": "Bank statement import",
64
+ "subtitle": "Preview and import ISO 20022 CAMT statements without posting to the ledger.",
65
+ "selectFiles": "CAMT files",
66
+ "chooseFiles": "Choose XML or ZIP files",
67
+ "fileHint": "camt.053.001.04 and camt.053.001.08 · multiple files supported",
68
+ "preview": "Show preview",
69
+ "noPosting": "Previewing and importing do not post accounting entries.",
70
+ "alreadyImported": "Already imported",
71
+ "period": "Period",
72
+ "openingBalance": "Opening balance",
73
+ "closingBalance": "Closing balance",
74
+ "entries": "Entries",
75
+ "credits": "Credits",
76
+ "debits": "Debits",
77
+ "details": "Transaction details",
78
+ "batches": "batches",
79
+ "qrReferences": "QR references",
80
+ "mapping": "Bank account mapping",
81
+ "selectBankAccount": "Select a Bank Account…",
82
+ "noBankAccounts": "No Bank Account has been configured yet.",
83
+ "createBankAccount": "Create Bank Account",
84
+ "mappingRequired": "Map every new statement to a Bank Account before importing.",
85
+ "import": "Import bank statements",
86
+ "importComplete": "Import completed",
87
+ "importCounts": "{{imported}} entries imported, {{duplicates}} duplicates skipped",
88
+ "history": "Recent imports",
89
+ "importId": "Import",
90
+ "bankAccount": "Bank account",
91
+ "source": "Source file"
92
+ },
62
93
  "smartSearch": {
63
94
  "placeholder": "Search or enter field:value…",
64
95
  "search": "Search",
@@ -153,6 +184,10 @@ declare const _default: {
153
184
  "one": "Bank Transaction",
154
185
  "other": "Bank Transactions"
155
186
  },
187
+ "bank-account": {
188
+ "one": "Bank Account",
189
+ "other": "Bank Accounts"
190
+ },
156
191
  "budget": {
157
192
  "one": "Budget",
158
193
  "other": "Budgets"
@@ -232,6 +267,8 @@ declare const _default: {
232
267
  "Payment Entry": "Payment Entry",
233
268
  "Journal Entry": "Journal Entry",
234
269
  "Bank Transaction": "Bank Transaction",
270
+ "Bank Account": "Bank Accounts",
271
+ "Bank Statement Import": "Bank Statement Import",
235
272
  "Budget": "Budget",
236
273
  "Subscription": "Subscription",
237
274
  "Stock Entry": "Stock Entry",
@@ -59,6 +59,37 @@ declare const _default: {
59
59
  "endOfThisYear": "Fin de l’année en cours",
60
60
  "endOfLastYear": "Fin de l’année dernière"
61
61
  },
62
+ "bankStatements": {
63
+ "title": "Importer un relevé bancaire",
64
+ "subtitle": "Prévisualisez et importez des relevés ISO 20022 CAMT sans écriture comptable automatique.",
65
+ "selectFiles": "Fichiers CAMT",
66
+ "chooseFiles": "Choisir des fichiers XML ou ZIP",
67
+ "fileHint": "camt.053.001.04 et camt.053.001.08 · plusieurs fichiers acceptés",
68
+ "preview": "Afficher l’aperçu",
69
+ "noPosting": "L’aperçu et l’importation ne génèrent aucune écriture comptable.",
70
+ "alreadyImported": "Déjà importé",
71
+ "period": "Période",
72
+ "openingBalance": "Solde initial",
73
+ "closingBalance": "Solde final",
74
+ "entries": "Opérations",
75
+ "credits": "Crédits",
76
+ "debits": "Débits",
77
+ "details": "Détails des transactions",
78
+ "batches": "lots",
79
+ "qrReferences": "Références QR",
80
+ "mapping": "Affectation du compte bancaire",
81
+ "selectBankAccount": "Sélectionner un compte bancaire…",
82
+ "noBankAccounts": "Aucun compte bancaire n’a encore été configuré.",
83
+ "createBankAccount": "Configurer un compte bancaire",
84
+ "mappingRequired": "Affectez chaque nouveau relevé à un compte bancaire avant l’importation.",
85
+ "import": "Importer les relevés",
86
+ "importComplete": "Importation terminée",
87
+ "importCounts": "{{imported}} opérations importées, {{duplicates}} doublons ignorés",
88
+ "history": "Importations récentes",
89
+ "importId": "Importation",
90
+ "bankAccount": "Compte bancaire",
91
+ "source": "Fichier source"
92
+ },
62
93
  "smartSearch": {
63
94
  "placeholder": "Rechercher ou saisir champ:valeur…",
64
95
  "search": "Rechercher",
@@ -153,6 +184,10 @@ declare const _default: {
153
184
  "one": "Transaction bancaire",
154
185
  "other": "Transactions bancaires"
155
186
  },
187
+ "bank-account": {
188
+ "one": "Compte bancaire",
189
+ "other": "Comptes bancaires"
190
+ },
156
191
  "budget": {
157
192
  "one": "Budget",
158
193
  "other": "Budgets"
@@ -232,6 +267,8 @@ declare const _default: {
232
267
  "Payment Entry": "Paiement",
233
268
  "Journal Entry": "Écriture comptable",
234
269
  "Bank Transaction": "Transaction bancaire",
270
+ "Bank Account": "Comptes bancaires",
271
+ "Bank Statement Import": "Importer un relevé bancaire",
235
272
  "Budget": "Budget",
236
273
  "Subscription": "Abonnement",
237
274
  "Stock Entry": "Mouvement de stock",