From 3584fb4f3e34b6fed70da8cdad22988992f7a2a1 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 8 Sep 2025 15:10:55 +0000 Subject: [PATCH] Fix error in invoice verification cache creation logic Correct the database schema to include the missing "is_reconciled" column in the invoice_verification_cache table to resolve errors during cache creation and ensure proper invoice verification. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/p0qYuko --- ...oes-not-ex-1757344252093_1757344252093.txt | 199 ++++++++++++++++++ ...-4B6C-B2E9-708265C6A84B}_1757344214372.png | Bin 0 -> 298860 bytes 2 files changed, 199 insertions(+) create mode 100644 attached_assets/Pasted--stack-error-column-is-reconciled-of-relation-invoice-verification-cache-does-not-ex-1757344252093_1757344252093.txt create mode 100644 attached_assets/{830DA296-77E8-4B6C-B2E9-708265C6A84B}_1757344214372.png diff --git a/attached_assets/Pasted--stack-error-column-is-reconciled-of-relation-invoice-verification-cache-does-not-ex-1757344252093_1757344252093.txt b/attached_assets/Pasted--stack-error-column-is-reconciled-of-relation-invoice-verification-cache-does-not-ex-1757344252093_1757344252093.txt new file mode 100644 index 0000000..8641156 --- /dev/null +++ b/attached_assets/Pasted--stack-error-column-is-reconciled-of-relation-invoice-verification-cache-does-not-ex-1757344252093_1757344252093.txt @@ -0,0 +1,199 @@ + + stack: 'error: column "is_reconciled" of relation "invoice_verification_cache" does not exist\n' + + + ' at /app/node_modules/pg-pool/index.js:45:11\n' + + + ' at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' + + + ' at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22\n' + + + ' at async DatabaseStorage.createInvoiceVerificationCache (file:///app/dist/index.js:2409:27)\n' + + + ' at async InvoiceVerificationService.saveToCache (file:///app/dist/index.js:4863:30)\n' + + + ' at async InvoiceVerificationService.verifyInvoice (file:///app/dist/index.js:5073:15)\n' + + + ' at async file:///app/dist/index.js:13791:18' + +} + +✅ Résultat vérification: { + + exists: true, + + matchType: 'invoice_reference', + + invoiceReference: 'F5192259', + + invoiceAmount: 2268.24, + + supplierName: 'JJA Noel / Plein Air' + +} + +POST /api/deliveries/88/verify-invoice 200 in 4512ms + +POST /api/deliveries/88/verify-invoice 200 in 3587ms + +POST /api/deliveries/163/verify-invoice 200 in 3805ms + +✅ Résultat vérification: { + + exists: true, + + matchType: 'invoice_reference', + + invoiceReference: 'FCLT036018', + + invoiceAmount: 1141.28, + + supplierName: 'Idvpc' + +} + +POST /api/deliveries/139/verify-invoice 200 in 3670ms + +❌ Erreur création cache: error: column "is_reconciled" of relation "invoice_verification_cache" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22 + + at async DatabaseStorage.createInvoiceVerificationCache (file:///app/dist/index.js:2409:27) + + at async InvoiceVerificationService.saveToCache (file:///app/dist/index.js:4863:30) + + at async InvoiceVerificationService.verifyInvoice (file:///app/dist/index.js:5073:15) + + at async file:///app/dist/index.js:13791:18 { + + length: 153, + + severity: 'ERROR', + + code: '42703', + + detail: undefined, + + hint: undefined, + + position: '183', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_target.c', + + line: '1075', + + routine: 'checkInsertTargets' + +} + +❌ [CACHE] Erreur sauvegarde cache: error: column "is_reconciled" of relation "invoice_verification_cache" does not exist + + at /app/node_modules/pg-pool/index.js:45:11 + + at process.processTicksAndRejections (node:internal/process/task_queues:95:5) + + at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22 + + at async DatabaseStorage.createInvoiceVerificationCache (file:///app/dist/index.js:2409:27) + + at async InvoiceVerificationService.saveToCache (file:///app/dist/index.js:4863:30) + + at async InvoiceVerificationService.verifyInvoice (file:///app/dist/index.js:5073:15) + + at async file:///app/dist/index.js:13791:18 { + + length: 153, + + severity: 'ERROR', + + code: '42703', + + detail: undefined, + + hint: undefined, + + position: '183', + + internalPosition: undefined, + + internalQuery: undefined, + + where: undefined, + + schema: undefined, + + table: undefined, + + column: undefined, + + dataType: undefined, + + constraint: undefined, + + file: 'parse_target.c', + + line: '1075', + + routine: 'checkInsertTargets' + +} + +❌ [CACHE] Détails erreur: { + + name: 'error', + + message: 'column "is_reconciled" of relation "invoice_verification_cache" does not exist', + + stack: 'error: column "is_reconciled" of relation "invoice_verification_cache" does not exist\n' + + + ' at /app/node_modules/pg-pool/index.js:45:11\n' + + + ' at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' + + + ' at async file:///app/node_modules/drizzle-orm/node-postgres/session.js:83:22\n' + + + ' at async DatabaseStorage.createInvoiceVerificationCache (file:///app/dist/index.js:2409:27)\n' + + + ' at async InvoiceVerificationService.saveToCache (file:///app/dist/index.js:4863:30)\n' + + + ' at async InvoiceVerificationService.verifyInvoice (file:///app/dist/index.js:5073:15)\n' + + + ' at async file:///app/dist/index.js:13791:18' + +} + +DELETE /api/groups/3 200 in 47ms + +GET /api/groups 200 in 4ms + +GET /api/user 304 in 4ms + +🔍 Avoirs API called with: { groupIds: undefined, userRole: 'admin' } + +📋 Avoirs returned: 0 items + +GET /api/avoirs 200 in 10ms + +HEAD /api/health 200 in 1ms + +POST /api/avoirs 400 in 51ms + diff --git a/attached_assets/{830DA296-77E8-4B6C-B2E9-708265C6A84B}_1757344214372.png b/attached_assets/{830DA296-77E8-4B6C-B2E9-708265C6A84B}_1757344214372.png new file mode 100644 index 0000000000000000000000000000000000000000..f86ff7198504527e52003a6b7fa30dc0968d5d14 GIT binary patch literal 298860 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