feat: simplify receipt import matching logic and enhance trace logging
Test Suite / test (24.15.0) (push) Has been cancelled

This commit is contained in:
Nils-Johan Gynther
2026-05-09 15:17:00 +02:00
parent 1966a92a87
commit 97e7b09bcd
4 changed files with 76 additions and 1 deletions
+1
View File
@@ -91,6 +91,7 @@ Detta dokument är skrivet för systemadministratörer och programmerare. Fokus
- **PDF-kvittoimport:** `pdf-parse` importeras med `require()` (CJS); `pdfjs-dist/legacy/build/pdf.js` som fallback undviker `DOMMatrix`-fel.
- **Felkods-forwarding:** `receipt-import.service.ts` kastar `ServiceUnavailableException` vid 503/429 från importer-api (tidigare alltid 400).
- **AI-skippning (PDF):** `looksLikeReceiptProductLine()` i importer-api filtrerar rader utan siffra — minskar Mistral-anrop drastiskt för vanliga PDF-kvitton.
- **Simplified Matching Logic (2026-05-09):** Unified matcher konsoliderar receipt-import matching och categorization. Tidigare var logiken splittrad mellan `matchProducts()` och `enrichWithAiCategories()`; nu är allt i `matchAndEnrichReceiptItem()` med explicit steg: Alias lookup → Word-match → Categorization (Rules → AI → Guards → Hard overrides). Bättre trace-logging och debuggability. Context-loading görs en gång per receipt (parallell loading) istället för repeated queries.
### Driftnotering
Verifiera efter deploy att seed-körning inkluderar uppdaterat kategoriträd och att kvittoflödet använder den senaste regelbaserade parserlogiken.