[2026-05-04 11:45:58] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 11:45:59] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 11:47:33] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F8%2Fpdf","ip":"117.235.82.69","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(405): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(8)\n#2 {main}"}
[2026-05-04 11:48:06] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F8%2Fpdf","ip":"117.235.82.69","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(405): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(8)\n#2 {main}"}
[2026-05-04 11:48:23] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Fexpenses%2F3%2Fpdf","ip":"117.235.82.69","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(231): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(343): pdf_output_report('Expense Report', Array, Array, Array, true, 'expense-report-...')\n#2 {main}"}
[2026-05-04 11:52:01] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F8%2Fpdf","ip":"117.235.82.69","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(405): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(8)\n#2 {main}"}
[2026-05-04 12:03:54] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoice%2F9%2Fpdf","ip":"117.235.82.69","exception":"RuntimeException","message":"Invoice not found","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":243,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(401): pdf_invoice_data(9)\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(391): pdf_output_invoice(9)\n#2 {main}"}
[2026-05-04 14:05:24] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 14:05:25] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 15:10:56] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 15:10:56] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.235.82.69"}
[2026-05-04 16:01:26] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.99.88"}
[2026-05-04 16:01:26] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.99.88"}
[2026-05-04 16:45:49] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Foutstanding%2F2%2Fpdf","ip":"157.48.99.190","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(231): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(238): pdf_output_report('Client Outstand...', Array, Array, Array, false, 'client-outstand...')\n#2 {main}"}
[2026-05-04 16:46:04] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Foutstanding%2Fpdf","ip":"157.48.99.190","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(231): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(146): pdf_output_report('Client Outstand...', Array, Array, Array, false, 'client-outstand...')\n#2 {main}"}
[2026-05-04 16:46:06] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Foutstanding%2F2%2Fpdf","ip":"157.48.99.190","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(231): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(238): pdf_output_report('Client Outstand...', Array, Array, Array, false, 'client-outstand...')\n#2 {main}"}
[2026-05-04 16:48:09] [INFO] Client created {"client_code":"CL-004","name":"SIS CASH SERVICES LIMITED","mobile":"","method":"POST","uri":"/billing/public/api/index.php?path=clients","ip":"157.48.99.190"}
[2026-05-04 16:49:48] [INFO] Invoice create request {"payload":{"invoice_date":"2026-05-04","client_id":4,"billing_month":"APRIL 26","service_order_no":"-","service_order_date":"","items":[{"description":"Gunman","sac_code":"998525","persons":10,"duty_days":300,"total_days":300,"overtime":0,"amount":180000},{"description":"OVERTIME","sac_code":"","persons":0,"duty_days":0,"total_days":0,"overtime":520,"amount":31200}],"charge_items":[],"gst_items":[]},"method":"POST","uri":"/billing/public/api/index.php?path=invoices","ip":"157.48.99.190"}
[2026-05-04 16:49:48] [INFO] Invoice create response {"invoice_id":9,"response":{"message":"Invoice created","invoice_no":"9","amount":211200,"gst":0,"total_amount":211200},"summary":{"client_id":4,"billing_month":"APRIL 26","item_count":2,"charge_count":0,"gst_count":0},"method":"POST","uri":"/billing/public/api/index.php?path=invoices","ip":"157.48.99.190"}
[2026-05-04 16:50:40] [INFO] Invoice updated {"id":9,"client_id":4,"billing_month":"APRIL 26","item_count":2,"charge_count":1,"gst_count":2,"method":"PUT","uri":"/billing/public/api/index.php?path=invoices%2F9","ip":"157.48.99.190"}
[2026-05-04 16:52:09] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"106.215.124.113"}
[2026-05-04 16:52:10] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"106.215.124.113"}
[2026-05-04 16:52:56] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoice%2F9%2Fpdf","ip":"106.215.124.113","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(405): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(391): pdf_output_invoice(9)\n#2 {main}"}
[2026-05-04 16:53:09] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"106.215.124.113","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(405): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#2 {main}"}
[2026-05-04 16:55:35] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2Fpdf","ip":"106.215.124.113","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(231): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(165): pdf_output_report('Invoice Report', Array, Array, Array, true, 'invoice-report....')\n#2 {main}"}
[2026-05-04 17:15:38] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.99.190"}
[2026-05-04 17:15:39] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.99.190"}
[2026-05-04 19:30:23] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 19:30:23] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 19:30:23] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 19:30:23] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 20:16:02] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 20:16:02] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"117.253.249.0"}
[2026-05-04 22:46:56] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"49.36.233.76"}
[2026-05-04 22:46:56] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"49.36.233.76"}
[2026-05-04 22:47:22] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"49.36.233.76","exception":"RuntimeException","message":"Browser-based PDF rendering is required so report view and print keep the same template format. Install local Edge or Chrome on the server.","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":173,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(428): render_html_to_pdf_bytes_or_fail('<!DOCTYPE html>...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#2 {main}"}
[2026-05-04 23:07:28] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"49.36.233.76","exception":"Error","message":"Cannot access protected property FPDF::$lMargin","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":270,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(348): pdf_scaled_widths(Object(FPDF), Array)\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(673): render_fpdf_invoice_bytes(Array)\n#2 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(398): {closure}()\n#3 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(674): render_pdf_bytes_with_fallback('<!DOCTYPE html>...', Object(Closure))\n#4 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#5 {main}"}
[2026-05-04 23:07:38] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F8%2Fpdf","ip":"49.36.233.76","exception":"Error","message":"Cannot access protected property FPDF::$lMargin","file":"/home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php","line":270,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(348): pdf_scaled_widths(Object(FPDF), Array)\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(673): render_fpdf_invoice_bytes(Array)\n#2 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(398): {closure}()\n#3 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(674): render_pdf_bytes_with_fallback('<!DOCTYPE html>...', Object(Closure))\n#4 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(8)\n#5 {main}"}
[2026-05-04 23:26:32] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"49.36.233.76","exception":"Exception","message":"FPDF error: Not a JPEG file: /home/safefamilyco/billing.safefamily.co.in/billing/config/../templates/reports/report_template/resources/image_0_0.jpg","file":"/home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php","line":267,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(1259): FPDF->Error('Not a JPEG file...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(890): FPDF->_parsejpg('/home/safefamil...')\n#2 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(169): FPDF->Image('/home/safefamil...', 10, 10, 190.00155555556)\n#3 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(428): pdf_draw_full_width_image(Object(BillingPdf), '/home/safefamil...', 1.5)\n#4 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(856): render_fpdf_invoice_bytes(Array)\n#5 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(581): {closure}()\n#6 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(857): render_pdf_bytes_with_fallback('<!DOCTYPE html>...', Object(Closure))\n#7 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#8 {main}"}
[2026-05-04 23:34:00] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"49.36.233.76"}
[2026-05-04 23:34:00] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"49.36.233.76"}
[2026-05-04 23:34:11] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"49.36.233.76","exception":"Exception","message":"FPDF error: Not a JPEG file: /home/safefamilyco/billing.safefamily.co.in/billing/config/../templates/reports/report_template/resources/image_0_0.jpg","file":"/home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php","line":267,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(1259): FPDF->Error('Not a JPEG file...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(890): FPDF->_parsejpg('/home/safefamil...')\n#2 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(169): FPDF->Image('/home/safefamil...', 10, 10, 190.00155555556)\n#3 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(428): pdf_draw_full_width_image(Object(BillingPdf), '/home/safefamil...', 1.5)\n#4 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(856): render_fpdf_invoice_bytes(Array)\n#5 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(581): {closure}()\n#6 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(857): render_pdf_bytes_with_fallback('<!DOCTYPE html>...', Object(Closure))\n#7 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#8 {main}"}
[2026-05-04 23:34:28] [ERROR] Unhandled exception {"method":"GET","uri":"/billing/public/api/index.php?path=reports%2Finvoices%2F9%2Fpdf","ip":"49.36.233.76","exception":"Exception","message":"FPDF error: Not a JPEG file: /home/safefamilyco/billing.safefamily.co.in/billing/config/../templates/reports/report_template/resources/image_0_0.jpg","file":"/home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php","line":267,"trace":"#0 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(1259): FPDF->Error('Not a JPEG file...')\n#1 /home/safefamilyco/billing.safefamily.co.in/billing/vendor/fpdf.php(890): FPDF->_parsejpg('/home/safefamil...')\n#2 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(169): FPDF->Image('/home/safefamil...', 10, 10, 190.00155555556)\n#3 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(428): pdf_draw_full_width_image(Object(BillingPdf), '/home/safefamil...', 1.5)\n#4 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(856): render_fpdf_invoice_bytes(Array)\n#5 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(581): {closure}()\n#6 /home/safefamilyco/billing.safefamily.co.in/billing/src/pdf_reports.php(857): render_pdf_bytes_with_fallback('<!DOCTYPE html>...', Object(Closure))\n#7 /home/safefamilyco/billing.safefamily.co.in/billing/public/api/index.php(265): pdf_output_invoice(9)\n#8 {main}"}
[2026-05-04 23:52:16] [INFO] Login attempt {"email":"admin@arnika.com","method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.111.142"}
[2026-05-04 23:52:16] [INFO] Login success {"email":"admin@arnika.com","user_id":1,"method":"POST","uri":"/billing/public/api/index.php?path=login","ip":"157.48.111.142"}
[2026-05-04 23:56:07] [INFO] Invoice create request {"payload":{"invoice_date":"2026-05-04","client_id":4,"billing_month":"March 2026","service_order_no":"1","service_order_date":"","items":[{"description":"Gunman","sac_code":"998525","persons":10,"duty_days":300,"total_days":300,"rate":600,"overtime":100,"overtime_rate":60,"amount":1806000}],"charge_items":[],"gst_items":[]},"method":"POST","uri":"/billing/public/api/index.php?path=invoices","ip":"157.48.111.142"}
[2026-05-04 23:56:07] [INFO] Invoice create response {"invoice_id":10,"response":{"message":"Invoice created","invoice_no":"10","amount":1806000,"gst":0,"total_amount":1806000},"summary":{"client_id":4,"billing_month":"March 2026","item_count":1,"charge_count":0,"gst_count":0},"method":"POST","uri":"/billing/public/api/index.php?path=invoices","ip":"157.48.111.142"}
[2026-05-04 23:56:36] [INFO] Invoice updated {"id":10,"client_id":4,"billing_month":"March 2026","item_count":1,"charge_count":1,"gst_count":2,"method":"PUT","uri":"/billing/public/api/index.php?path=invoices%2F10","ip":"157.48.111.142"}
[2026-05-04 23:57:38] [INFO] Invoice updated {"id":10,"client_id":4,"billing_month":"March 2026","item_count":1,"charge_count":0,"gst_count":0,"method":"PUT","uri":"/billing/public/api/index.php?path=invoices%2F10","ip":"157.48.111.142"}
[2026-05-04 23:58:27] [INFO] Invoice updated {"id":10,"client_id":4,"billing_month":"March 2026","item_count":1,"charge_count":0,"gst_count":0,"method":"PUT","uri":"/billing/public/api/index.php?path=invoices%2F10","ip":"157.48.111.142"}
