[2026-02-11 12:26:09.000] === STARTING PROCESSING SESSION === [2026-02-11 12:26:09.000] PHP Version: 8.4.16 [2026-02-11 12:26:09.000] Memory Limit: 128M [2026-02-11 12:26:09.000] Max Execution Time: 120 [2026-02-11 12:26:09.000] Disabled functions: NONE [2026-02-11 12:26:09.000] Raw body length: 219710 [2026-02-11 12:26:09.000] Provided signature: 27e1908c38ad08c064dc... [2026-02-11 12:26:09.000] Expected signature: 27e1908c38ad08c064dc... [2026-02-11 12:26:09.000] Signature verified successfully [2026-02-11 12:26:09.000] Payload JSON decoded: SUCCESS [2026-02-11 12:26:09.000] Number of PDFs to process: 1 [2026-02-11 12:26:09.000] --- Processing PDF #1 --- [2026-02-11 12:26:09.000] PDF base64 provided: YES, length: 216008 [2026-02-11 12:26:09.000] PDF bytes decoded: 162005 bytes [2026-02-11 12:26:09.000] Temp PDF written to /tmp/invoice_698c7561599a1.pdf, bytes written: 162005 [2026-02-11 12:26:09.000] Temp PDF exists: YES [2026-02-11 12:26:09.000] Temp PDF size: 162005 bytes [2026-02-11 12:26:09.000] PDF hash: 7355d3d0688ba09cfd8b8290cd894a114ccb3d15510cbddb0e50f287590da6ef [2026-02-11 12:26:09.000] Checking database cache for hash: 7355d3d0688ba09c... [2026-02-11 12:26:09.000] CACHE MISS - Not found in database [2026-02-11 12:26:09.000] Starting PDF processing (not cached) [2026-02-11 12:26:09.000] STEP 1: Quick Smalot parser attempt [2026-02-11 12:26:09.000] Smalot parsing took: 0.01 seconds [2026-02-11 12:26:09.000] Number of pages detected: 1 [2026-02-11 12:26:09.000] Smalot extracted text length: 2400 [2026-02-11 12:26:09.000] Smalot parser SUCCESS - using text extraction [2026-02-11 12:26:09.000] Smalot text preview (first 200 chars): | Data: 41761494502.12.2024 Rechnung / Invoice Mietvertrag / RA No. xxxx xxxxxxxxxxxx0404 MCC Ablaufdatum / Exp. Date Kreditkarte / Credit Card Zahlung / Payment Voucher No. Account No. R142400695Reservierun [2026-02-11 12:26:09.000] Using Smalot OCR method, text length: 2400 [2026-02-11 12:26:09.000] Attempting OpenAI parsing with smalot OCR [2026-02-11 12:26:09.000] run_openai_parse called, text length: 2400 [2026-02-11 12:26:09.000] OpenAI input preview: | Data: 41761494502.12.2024 Rechnung / Invoice Mietvertrag / RA No. xxxx xxxxxxxxxxxx0404 MCC Ablaufdatum / Exp. Date Kreditkarte / Credit Card Zahlung / Payment Voucher No. Account No. R142400695Reservierun... [2026-02-11 12:26:09.000] Making OpenAI API call... [2026-02-11 12:26:10.000] OpenAI HTTP response code: 200 [2026-02-11 12:26:10.000] OpenAI response received, length: 980 [2026-02-11 12:26:10.000] OpenAI content extracted, length: 142 [2026-02-11 12:26:10.000] OpenAI parsed JSON result | Data: {"invoice_number":"41761494502","amount":"100.55","due_date":null,"invoice_date":"2024-12-01","currency":"EUR"} [2026-02-11 12:26:10.000] Final AI result | Data: {"invoice_number":"41761494502","amount":"100.55","due_date":null,"invoice_date":"2024-12-01","currency":"EUR"} [2026-02-11 12:26:10.000] normalize_amount called with: | Data: 100.55 [2026-02-11 12:26:10.000] normalize_amount result: | Data: 100.55 [2026-02-11 12:26:10.000] normalize_date_iso called with: | Data: 2024-12-01 [2026-02-11 12:26:10.000] Final extracted values | Data: {"invoice_number":"41761494502","amount":"100.55","due_date":null,"invoice_date":"2024-12-01","currency":"EUR"} [2026-02-11 12:26:10.000] Attempting to save PDF to: /var/www/html/pdfs/invoice_35e2365f90a9de48384f4610dc512f83.pdf [2026-02-11 12:26:10.000] PDF saved successfully to /var/www/html/pdfs/invoice_35e2365f90a9de48384f4610dc512f83.pdf [2026-02-11 12:26:10.000] Database INSERT SUCCESS [2026-02-11 12:26:10.000] Adding to invoices array | Data: {"uuid":"35e2365f90a9de48384f4610dc512f83","invoice_number":"41761494502","amount":"100.55","due_date":null,"invoice_date":"2024-12-01","currency":"EUR","cached":false,"ocr_method":"smalot","local_ocr_failed":false} [2026-02-11 12:26:10.000] --- Finished processing PDF #1 --- [2026-02-11 12:26:10.000] === TOTAL PROCESSING TIME: 1262.42ms === [2026-02-11 12:26:10.000] Total invoices processed: 1 [2026-02-11 12:26:10.000] Response sent, size: 230 bytes