[2026-09-08 08:50:38] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 09:47:10] live.INFO: === getOpeningClosingStock START === {"business_id":43,"date":"2026-09-07","location_id":null,"is_opening":true,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 09:47:10] live.INFO: Opening stock calculation - including all transactions {"date":"2026-09-07"} 
[2026-09-08 09:47:10] live.INFO: Applied opening stock condition {"condition":"purchase.type = 'opening_stock' OR (purchase.type != 'opening_stock' AND date(transaction_date) <= '2026-09-07')"} 
[2026-09-08 09:47:10] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-07') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and (`purchase`.`type` = ? or (`purchase`.`type` != ? and date(transaction_date) <= '2026-09-07'))","bindings":["purchase_order",43,"opening_stock","opening_stock"]} 
[2026-09-08 09:47:10] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"6706627.43600000","is_opening":true,"date":"2026-09-07"} 
[2026-09-08 09:47:10] live.INFO: === getOpeningClosingStock START === {"business_id":43,"date":"2026-09-08","location_id":null,"is_opening":false,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 09:47:10] live.INFO: Applied closing stock condition {"condition":"date(transaction_date) <= '2026-09-08' (includes all types except purchase_order)"} 
[2026-09-08 09:47:10] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-08') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and date(transaction_date) <= '2026-09-08'","bindings":["purchase_order",43]} 
[2026-09-08 09:47:10] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"6706627.43600000","is_opening":false,"date":"2026-09-08"} 
[2026-09-08 09:47:11] live.INFO: Offline not allowed - triggering cleanup {"user_id":293,"business_id":43} 
[2026-09-08 09:57:14] live.INFO: Offline not allowed - triggering cleanup {"user_id":293,"business_id":43} 
[2026-09-08 16:07:26] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-07","location_id":null,"is_opening":true,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:07:26] live.INFO: Opening stock calculation - including all transactions {"date":"2026-09-07"} 
[2026-09-08 16:07:26] live.INFO: Applied opening stock condition {"condition":"purchase.type = 'opening_stock' OR (purchase.type != 'opening_stock' AND date(transaction_date) <= '2026-09-07')"} 
[2026-09-08 16:07:26] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-07') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and (`purchase`.`type` = ? or (`purchase`.`type` != ? and date(transaction_date) <= '2026-09-07'))","bindings":["purchase_order",8,"opening_stock","opening_stock"]} 
[2026-09-08 16:07:26] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"148539703.97360000","is_opening":true,"date":"2026-09-07"} 
[2026-09-08 16:07:26] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-08","location_id":null,"is_opening":false,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:07:26] live.INFO: Applied closing stock condition {"condition":"date(transaction_date) <= '2026-09-08' (includes all types except purchase_order)"} 
[2026-09-08 16:07:26] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-08') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and date(transaction_date) <= '2026-09-08'","bindings":["purchase_order",8]} 
[2026-09-08 16:07:26] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"148539703.97360000","is_opening":false,"date":"2026-09-08"} 
[2026-09-08 16:07:37] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:07:37] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:07:37] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:07:37] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:07:37] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:07:37] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:07:37] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:07:37] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:07:37] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:07:37] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:07:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:07:40] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:07:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:07:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:07:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:07:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:07:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:07:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:11:44] live.INFO: filterProduct method called {"business_id":8,"search_term":"Hp Spectre New","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:11:44] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:11:44] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:11:44] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:11:44] live.DEBUG: Applying search filters {"search_term":"Hp Spectre New","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:11:44] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:11:44] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:11:44] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:11:44] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"Hp Spectre New"} 
[2026-09-08 16:11:45] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:11:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:11:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:11:51] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:12:19] live.INFO: filterProduct method called {"business_id":8,"search_term":"Hp Spectre New","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:12:19] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:12:19] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:12:19] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:12:19] live.DEBUG: Applying search filters {"search_term":"Hp Spectre New","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:12:19] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:12:19] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:12:19] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:12:19] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"Hp Spectre New"} 
[2026-09-08 16:12:20] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:12:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:12:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:12:26] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:16:29] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-07","location_id":null,"is_opening":true,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:16:29] live.INFO: Opening stock calculation - including all transactions {"date":"2026-09-07"} 
[2026-09-08 16:16:29] live.INFO: Applied opening stock condition {"condition":"purchase.type = 'opening_stock' OR (purchase.type != 'opening_stock' AND date(transaction_date) <= '2026-09-07')"} 
[2026-09-08 16:16:29] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-07') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and (`purchase`.`type` = ? or (`purchase`.`type` != ? and date(transaction_date) <= '2026-09-07'))","bindings":["purchase_order",8,"opening_stock","opening_stock"]} 
[2026-09-08 16:16:29] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"148539703.97360000","is_opening":true,"date":"2026-09-07"} 
[2026-09-08 16:16:29] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-08","location_id":null,"is_opening":false,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:16:29] live.INFO: Applied closing stock condition {"condition":"date(transaction_date) <= '2026-09-08' (includes all types except purchase_order)"} 
[2026-09-08 16:16:29] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-08') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and date(transaction_date) <= '2026-09-08'","bindings":["purchase_order",8]} 
[2026-09-08 16:16:29] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"148539703.97360000","is_opening":false,"date":"2026-09-08"} 
[2026-09-08 16:16:31] live.INFO: filterProduct method called {"business_id":8,"search_term":"cem","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:16:31] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:16:31] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:16:31] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:16:31] live.DEBUG: Applying search filters {"search_term":"cem","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:16:31] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:16:31] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:16:31] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:16:31] live.INFO: filterProduct completed successfully {"result_count":2,"business_id":8,"search_term":"cem"} 
[2026-09-08 16:16:33] live.INFO: Product Row Debug - RELOADED {"product_id":151,"product_name":"Blue Triangle Cement 50kg","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":800.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"33":{"unit_id":33,"unit_name":"bags","unit_price":null,"multiplier":1,"has_price":false}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:16:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:16:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:17:14] live.INFO: Credit Limit Check Started {"contact_id":"94","status":"final","final_total":"910.00","is_credit_sale":"0","exclude_transaction_id":null} 
[2026-09-08 16:17:14] live.DEBUG: Payment Calculation {"final_total":910.0,"curr_total_payment":40800.0,"is_credit_sale":false,"payment_count":1} 
[2026-09-08 16:17:14] live.INFO: Credit Limit Check Skipped - Fully Paid {"final_total":910.0,"curr_total_payment":40800.0} 
[2026-09-08 16:17:14] live.INFO: mpesa_transaction_id value: NULL  
[2026-09-08 16:17:14] live.INFO: is_mpesa_sale value: true  
[2026-09-08 16:17:14] live.INFO: M-Pesa sale evaluation {"is_mpesa_sale_raw":true,"is_valid_mpesa_sale":false,"payment_method_input":"cash","mpesa_transaction_id":null,"transaction_id":1825} 
[2026-09-08 16:17:14] live.INFO: Journal Entry Case: FULL CASH PAYMENT {"transaction_id":1825,"final_total":910.0,"amount_paid":40800.0,"balance_due":0} 
[2026-09-08 16:17:14] live.INFO: Journal Entries Inserted Successfully {"transaction_id":1825,"entries":[{"transaction_id":1825,"created_by_id":21,"transaction_number":"TRX-6aa00ada1cbc63.38057445","payment_detail_id":1307,"location_id":"9","currency_id":133,"transaction_type":"sell","date":"2026-09-08","month":9,"year":2026,"active":1,"reversed":0,"reversible":1,"manual_entry":1,"created_at":"2026-09-08 16:17:14","updated_at":"2026-09-08 16:17:14","chart_of_account_id":23,"debit":null,"credit":910.0},{"transaction_id":1825,"created_by_id":21,"transaction_number":"TRX-6aa00ada1cbc63.38057445","payment_detail_id":1307,"location_id":"9","currency_id":133,"transaction_type":"sell","date":"2026-09-08","month":9,"year":2026,"active":1,"reversed":0,"reversible":1,"manual_entry":1,"created_at":"2026-09-08 16:17:14","updated_at":"2026-09-08 16:17:14","chart_of_account_id":27,"debit":910.0,"credit":null}]} 
[2026-09-08 16:17:14] live.INFO: Inserted purchase sell mapping {"count":1,"data":[{"sell_line_id":1169,"purchase_line_id":1293,"quantity":1.0,"created_at":"2026-09-08 16:17:14","updated_at":"2026-09-08 16:17:14"}]} 
[2026-09-08 16:17:14] live.INFO: Inserted COGS → Inventory journal entries {"count":2} 
[2026-09-08 16:17:14] live.INFO: Inserted Retained Earnings (profit) entries {"count":1,"total_profit":240.0} 
[2026-09-08 16:17:14] live.INFO: ETIMS: Customer details retrieved {"transaction_id":1825,"contact_id":94,"customer_name":"Walk-In Customer","has_tin":false,"has_digitax_id":false} 
[2026-09-08 16:17:14] live.ERROR: ETIMS: Missing item_id for product {"product_id":153} 
[2026-09-08 16:17:14] live.ERROR: ETIMS: Missing item_id for product {"product_id":151} 
[2026-09-08 16:17:14] live.ERROR: ETIMS: No valid items to submit after filtering  
[2026-09-08 16:17:14] live.WARNING: ETIMS WAIT: Timed out after 2 attempts for transaction ID: 1825  
[2026-09-08 16:18:25] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:20:43] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:20:43] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:20:43] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:20:43] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:20:43] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:20:43] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:20:43] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:20:43] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:20:43] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:20:43] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:20:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:20:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:05] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:21:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:21:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:21:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:52] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:22:52] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:22:52] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:22:52] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:22:52] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:22:52] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:22:52] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:22:52] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:22:52] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:22:53] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:22:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:22:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:22:57] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:28:35] live.INFO: === About to call saveProductNewUnitRelationships === {"product_id":340,"request_units":[{"actual_name":"pieces","unit_id":"255","short_name":"pcs","relation_unit_id":null,"relation_qty":"1","price":"10"},{"actual_name":"kilograms","unit_id":"256","short_name":"kg","relation_unit_id":"255","relation_qty":"100","price":"250"}],"page_batch_id":"20260908_162711_1938"} 
[2026-09-08 16:28:35] live.INFO: === saveProductNewUnitRelationships START === {"product_id":340,"product_name":"nails 1 inch"} 
[2026-09-08 16:28:35] live.INFO: Units data received {"units_data":[{"actual_name":"pieces","unit_id":"255","short_name":"pcs","relation_unit_id":null,"relation_qty":"1","price":"10"},{"actual_name":"kilograms","unit_id":"256","short_name":"kg","relation_unit_id":"255","relation_qty":"100","price":"250"}],"count":2} 
[2026-09-08 16:28:35] live.INFO: Processing unit index: 0 {"unit_data":{"actual_name":"pieces","unit_id":"255","short_name":"pcs","relation_unit_id":null,"relation_qty":"1","price":"10"}} 
[2026-09-08 16:28:35] live.INFO: Unit found by ID {"unit_id":255,"actual_name":"pieces"} 
[2026-09-08 16:28:35] live.INFO: Unit lookup result {"found":"yes","unit_id":255,"method":"by_id"} 
[2026-09-08 16:28:35] live.INFO: Updating existing unit {"unit_id":255} 
[2026-09-08 16:28:35] live.INFO: Updated unit_price {"new_price":10.0} 
[2026-09-08 16:28:35] live.INFO: Unit updated successfully  
[2026-09-08 16:28:35] live.INFO: Setting as BASE unit {"unit_id":255} 
[2026-09-08 16:28:35] live.INFO: Base unit saved {"base_unit_id":255} 
[2026-09-08 16:28:35] live.INFO: Processing unit index: 1 {"unit_data":{"actual_name":"kilograms","unit_id":"256","short_name":"kg","relation_unit_id":"255","relation_qty":"100","price":"250"}} 
[2026-09-08 16:28:35] live.INFO: Unit found by ID {"unit_id":256,"actual_name":"kilograms"} 
[2026-09-08 16:28:35] live.INFO: Unit lookup result {"found":"yes","unit_id":256,"method":"by_id"} 
[2026-09-08 16:28:35] live.INFO: Updating existing unit {"unit_id":256} 
[2026-09-08 16:28:35] live.INFO: Updated unit_price {"new_price":250.0} 
[2026-09-08 16:28:35] live.INFO: Unit updated successfully  
[2026-09-08 16:28:35] live.INFO: First pass complete {"created_units_count":2,"base_unit_id":255} 
[2026-09-08 16:28:35] live.INFO: === SECOND PASS: Setting relations first ===  
[2026-09-08 16:28:35] live.INFO: Setting relation for unit {"unit_id":256,"unit_name":"kilograms","relation_unit_id":255,"relation_unit_name":"pieces","relation_qty":100.0} 
[2026-09-08 16:28:35] live.INFO: Relation saved to database {"unit_id":256,"rel_unit_id":255,"rel_unit_qty":100.0,"base_unit_id":255} 
[2026-09-08 16:28:35] live.INFO: === SECOND PASS: Calculating cumulative multipliers ===  
[2026-09-08 16:28:35] live.INFO: Calculating cumulative multiplier for unit {"unit_id":256,"unit_name":"kilograms"} 
[2026-09-08 16:28:35] live.INFO: === calculateCumulativeMultiplier START === {"unit_id":256,"business_id":8} 
[2026-09-08 16:28:35] live.INFO: Unit found {"unit_id":256,"unit_name":"kilograms","rel_unit_id":255,"rel_unit_qty":"100.0000","base_unit_id":255} 
[2026-09-08 16:28:35] live.INFO: Starting cumulative multiplier {"initial_multiplier":100.0} 
[2026-09-08 16:28:35] live.INFO: Traversing up chain depth: 0 {"current_unit_id":255} 
[2026-09-08 16:28:35] live.INFO: Parent unit found {"parent_unit_id":255,"parent_unit_name":"pieces","parent_rel_unit_id":null,"parent_rel_unit_qty":"1.0000"} 
[2026-09-08 16:28:35] live.INFO: Reached base unit (no rel_unit_id), stopping  
[2026-09-08 16:28:35] live.INFO: Chain traversal complete {"chain":"kilograms (256) -> pieces (255)","final_cumulative_multiplier":100.0,"depth_traversed":0} 
[2026-09-08 16:28:35] live.INFO: === calculateCumulativeMultiplier END === {"result":100.0} 
[2026-09-08 16:28:35] live.INFO: Cumulative multiplier calculated {"unit_id":256,"unit_name":"kilograms","cumulative_multiplier":100.0} 
[2026-09-08 16:28:35] live.INFO: Unit saved with cumulative multiplier {"unit_id":256,"unit_name":"kilograms","base_unit_multiplier":100.0} 
[2026-09-08 16:28:35] live.INFO: === saveProductNewUnitRelationships END ===  
[2026-09-08 16:28:35] live.INFO: OpeningStockController::add - Location Data {"product_id":"340","business_id":8,"locations":{"Illuminate\\Support\\Collection":{"9":"BQT GENERAL BUSINESS (BL0001)","10":"BQT BRANCH 1 (BL0002)","12":"BQT BRANCH 2 (BL0003)","14":"BQT BRANCH 3 (BL0004)"}},"available_locations":[9]} 
[2026-09-08 16:28:35] live.INFO: OpeningStockController::add - Serial Numbers Check {"product_id":"340","business_id":8,"has_serial_numbers":{"9":false},"total_locations_with_serial":0} 
[2026-09-08 16:28:55] live.INFO: filterProduct method called {"business_id":8,"search_term":"na","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:28:55] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:28:55] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:28:55] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:28:55] live.DEBUG: Applying search filters {"search_term":"na","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:28:55] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:28:55] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:28:55] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:28:55] live.INFO: filterProduct completed successfully {"result_count":6,"business_id":8,"search_term":"na"} 
[2026-09-08 16:28:56] live.INFO: filterProduct method called {"business_id":8,"search_term":"nail","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:28:56] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:28:56] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:28:56] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:28:56] live.DEBUG: Applying search filters {"search_term":"nail","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:28:56] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:28:56] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:28:56] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:28:56] live.INFO: filterProduct completed successfully {"result_count":2,"business_id":8,"search_term":"nail"} 
[2026-09-08 16:28:58] live.INFO: Product Row Debug - RELOADED {"product_id":340,"product_name":"nails 1 inch","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":10.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"255":{"unit_id":255,"unit_name":"pieces","unit_price":10.0,"multiplier":1,"has_price":true},"256":{"unit_id":256,"unit_name":"kilograms","unit_price":250.0,"multiplier":"100.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:28:59] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:29:01] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:01] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:02] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:02] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:03] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:03] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:04] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:04] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:04] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:04] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:05] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:05] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:30] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:30] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:31] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:31] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:31] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:31] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:32] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:32] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:32] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:32] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:29:33] live.INFO: Fetching tax rate for product ID: 340  
[2026-09-08 16:29:33] live.INFO: Product ID 340 has no tax assigned.  
[2026-09-08 16:33:37] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:38:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:38:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:38:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:38:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:38:08] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:38:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:38:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:38:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:38:08] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:38:08] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:38:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:38:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:38:11] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:38:29] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:38:40] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:38:44] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:41:44] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:41:56] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:42:07] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:42:43] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:42:43] live.ERROR: str_contains(): Argument #1 ($haystack) must be of type string, Closure given {"userId":229,"exception":"[object] (TypeError(code: 0): str_contains(): Argument #1 ($haystack) must be of type string, Closure given at /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Support/Str.php:242)
[stacktrace]
#0 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Support/Str.php(242): str_contains(Object(Closure), '@')
#1 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Support/Str.php(693): Illuminate\\Support\\Str::contains(Object(Closure), Array)
#2 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Route.php(307): Illuminate\\Support\\Str::parseCallback(Object(Closure))
#3 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Route.php(287): Illuminate\\Routing\\Route->parseControllerCallback()
#4 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Route.php(272): Illuminate\\Routing\\Route->getControllerClass()
#5 /home/risetclo/r.riset.cloud/app/Http/Middleware/PreventDirectBrowserAccess.php(87): Illuminate\\Routing\\Route->getController()
#6 /home/risetclo/r.riset.cloud/app/Http/Middleware/PreventDirectBrowserAccess.php(29): App\\Http\\Middleware\\PreventDirectBrowserAccess->isDirectBrowserAccess(Object(Illuminate\\Http\\Request))
#7 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\PreventDirectBrowserAccess->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 /home/risetclo/r.riset.cloud/app/Http/Middleware/CheckStockTake.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\CheckStockTake->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home/risetclo/r.riset.cloud/app/Http/Middleware/CheckUserLogin.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\CheckUserLogin->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home/risetclo/r.riset.cloud/app/Http/Middleware/AdminSidebarMenu.php(1281): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\AdminSidebarMenu->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home/risetclo/r.riset.cloud/app/Http/Middleware/Timezone.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\Timezone->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home/risetclo/r.riset.cloud/app/Http/Middleware/Language.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\Language->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home/risetclo/r.riset.cloud/app/Http/Middleware/SetSessionData.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\SetSessionData->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /home/risetclo/r.riset.cloud/app/Http/Middleware/IsInstalled.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\IsInstalled->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#32 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Router.php(797): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#39 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#40 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#41 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#42 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#43 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#44 /home/risetclo/r.riset.cloud/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(59): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#48 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /home/risetclo/r.riset.cloud/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#63 /home/risetclo/r.riset.cloud/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#64 {main}
"} 
[2026-09-08 16:42:54] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-07","location_id":null,"is_opening":true,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:42:54] live.INFO: Opening stock calculation - including all transactions {"date":"2026-09-07"} 
[2026-09-08 16:42:54] live.INFO: Applied opening stock condition {"condition":"purchase.type = 'opening_stock' OR (purchase.type != 'opening_stock' AND date(transaction_date) <= '2026-09-07')"} 
[2026-09-08 16:42:54] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-07') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and (`purchase`.`type` = ? or (`purchase`.`type` != ? and date(transaction_date) <= '2026-09-07'))","bindings":["purchase_order",8,"opening_stock","opening_stock"]} 
[2026-09-08 16:42:54] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"151040203.97360000","is_opening":true,"date":"2026-09-07"} 
[2026-09-08 16:42:54] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-08","location_id":null,"is_opening":false,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:42:54] live.INFO: Applied closing stock condition {"condition":"date(transaction_date) <= '2026-09-08' (includes all types except purchase_order)"} 
[2026-09-08 16:42:54] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-08') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and date(transaction_date) <= '2026-09-08'","bindings":["purchase_order",8]} 
[2026-09-08 16:42:54] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"151039533.97360000","is_opening":false,"date":"2026-09-08"} 
[2026-09-08 16:43:04] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:46:50] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-07","location_id":null,"is_opening":true,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:46:50] live.INFO: Opening stock calculation - including all transactions {"date":"2026-09-07"} 
[2026-09-08 16:46:50] live.INFO: Applied opening stock condition {"condition":"purchase.type = 'opening_stock' OR (purchase.type != 'opening_stock' AND date(transaction_date) <= '2026-09-07')"} 
[2026-09-08 16:46:50] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-07') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and (`purchase`.`type` = ? or (`purchase`.`type` != ? and date(transaction_date) <= '2026-09-07'))","bindings":["purchase_order",8,"opening_stock","opening_stock"]} 
[2026-09-08 16:46:50] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"151040203.97360000","is_opening":true,"date":"2026-09-07"} 
[2026-09-08 16:46:50] live.INFO: === getOpeningClosingStock START === {"business_id":8,"date":"2026-09-08","location_id":null,"is_opening":false,"by_sale_price":false,"filters":{"user_id":null},"permitted_locations":null} 
[2026-09-08 16:46:50] live.INFO: Applied closing stock condition {"condition":"date(transaction_date) <= '2026-09-08' (includes all types except purchase_order)"} 
[2026-09-08 16:46:50] live.DEBUG: Final SQL Query {"sql":"select SUM((purchase_lines.quantity - purchase_lines.quantity_returned - purchase_lines.quantity_adjusted -
                        (SELECT COALESCE(SUM(tspl.quantity - tspl.qty_returned), 0) FROM 
                        transaction_sell_lines_purchase_lines AS tspl
                        JOIN transaction_sell_lines as tsl ON 
                        tspl.sell_line_id=tsl.id 
                        JOIN transactions as sale ON 
                        tsl.transaction_id=sale.id 
                        WHERE tspl.purchase_line_id = purchase_lines.id AND 
                        date(sale.transaction_date) <= '2026-09-08') ) * (purchase_lines.purchase_price + 
                        COALESCE(purchase_lines.item_tax, 0))
                    ) as stock from `purchase_lines` inner join `transactions` as `purchase` on `purchase_lines`.`transaction_id` = `purchase`.`id` left join `variations` as `v` on `v`.`id` = `purchase_lines`.`variation_id` left join `products` as `p` on `p`.`id` = `purchase_lines`.`product_id` where `purchase`.`type` != ? and `purchase`.`business_id` = ? and date(transaction_date) <= '2026-09-08'","bindings":["purchase_order",8]} 
[2026-09-08 16:46:50] live.INFO: === getOpeningClosingStock RESULT === {"calculated_stock":"151039533.97360000","is_opening":false,"date":"2026-09-08"} 
[2026-09-08 16:50:20] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:50:31] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:50:35] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:52:01] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:52:13] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:52:17] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:53:40] live.INFO: filterProduct method called {"business_id":8,"search_term":"res","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:53:40] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:53:40] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:53:40] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:53:40] live.DEBUG: Applying search filters {"search_term":"res","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:53:40] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:53:40] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:53:40] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:53:40] live.INFO: filterProduct completed successfully {"result_count":2,"business_id":8,"search_term":"res"} 
[2026-09-08 16:53:41] live.INFO: Product Row Debug - RELOADED {"product_id":201,"product_name":"Fresha Milk 500ml","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":67.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:53:42] live.INFO: Fetching tax rate for product ID: 201  
[2026-09-08 16:53:42] live.INFO: Product ID 201 has no tax assigned.  
[2026-09-08 16:53:44] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:54:24] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:54:24] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:54:24] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:54:24] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:54:24] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:54:24] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:54:24] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:54:24] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:54:24] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 16:54:28] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:54:29] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":110.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:54:32] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:32] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:32] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:32] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:33] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:33] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:33] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:34] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 16:54:34] live.INFO: Product ID 28 has no tax assigned.  
[2026-09-08 16:54:40] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:54:40] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:54:40] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:54:40] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:54:40] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:54:40] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:54:40] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:54:40] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:54:40] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:54:40] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":110.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:54:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:54:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:54:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:54:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:55:39] live.INFO: === saveProductUnitRelationships START === {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd"} 
[2026-09-08 16:55:39] live.INFO: Units data received {"units_data":[{"actual_name":"1","unit_id":"1","short_name":"Pc","allow_decimal":"1","relation_unit_id":null,"relation_qty":"1","price":"40000"}],"count":1} 
[2026-09-08 16:55:39] live.INFO: Processing unit index: 0 {"unit_data":{"actual_name":"1","unit_id":"1","short_name":"Pc","allow_decimal":"1","relation_unit_id":null,"relation_qty":"1","price":"40000"}} 
[2026-09-08 16:55:39] live.INFO: Unit found by ID {"unit_id":1,"actual_name":"Pc"} 
[2026-09-08 16:55:39] live.INFO: Updated unit_price {"new_price":40000.0} 
[2026-09-08 16:55:39] live.WARNING: Skipping actual_name update - value looks like an ID {"actual_name":"1","unit_id":1} 
[2026-09-08 16:55:39] live.INFO: Setting as BASE unit {"unit_id":1} 
[2026-09-08 16:55:39] live.INFO: Unit saved {"unit_id":1,"unit_name":"Pc","is_base":true} 
[2026-09-08 16:55:39] live.INFO: First pass complete {"created_units_count":1,"unit_ids_to_keep":[1],"base_unit_id":1} 
[2026-09-08 16:55:39] live.INFO: === SECOND PASS: Setting relations first ===  
[2026-09-08 16:55:39] live.INFO: === SECOND PASS: Calculating cumulative multipliers ===  
[2026-09-08 16:55:39] live.INFO: === Cleaning up unused units === {"unit_ids_to_keep":[1],"base_unit_id":1,"page_batch_id":"6a84139618b05"} 
[2026-09-08 16:55:39] live.INFO: Units to delete {"count":0,"unit_ids":[]} 
[2026-09-08 16:55:39] live.INFO: === saveProductUnitRelationships END ===  
[2026-09-08 16:55:53] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 16:55:53] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 16:55:53] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 16:55:53] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 16:55:53] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 16:55:53] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 16:55:53] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 16:55:53] live.DEBUG: Added lot number fields to select  
[2026-09-08 16:55:53] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 16:55:54] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":40000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 16:55:58] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 16:55:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:55:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 16:56:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 16:56:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 17:01:28] live.INFO: === saveProductUnitRelationships START === {"product_id":23,"product_name":"Test Item K"} 
[2026-09-08 17:01:28] live.INFO: Units data received {"units_data":[{"actual_name":"9","unit_id":"9","short_name":"Pc","allow_decimal":"0","relation_unit_id":null,"relation_qty":"1","price":"66"},{"actual_name":"258","unit_id":"258","short_name":"6k","relation_unit_id":"9","relation_qty":"5","price":"300"}],"count":2} 
[2026-09-08 17:01:28] live.INFO: Processing unit index: 0 {"unit_data":{"actual_name":"9","unit_id":"9","short_name":"Pc","allow_decimal":"0","relation_unit_id":null,"relation_qty":"1","price":"66"}} 
[2026-09-08 17:01:28] live.INFO: Unit found by ID {"unit_id":9,"actual_name":"Pcc"} 
[2026-09-08 17:01:28] live.INFO: Updated unit_price {"new_price":66.0} 
[2026-09-08 17:01:28] live.INFO: Updated batch_id {"new_batch_id":"6aa014e73b1ec"} 
[2026-09-08 17:01:28] live.WARNING: Skipping actual_name update - value looks like an ID {"actual_name":"9","unit_id":9} 
[2026-09-08 17:01:28] live.INFO: Setting as BASE unit {"unit_id":9} 
[2026-09-08 17:01:28] live.INFO: Unit saved {"unit_id":9,"unit_name":"Pcc","is_base":true} 
[2026-09-08 17:01:28] live.INFO: Processing unit index: 1 {"unit_data":{"actual_name":"258","unit_id":"258","short_name":"6k","relation_unit_id":"9","relation_qty":"5","price":"300"}} 
[2026-09-08 17:01:28] live.INFO: Unit found by ID {"unit_id":258,"actual_name":"kk"} 
[2026-09-08 17:01:28] live.INFO: Updated unit_price {"new_price":300.0} 
[2026-09-08 17:01:28] live.INFO: Updated batch_id {"new_batch_id":"6aa014e73b1ec"} 
[2026-09-08 17:01:28] live.WARNING: Skipping actual_name update - value looks like an ID {"actual_name":"258","unit_id":258} 
[2026-09-08 17:01:28] live.INFO: Unit saved {"unit_id":258,"unit_name":"kk","is_base":false} 
[2026-09-08 17:01:28] live.INFO: First pass complete {"created_units_count":2,"unit_ids_to_keep":[9,258],"base_unit_id":9} 
[2026-09-08 17:01:28] live.INFO: === SECOND PASS: Setting relations first ===  
[2026-09-08 17:01:28] live.INFO: Setting relation for unit {"unit_id":258,"unit_name":"kk","relation_unit_id":9,"relation_unit_name":"Pcc","relation_qty":5.0} 
[2026-09-08 17:01:28] live.INFO: Relation saved to database {"unit_id":258,"rel_unit_id":9,"rel_unit_qty":5.0,"base_unit_id":9} 
[2026-09-08 17:01:28] live.INFO: === SECOND PASS: Calculating cumulative multipliers ===  
[2026-09-08 17:01:28] live.INFO: Calculating cumulative multiplier for unit {"unit_id":258,"unit_name":"kk"} 
[2026-09-08 17:01:28] live.INFO: === calculateCumulativeMultiplier START === {"unit_id":258,"business_id":8} 
[2026-09-08 17:01:28] live.INFO: Unit found {"unit_id":258,"unit_name":"kk","rel_unit_id":9,"rel_unit_qty":"5.0000","base_unit_id":9} 
[2026-09-08 17:01:28] live.INFO: Starting cumulative multiplier {"initial_multiplier":5.0} 
[2026-09-08 17:01:28] live.INFO: Traversing up chain depth: 0 {"current_unit_id":9} 
[2026-09-08 17:01:28] live.INFO: Parent unit found {"parent_unit_id":9,"parent_unit_name":"Pcc","parent_rel_unit_id":null,"parent_rel_unit_qty":"1.0000"} 
[2026-09-08 17:01:28] live.INFO: Reached base unit (no rel_unit_id), stopping  
[2026-09-08 17:01:28] live.INFO: Chain traversal complete {"chain":"kk (258) -> Pcc (9)","final_cumulative_multiplier":5.0,"depth_traversed":0} 
[2026-09-08 17:01:28] live.INFO: === calculateCumulativeMultiplier END === {"result":5.0} 
[2026-09-08 17:01:28] live.INFO: Cumulative multiplier calculated {"unit_id":258,"unit_name":"kk","cumulative_multiplier":5.0} 
[2026-09-08 17:01:28] live.INFO: Unit saved with cumulative multiplier {"unit_id":258,"unit_name":"kk","base_unit_multiplier":5.0} 
[2026-09-08 17:01:28] live.INFO: === Cleaning up unused units === {"unit_ids_to_keep":[9,258],"base_unit_id":9,"page_batch_id":"6aa014e73b1ec"} 
[2026-09-08 17:01:28] live.INFO: Units to delete {"count":0,"unit_ids":[]} 
[2026-09-08 17:01:28] live.INFO: === saveProductUnitRelationships END ===  
[2026-09-08 17:01:36] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:01:36] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:01:36] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:01:36] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:01:36] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:01:36] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:01:36] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:01:36] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:01:36] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:01:42] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:01:52] live.INFO: OpeningStockController::add - Location Data {"product_id":"23","business_id":8,"locations":{"Illuminate\\Support\\Collection":{"9":"BQT GENERAL BUSINESS (BL0001)","10":"BQT BRANCH 1 (BL0002)","12":"BQT BRANCH 2 (BL0003)","14":"BQT BRANCH 3 (BL0004)"}},"available_locations":[9]} 
[2026-09-08 17:01:52] live.INFO: OpeningStockController::add - Serial Numbers Check {"product_id":"23","business_id":8,"has_serial_numbers":{"9":false},"total_locations_with_serial":0} 
[2026-09-08 17:03:09] live.INFO: === saveProductUnitRelationships START === {"product_id":28,"product_name":"test1j"} 
[2026-09-08 17:03:09] live.INFO: Units data received {"units_data":[{"actual_name":"1","unit_id":"1","short_name":"Pc","allow_decimal":"1","relation_unit_id":null,"relation_qty":"1","price":"4000"},{"unit_id":"259","short_name":"fgt","relation_unit_id":"1","relation_qty":"6","price":"22000"}],"count":2} 
[2026-09-08 17:03:09] live.INFO: Processing unit index: 0 {"unit_data":{"actual_name":"1","unit_id":"1","short_name":"Pc","allow_decimal":"1","relation_unit_id":null,"relation_qty":"1","price":"4000"}} 
[2026-09-08 17:03:09] live.INFO: Unit found by ID {"unit_id":1,"actual_name":"Pc"} 
[2026-09-08 17:03:09] live.INFO: Updated unit_price {"new_price":4000.0} 
[2026-09-08 17:03:09] live.WARNING: Skipping actual_name update - value looks like an ID {"actual_name":"1","unit_id":1} 
[2026-09-08 17:03:09] live.INFO: Setting as BASE unit {"unit_id":1} 
[2026-09-08 17:03:09] live.INFO: Unit saved {"unit_id":1,"unit_name":"Pc","is_base":true} 
[2026-09-08 17:03:09] live.INFO: Processing unit index: 1 {"unit_data":{"unit_id":"259","short_name":"fgt","relation_unit_id":"1","relation_qty":"6","price":"22000"}} 
[2026-09-08 17:03:09] live.WARNING: Empty actual_name, skipping this unit  
[2026-09-08 17:03:09] live.INFO: First pass complete {"created_units_count":1,"unit_ids_to_keep":[1],"base_unit_id":1} 
[2026-09-08 17:03:09] live.INFO: === SECOND PASS: Setting relations first ===  
[2026-09-08 17:03:09] live.INFO: === SECOND PASS: Calculating cumulative multipliers ===  
[2026-09-08 17:03:09] live.INFO: === Cleaning up unused units === {"unit_ids_to_keep":[1],"base_unit_id":1,"page_batch_id":"6a84139618b05"} 
[2026-09-08 17:03:09] live.INFO: Units to delete {"count":0,"unit_ids":[]} 
[2026-09-08 17:03:09] live.INFO: === saveProductUnitRelationships END ===  
[2026-09-08 17:04:38] live.INFO: === About to call saveProductNewUnitRelationships === {"product_id":341,"request_units":[{"actual_name":"dfsg","unit_id":"260","short_name":"dsfg","relation_unit_id":null,"relation_qty":"1","price":"44"},{"actual_name":"atgaa","unit_id":"261","short_name":"fdd","relation_unit_id":"260","relation_qty":"4","price":"333"}],"page_batch_id":"20260908_170333_8271"} 
[2026-09-08 17:04:38] live.INFO: === saveProductNewUnitRelationships START === {"product_id":341,"product_name":"aaa"} 
[2026-09-08 17:04:38] live.INFO: Units data received {"units_data":[{"actual_name":"dfsg","unit_id":"260","short_name":"dsfg","relation_unit_id":null,"relation_qty":"1","price":"44"},{"actual_name":"atgaa","unit_id":"261","short_name":"fdd","relation_unit_id":"260","relation_qty":"4","price":"333"}],"count":2} 
[2026-09-08 17:04:38] live.INFO: Processing unit index: 0 {"unit_data":{"actual_name":"dfsg","unit_id":"260","short_name":"dsfg","relation_unit_id":null,"relation_qty":"1","price":"44"}} 
[2026-09-08 17:04:38] live.INFO: Unit found by ID {"unit_id":260,"actual_name":"dfsg"} 
[2026-09-08 17:04:38] live.INFO: Unit lookup result {"found":"yes","unit_id":260,"method":"by_id"} 
[2026-09-08 17:04:38] live.INFO: Updating existing unit {"unit_id":260} 
[2026-09-08 17:04:38] live.INFO: Updated allow_decimal {"new_allow_decimal":1} 
[2026-09-08 17:04:38] live.INFO: Updated unit_price {"new_price":44.0} 
[2026-09-08 17:04:38] live.INFO: Unit updated successfully  
[2026-09-08 17:04:38] live.INFO: Setting as BASE unit {"unit_id":260} 
[2026-09-08 17:04:38] live.INFO: Base unit saved {"base_unit_id":260} 
[2026-09-08 17:04:38] live.INFO: Processing unit index: 1 {"unit_data":{"actual_name":"atgaa","unit_id":"261","short_name":"fdd","relation_unit_id":"260","relation_qty":"4","price":"333"}} 
[2026-09-08 17:04:38] live.INFO: Unit found by ID {"unit_id":261,"actual_name":"atgaa"} 
[2026-09-08 17:04:38] live.INFO: Unit lookup result {"found":"yes","unit_id":261,"method":"by_id"} 
[2026-09-08 17:04:38] live.INFO: Updating existing unit {"unit_id":261} 
[2026-09-08 17:04:38] live.INFO: Updated unit_price {"new_price":333.0} 
[2026-09-08 17:04:38] live.INFO: Unit updated successfully  
[2026-09-08 17:04:38] live.INFO: First pass complete {"created_units_count":2,"base_unit_id":260} 
[2026-09-08 17:04:38] live.INFO: === SECOND PASS: Setting relations first ===  
[2026-09-08 17:04:38] live.INFO: Setting relation for unit {"unit_id":261,"unit_name":"atgaa","relation_unit_id":260,"relation_unit_name":"dfsg","relation_qty":4.0} 
[2026-09-08 17:04:38] live.INFO: Relation saved to database {"unit_id":261,"rel_unit_id":260,"rel_unit_qty":4.0,"base_unit_id":260} 
[2026-09-08 17:04:38] live.INFO: === SECOND PASS: Calculating cumulative multipliers ===  
[2026-09-08 17:04:38] live.INFO: Calculating cumulative multiplier for unit {"unit_id":261,"unit_name":"atgaa"} 
[2026-09-08 17:04:38] live.INFO: === calculateCumulativeMultiplier START === {"unit_id":261,"business_id":8} 
[2026-09-08 17:04:38] live.INFO: Unit found {"unit_id":261,"unit_name":"atgaa","rel_unit_id":260,"rel_unit_qty":"4.0000","base_unit_id":260} 
[2026-09-08 17:04:38] live.INFO: Starting cumulative multiplier {"initial_multiplier":4.0} 
[2026-09-08 17:04:38] live.INFO: Traversing up chain depth: 0 {"current_unit_id":260} 
[2026-09-08 17:04:38] live.INFO: Parent unit found {"parent_unit_id":260,"parent_unit_name":"dfsg","parent_rel_unit_id":null,"parent_rel_unit_qty":"1.0000"} 
[2026-09-08 17:04:38] live.INFO: Reached base unit (no rel_unit_id), stopping  
[2026-09-08 17:04:38] live.INFO: Chain traversal complete {"chain":"atgaa (261) -> dfsg (260)","final_cumulative_multiplier":4.0,"depth_traversed":0} 
[2026-09-08 17:04:38] live.INFO: === calculateCumulativeMultiplier END === {"result":4.0} 
[2026-09-08 17:04:38] live.INFO: Cumulative multiplier calculated {"unit_id":261,"unit_name":"atgaa","cumulative_multiplier":4.0} 
[2026-09-08 17:04:38] live.INFO: Unit saved with cumulative multiplier {"unit_id":261,"unit_name":"atgaa","base_unit_multiplier":4.0} 
[2026-09-08 17:04:38] live.INFO: === saveProductNewUnitRelationships END ===  
[2026-09-08 17:04:39] live.INFO: OpeningStockController::add - Location Data {"product_id":"341","business_id":8,"locations":{"Illuminate\\Support\\Collection":{"9":"BQT GENERAL BUSINESS (BL0001)","10":"BQT BRANCH 1 (BL0002)","12":"BQT BRANCH 2 (BL0003)","14":"BQT BRANCH 3 (BL0004)"}},"available_locations":[9]} 
[2026-09-08 17:04:39] live.INFO: OpeningStockController::add - Serial Numbers Check {"product_id":"341","business_id":8,"has_serial_numbers":{"9":false},"total_locations_with_serial":0} 
[2026-09-08 17:04:48] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:04:48] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:04:48] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:04:48] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:04:48] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:04:48] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:04:48] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:04:48] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:04:48] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:04:52] live.INFO: filterProduct method called {"business_id":8,"search_term":"aaa","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:04:52] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:04:52] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:04:52] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:04:52] live.DEBUG: Applying search filters {"search_term":"aaa","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:04:52] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:04:52] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:04:52] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:04:52] live.INFO: filterProduct completed successfully {"result_count":4,"business_id":8,"search_term":"aaa"} 
[2026-09-08 17:04:54] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:04:54] live.INFO: Product Row Debug - RELOADED {"product_id":341,"product_name":"aaa","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":44.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"260":{"unit_id":260,"unit_name":"dfsg","unit_price":44.0,"multiplier":1,"has_price":true},"261":{"unit_id":261,"unit_name":"atgaa","unit_price":333.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:04:57] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:04:57] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:04:57] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:04:57] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:04:58] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:04:58] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:04:58] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:04:58] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:04:59] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:04:59] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:00] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:00] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:00] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:00] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:01] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:01] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:01] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:01] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:02] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:02] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:02] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:02] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:03] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:03] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:03] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:03] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:04] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:04] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:05] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:05] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:07] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:07] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:08] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:08] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:08] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:08] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:09] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:09] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:09] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:09] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:10] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:10] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:10] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:10] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:11] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:11] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:12] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:12] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:16] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:16] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:17] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:17] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:17] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:17] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:18] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:18] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:19] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:19] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:05:20] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 17:05:20] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 17:08:50] live.INFO: filterProduct method called {"business_id":8,"search_term":"ts","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:08:50] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:08:50] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:08:50] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:08:50] live.DEBUG: Applying search filters {"search_term":"ts","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:08:50] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:08:50] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:08:50] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:08:50] live.INFO: filterProduct completed successfully {"result_count":0,"business_id":8,"search_term":"ts"} 
[2026-09-08 17:08:55] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:08:55] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:08:55] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:08:55] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:08:55] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:08:55] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:08:55] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:08:55] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:08:55] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:08:55] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:08:57] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:09:50] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:50] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:09:51] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:51] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:09:51] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:51] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:09:52] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:52] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:09:52] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:52] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:09:53] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:09:53] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:09] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:13:09] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:13:09] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:13:09] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:13:09] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:13:09] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:13:09] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:13:09] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:13:09] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:13:11] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:13:11] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:13:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:13:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:13:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:41] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:41] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:42] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:42] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:42] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:42] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:43] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:43] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:43] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:43] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:44] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:44] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:50] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:50] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:53] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:53] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:56] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:56] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:19:58] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:19:58] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:22:33] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:22:33] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:22:33] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:22:33] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:22:33] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:22:33] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:22:33] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:22:33] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:22:33] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:22:35] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:22:38] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:23:05] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:23:05] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:23:05] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:23:05] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:23:05] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:23:05] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:23:05] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:23:05] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:23:05] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:23:07] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:23:08] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:23:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:25] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:25] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:33] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:34] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:34] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:34] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:34] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:41] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:41] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:43] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:43] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:47] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:47] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:23:50] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:23:50] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:26:26] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:26:26] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:26:26] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:26:26] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:26:26] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:26:26] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:26:26] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:26:26] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:26:26] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:26:27] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:26:29] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:27:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:27:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:27:27] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:27:27] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:27:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:27:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:27:32] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:27:32] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:01] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:01] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:05] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:05] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:36] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:36] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:36] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:36] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:37] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:37] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:30:37] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:30:37] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:31:00] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:31:00] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:31:00] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:31:00] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:31:00] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:31:00] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:31:00] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:31:00] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:31:00] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:31:03] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:31:06] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:31:37] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:31:37] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:33:29] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:33:29] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:33:29] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:33:29] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:33:29] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:33:29] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:33:29] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:33:29] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:33:29] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:33:31] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:33:33] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:33:53] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:33:53] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:02] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:02] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:06] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:06] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:07] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:07] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:10] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:10] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:42] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:42] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:44] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:44] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:46] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:46] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:34:48] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:34:48] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:10] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:10] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:10] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:10] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:11] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:11] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:11] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:11] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:40] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:35:40] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:35:40] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:35:40] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:35:40] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:35:40] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:35:40] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:35:40] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:35:40] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:35:42] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:35:45] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:35:57] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:57] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:58] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:58] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:58] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:58] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:59] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:59] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:35:59] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:35:59] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:00] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:00] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:49] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:36:49] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:36:49] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:36:49] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:36:49] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:36:49] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:36:49] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:36:49] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:36:49] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:36:51] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:36:55] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:36:55] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:55] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:55] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:55] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:56] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:56] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:56] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:56] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:57] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:57] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:36:57] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:36:57] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:03] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:03] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:10] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:10] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:10] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:10] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:11] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:11] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:11] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:11] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:15] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:15] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:37:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:37:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:14] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:38:14] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:38:14] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:38:14] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:38:14] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:38:14] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:38:14] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:38:14] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:38:14] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:38:15] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:38:18] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:38:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:20] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:20] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:24] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:24] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:24] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:24] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:25] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:25] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:25] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:25] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:26] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:26] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:26] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:26] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:26] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:26] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:27] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:27] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:27] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:27] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:29] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:29] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:38:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:38:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:47] live.INFO: filterProduct method called {"business_id":8,"search_term":"tes","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:40:47] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:40:47] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:40:47] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:40:47] live.DEBUG: Applying search filters {"search_term":"tes","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:40:47] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:40:47] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:40:47] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:40:47] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"tes"} 
[2026-09-08 17:40:49] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:40:53] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:40:53] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:53] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:53] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:53] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:54] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:54] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:55] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:55] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:56] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:56] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:57] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:57] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:58] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:58] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:58] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:58] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:59] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:59] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:40:59] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:40:59] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:41:00] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:41:00] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:41:00] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:41:00] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:41:01] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:41:01] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:41:01] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:41:01] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:42:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:42:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:42:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:42:08] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:42:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:42:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:42:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:42:08] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:42:10] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:42:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:14] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:42:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:15] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:15] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:20] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:20] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:20] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:20] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:24] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:24] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:42:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:42:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:43:19] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:43:19] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:43:19] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:43:19] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:43:19] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:43:19] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:43:19] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:43:19] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:43:19] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:43:21] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:43:24] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:46:06] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:46:06] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:46:06] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:46:06] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:46:06] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:46:06] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:46:06] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:46:06] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:46:06] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:46:07] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:46:07] live.EMERGENCY: File:/home/risetclo/r.riset.cloud/storage/framework/views/0901d9ae0e363582792b24ea8926bf9ff9c1c86f.phpLine:18Message:syntax error, unexpected token "," (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php) (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php)  
[2026-09-08 17:46:11] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:46:11] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:46:11] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:46:11] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:46:11] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:46:11] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:46:11] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:46:11] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:46:11] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:46:12] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:46:13] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:46:13] live.EMERGENCY: File:/home/risetclo/r.riset.cloud/storage/framework/views/0901d9ae0e363582792b24ea8926bf9ff9c1c86f.phpLine:18Message:syntax error, unexpected token "," (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php) (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php)  
[2026-09-08 17:46:56] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:46:56] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:46:56] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:46:56] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:46:56] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:46:56] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:46:56] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:46:56] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:46:56] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:46:57] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:46:57] live.EMERGENCY: File:/home/risetclo/r.riset.cloud/storage/framework/views/0901d9ae0e363582792b24ea8926bf9ff9c1c86f.phpLine:18Message:syntax error, unexpected token "," (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php) (View: /home/risetclo/r.riset.cloud/resources/views/sale_pos/partials/row_edit_product_price_modal.blade.php)  
[2026-09-08 17:46:58] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:47:23] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:47:23] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:47:23] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:47:23] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:47:23] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:47:23] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:47:23] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:47:23] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:47:23] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:47:23] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:47:24] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:47:27] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:27] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:29] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:29] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:29] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:29] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:39] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:39] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:42] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:42] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:47:44] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:47:44] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:09] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:48:09] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:48:09] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:48:09] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:48:09] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:48:09] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:48:09] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:48:09] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:48:09] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:48:10] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:48:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:15] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:15] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:15] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:48:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:16] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:16] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:18] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:18] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:19] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:19] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:20] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:20] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:20] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:20] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:21] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:21] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:23] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:23] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:24] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:24] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:24] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:24] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:25] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:48:25] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:48:56] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:48:56] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:48:56] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:48:56] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:48:56] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:48:56] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:48:56] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:48:56] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:48:56] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:48:58] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:49:00] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:49:01] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:01] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:49:02] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:02] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:49:03] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:03] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:49:03] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:03] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:49:04] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:04] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:49:05] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:49:05] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:53:10] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:53:10] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:53:10] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:53:10] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:53:10] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:53:10] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:53:10] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:53:10] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:53:10] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:53:10] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:53:12] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:53:18] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:53:18] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:53:18] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:53:18] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:53:18] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:53:18] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:53:18] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:53:18] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:53:18] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:53:20] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:53:30] live.INFO: filterProduct method called {"business_id":8,"search_term":"tes","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:53:30] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:53:30] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:53:30] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:53:30] live.DEBUG: Applying search filters {"search_term":"tes","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:53:30] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:53:30] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:53:30] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:53:30] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"tes"} 
[2026-09-08 17:53:33] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:55:23] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:55:23] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:55:23] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:55:23] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:55:23] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:55:23] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:55:23] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:55:23] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:55:23] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:55:25] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:55:29] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:56:05] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:56:05] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:56:05] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:56:05] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:56:05] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:56:05] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:56:05] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:56:05] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:56:05] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:56:07] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:56:12] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:57:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:28] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:28] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:29] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:29] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:30] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:30] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:31] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:31] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:31] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:31] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:32] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:32] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:33] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:33] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:33] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:34] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:34] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:34] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:34] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:35] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:35] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:36] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:36] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:36] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:36] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:37] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:37] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:37] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:37] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:38] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:38] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:57:39] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:57:39] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:03] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 17:58:03] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 17:58:03] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 17:58:03] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 17:58:03] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 17:58:03] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 17:58:03] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 17:58:03] live.DEBUG: Added lot number fields to select  
[2026-09-08 17:58:03] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 17:58:05] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 17:58:07] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 17:58:12] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:12] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:13] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:13] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:14] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:14] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:15] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:15] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:17] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:17] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:22] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:22] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:25] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:25] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 17:58:27] live.INFO: Fetching tax rate for product ID: 28  
[2026-09-08 17:58:27] live.INFO: Tax rate for product ID 28 is: 16%  
[2026-09-08 18:00:31] live.INFO: filterProduct method called {"business_id":8,"search_term":"tes","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:00:31] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:00:31] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:00:31] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:00:31] live.DEBUG: Applying search filters {"search_term":"tes","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:00:31] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:00:31] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:00:31] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:00:31] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"tes"} 
[2026-09-08 18:00:32] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:00:34] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:01:02] live.INFO: filterProduct method called {"business_id":8,"search_term":"tax","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:01:02] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:01:02] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:01:02] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:01:02] live.DEBUG: Applying search filters {"search_term":"tax","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:01:02] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:01:02] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:01:02] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:01:02] live.INFO: filterProduct completed successfully {"result_count":0,"business_id":8,"search_term":"tax"} 
[2026-09-08 18:01:04] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:01:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:01:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:01:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:01:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:01:08] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:01:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:01:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:01:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:01:08] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:01:10] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:01:43] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:01:43] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:01:43] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:01:43] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:01:43] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:01:43] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:01:43] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:01:43] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:01:43] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:01:44] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:01:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:01:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:11] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:02:11] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:02:11] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:02:11] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:02:11] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:02:11] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:02:11] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:02:11] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:02:11] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:02:12] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:02:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:48] live.INFO: filterProduct method called {"business_id":8,"search_term":"aaa","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:02:48] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:02:48] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:02:48] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:02:48] live.DEBUG: Applying search filters {"search_term":"aaa","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:02:48] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:02:48] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:02:48] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:02:48] live.INFO: filterProduct completed successfully {"result_count":4,"business_id":8,"search_term":"aaa"} 
[2026-09-08 18:02:50] live.INFO: Product Row Debug - RELOADED {"product_id":341,"product_name":"aaa","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":44.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"260":{"unit_id":260,"unit_name":"dfsg","unit_price":44.0,"multiplier":1,"has_price":true},"261":{"unit_id":261,"unit_name":"atgaa","unit_price":333.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:02:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:02:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:02:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:25] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:25] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:26] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:26] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:26] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:26] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:27] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:27] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:34] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:34] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:35] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:35] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:35] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:35] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:36] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:36] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:37] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:37] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:37] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:37] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:38] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:38] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:38] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:38] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:39] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:39] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:39] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:39] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:40] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:40] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:41] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:41] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:41] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:41] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:42] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:42] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:42] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:42] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:43] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:43] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:46] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:46] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:47] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:47] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:48] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:48] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:48] live.INFO: Fetching tax rate for product ID: 341  
[2026-09-08 18:03:48] live.INFO: Tax rate for product ID 341 is: 16%  
[2026-09-08 18:03:54] live.INFO: filterProduct method called {"business_id":8,"search_term":"aa","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:03:54] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:03:54] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:03:54] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:03:54] live.DEBUG: Applying search filters {"search_term":"aa","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:03:54] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:03:54] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:03:54] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:03:54] live.INFO: filterProduct completed successfully {"result_count":5,"business_id":8,"search_term":"aa"} 
[2026-09-08 18:03:55] live.INFO: filterProduct method called {"business_id":8,"search_term":"aaa","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:03:55] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:03:55] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:03:55] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:03:55] live.DEBUG: Applying search filters {"search_term":"aaa","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:03:55] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:03:55] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:03:55] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:03:55] live.INFO: filterProduct completed successfully {"result_count":4,"business_id":8,"search_term":"aaa"} 
[2026-09-08 18:03:58] live.INFO: Product Row Debug - RELOADED {"product_id":341,"product_name":"aaa","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":44.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"260":{"unit_id":260,"unit_name":"dfsg","unit_price":44.0,"multiplier":1,"has_price":true},"261":{"unit_id":261,"unit_name":"atgaa","unit_price":333.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:03:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:03:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:03:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:04:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:04:53] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:04:53] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:04:53] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:04:53] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:04:53] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:04:53] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:04:53] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:04:53] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:04:53] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:04:54] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:04:57] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:05:17] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:05:17] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:05:17] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:05:17] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:05:17] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:05:17] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:05:17] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:05:17] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:05:17] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:05:19] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:05:19] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:15:18] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:15:18] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:15:18] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:15:18] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:15:18] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:15:18] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:15:18] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:15:18] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:15:18] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:15:18] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:15:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:15:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:15:24] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:15:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:15:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:15:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:15:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:17:54] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:18:00] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:18:00] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:18:00] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:18:00] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:18:00] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:18:00] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:18:00] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:18:00] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:18:00] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:18:02] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:18:07] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:18:49] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:18:49] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:18:49] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:18:49] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:18:49] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:18:49] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:18:49] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:18:49] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:18:49] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:18:49] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:18:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:18:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:18:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:18:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:18:57] live.INFO: filterProduct method called {"business_id":8,"search_term":"re","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:18:57] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:18:57] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:18:57] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:18:57] live.DEBUG: Applying search filters {"search_term":"re","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:18:57] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:18:57] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:18:57] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:18:57] live.INFO: filterProduct completed successfully {"result_count":8,"business_id":8,"search_term":"re"} 
[2026-09-08 18:18:58] live.INFO: Product Row Debug - RELOADED {"product_id":20,"product_name":"water for refill 20ltrs","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"11":{"unit_id":11,"unit_name":"Ltr","unit_price":null,"multiplier":1,"has_price":false}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:18:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:18:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:18:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:18:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:19:48] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:19:48] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:19:48] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:19:48] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:19:48] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:19:48] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:19:48] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:19:48] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:19:48] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:19:49] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:19:53] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:19:55] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:19:55] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:19:55] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:19:55] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:19:55] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:19:55] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:19:55] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:19:55] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:19:55] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:19:56] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:19:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:19:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:20:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:20:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:21:41] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:21:41] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:21:41] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:21:41] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:21:41] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:21:41] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:21:41] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:21:41] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:21:41] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:21:42] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:21:48] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:44:24] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:44:25] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:44:25] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:44:25] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:44:25] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:44:25] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:44:25] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:44:25] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:44:25] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:44:25] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:44:26] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:50:56] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:50:56] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:50:56] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:50:56] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:50:56] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:50:56] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:50:56] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:50:56] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:50:56] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:50:58] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:51:01] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:51:04] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:51:04] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:51:04] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:51:04] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:51:04] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:51:04] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:51:04] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:51:04] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:51:04] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:51:05] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:51:13] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:51:13] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:51:13] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:51:13] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:51:13] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:51:13] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:51:13] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:51:13] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:51:13] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:51:14] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:51:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:52] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:52] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:51:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:51:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:03] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:03] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:04] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:04] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:27] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:27] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:28] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:28] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:31] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:31] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:32] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:32] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:42] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:42] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:43] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:43] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:44] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:44] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:50] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:50] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:51] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:51] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:52] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:52] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:52] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:52] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:52] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:52] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:52] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:52] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:57] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:57] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:58] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:58] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:52:59] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:00] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:00] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:01] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:01] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:02] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:02] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:06] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:06] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:53:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 18:53:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 18:57:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:57:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:57:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:57:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:57:08] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:57:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:57:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:57:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:57:08] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:57:08] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:57:14] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:58:06] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:58:06] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:58:06] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:58:06] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:58:06] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:58:06] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:58:06] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:58:06] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:58:06] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 18:58:06] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:58:12] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 18:58:41] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:58:41] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:58:41] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:58:41] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:58:41] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:58:41] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:58:41] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:58:41] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:58:41] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:58:43] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 18:58:48] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 18:58:48] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 18:58:48] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 18:58:48] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 18:58:48] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 18:58:48] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 18:58:48] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 18:58:48] live.DEBUG: Added lot number fields to select  
[2026-09-08 18:58:48] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 18:58:49] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:06:31] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:06:31] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:06:31] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:06:31] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:06:31] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:06:31] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:06:31] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:06:31] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:06:31] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:06:31] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:06:32] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:07:34] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:07:34] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:07:34] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:07:34] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:07:34] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:07:34] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:07:34] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:07:34] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:07:34] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:07:34] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:07:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:40] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:07:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:53] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:53] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:54] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:54] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:55] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:55] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:07:56] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:07:56] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:20] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:20] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:21] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:21] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:08:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:08:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:33] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:13:33] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:13:33] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:13:33] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:13:33] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:13:33] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:13:33] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:13:33] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:13:33] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:13:33] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:13:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:39] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:13:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:47] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:47] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:48] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:48] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:13:49] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:13:49] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:07] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:07] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:10] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:10] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:14:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:14:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:16:36] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:16:36] live.INFO: filterProduct method called {"business_id":8,"search_term":"test","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:16:36] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:16:36] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:16:36] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:16:36] live.DEBUG: Applying search filters {"search_term":"test","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:16:36] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:16:36] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:16:36] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:16:36] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"test"} 
[2026-09-08 19:16:37] live.INFO: Product Row Debug - RELOADED {"product_id":333,"product_name":"xtest","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":200.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"244":{"unit_id":244,"unit_name":"Pc","unit_price":200.0,"multiplier":1,"has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:16:44] live.INFO: Fetching tax rate for product ID: 333  
[2026-09-08 19:16:44] live.INFO: Product ID 333 has no tax assigned.  
[2026-09-08 19:17:04] live.INFO: Fetching tax rate for product ID: 333  
[2026-09-08 19:17:04] live.INFO: Product ID 333 has no tax assigned.  
[2026-09-08 19:21:03] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:21:03] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:21:03] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:21:03] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:21:03] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:21:03] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:21:03] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:21:03] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:21:03] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:21:04] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:21:05] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:05] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:21:08] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:21:08] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:08] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:21:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:21:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:21:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:21:22] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:21:22] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:23] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:24:23] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:24:23] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:24:23] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:24:23] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:24:23] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:24:23] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:24:23] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:24:23] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:24:23] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:24:24] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:24] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:28] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:24:29] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:29] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:30] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:30] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:33] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:33] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:34] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:34] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:35] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:35] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:36] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:36] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:37] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:37] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:39] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:39] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:40] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:40] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:44] live.INFO: filterProduct method called {"business_id":8,"search_term":"tes","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:24:44] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:24:44] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:24:44] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:24:44] live.DEBUG: Applying search filters {"search_term":"tes","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:24:44] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:24:44] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:24:44] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:24:44] live.INFO: filterProduct completed successfully {"result_count":3,"business_id":8,"search_term":"tes"} 
[2026-09-08 19:24:45] live.INFO: Product Row Debug - RELOADED {"product_id":28,"product_name":"test1j","discount_allowed":true,"has_global_discount":true,"global_discount_type":null,"global_discount_amount":null,"discounts_count":3,"discounts":[{"id":9,"product_id":28,"business_id":8,"from_quantity":6,"to_quantity":10,"discount_type":"fixed","discount_amount":3.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":10,"product_id":28,"business_id":8,"from_quantity":11,"to_quantity":15,"discount_type":"fixed","discount_amount":5.0,"created_at":"2026-07-20T15:36:57.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"},{"id":13,"product_id":28,"business_id":8,"from_quantity":16,"to_quantity":null,"discount_type":"fixed","discount_amount":6.0,"created_at":"2026-07-21T09:26:41.000000Z","updated_at":"2026-07-21T12:00:49.000000Z"}],"base_price":4000.0,"discounts_json":"[{\"id\":9,\"product_id\":28,\"business_id\":8,\"from_quantity\":6,\"to_quantity\":10,\"discount_type\":\"fixed\",\"discount_amount\":3,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":10,\"product_id\":28,\"business_id\":8,\"from_quantity\":11,\"to_quantity\":15,\"discount_type\":\"fixed\",\"discount_amount\":5,\"created_at\":\"2026-07-20T15:36:57.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"},{\"id\":13,\"product_id\":28,\"business_id\":8,\"from_quantity\":16,\"to_quantity\":null,\"discount_type\":\"fixed\",\"discount_amount\":6,\"created_at\":\"2026-07-21T09:26:41.000000Z\",\"updated_at\":\"2026-07-21T12:00:49.000000Z\"}]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:24:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:24:46] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:24:46] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:26:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:26:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:26:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:26:08] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:26:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:26:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:26:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:26:08] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:26:08] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:26:09] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:09] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:11] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:11] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:12] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:12] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:14] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:26:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:14] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:14] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:26:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:26:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:07] live.INFO: filterProduct method called {"business_id":8,"search_term":"te","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:27:07] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:27:07] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:27:07] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:27:07] live.DEBUG: Applying search filters {"search_term":"te","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:27:07] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:27:07] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:27:07] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:27:07] live.INFO: filterProduct completed successfully {"result_count":14,"business_id":8,"search_term":"te"} 
[2026-09-08 19:27:08] live.INFO: filterProduct method called {"business_id":8,"search_term":"tex","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:27:08] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:27:08] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:27:08] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:27:08] live.DEBUG: Applying search filters {"search_term":"tex","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:27:08] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:27:08] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:27:08] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:27:08] live.INFO: filterProduct completed successfully {"result_count":0,"business_id":8,"search_term":"tex"} 
[2026-09-08 19:27:12] live.INFO: filterProduct method called {"business_id":8,"search_term":"hp","location_id":"9","not_for_selling":"0","price_group_id":"0","product_types":[],"search_fields":["name","sku","lot"],"check_qty":false,"search_type":"like"} 
[2026-09-08 19:27:12] live.DEBUG: Initial query built with joins {"has_location":true} 
[2026-09-08 19:27:12] live.DEBUG: Filtering by not_for_selling {"not_for_selling":"0"} 
[2026-09-08 19:27:12] live.DEBUG: Joining purchase_lines for lot number search  
[2026-09-08 19:27:12] live.DEBUG: Applying search filters {"search_term":"hp","search_type":"like","search_fields":["name","sku","lot"]} 
[2026-09-08 19:27:12] live.DEBUG: LIKE search conditions applied {"fields":["name","sku","lot"]} 
[2026-09-08 19:27:12] live.DEBUG: Applying location filter {"location_id":"9"} 
[2026-09-08 19:27:12] live.DEBUG: Added lot number fields to select  
[2026-09-08 19:27:12] live.INFO: filterProduct completed successfully {"result_count":1,"business_id":8,"search_term":"hp"} 
[2026-09-08 19:27:13] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":40000.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:27:13] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:27:13] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:13] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:15] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:15] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:16] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:16] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:17] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:17] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:18] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:18] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:19] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:19] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:23] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:23] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:25] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:25] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:26] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:27:26] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:27:28] live.INFO: Credit Limit Check Started {"contact_id":"94","status":"final","final_total":"18280.00","is_credit_sale":"0","exclude_transaction_id":null} 
[2026-09-08 19:27:28] live.DEBUG: Payment Calculation {"final_total":18280.0,"curr_total_payment":18280.0,"is_credit_sale":false,"payment_count":1} 
[2026-09-08 19:27:28] live.INFO: Credit Limit Check Skipped - Fully Paid {"final_total":18280.0,"curr_total_payment":18280.0} 
[2026-09-08 19:27:28] live.INFO: mpesa_transaction_id value: NULL  
[2026-09-08 19:27:28] live.INFO: is_mpesa_sale value: true  
[2026-09-08 19:27:28] live.INFO: M-Pesa sale evaluation {"is_mpesa_sale_raw":true,"is_valid_mpesa_sale":false,"payment_method_input":"cash","mpesa_transaction_id":null,"transaction_id":1828} 
[2026-09-08 19:27:29] live.INFO: Journal Entry Case: FULL CASH PAYMENT {"transaction_id":1828,"final_total":18280.0,"amount_paid":18280.0,"balance_due":0} 
[2026-09-08 19:27:29] live.INFO: Journal Entries Inserted Successfully {"transaction_id":1828,"entries":[{"transaction_id":1828,"created_by_id":229,"transaction_number":"TRX-6aa03771067c55.75162221","payment_detail_id":1308,"location_id":"9","currency_id":133,"transaction_type":"sell","date":"2026-09-08","month":9,"year":2026,"active":1,"reversed":0,"reversible":1,"manual_entry":1,"created_at":"2026-09-08 19:27:29","updated_at":"2026-09-08 19:27:29","chart_of_account_id":23,"debit":null,"credit":18280.0},{"transaction_id":1828,"created_by_id":229,"transaction_number":"TRX-6aa03771067c55.75162221","payment_detail_id":1308,"location_id":"9","currency_id":133,"transaction_type":"sell","date":"2026-09-08","month":9,"year":2026,"active":1,"reversed":0,"reversible":1,"manual_entry":1,"created_at":"2026-09-08 19:27:29","updated_at":"2026-09-08 19:27:29","chart_of_account_id":27,"debit":18280.0,"credit":null}]} 
[2026-09-08 19:27:29] live.INFO: ETIMS: Customer details retrieved {"transaction_id":1828,"contact_id":94,"customer_name":"Walk-In Customer","has_tin":false,"has_digitax_id":false} 
[2026-09-08 19:27:29] live.ERROR: ETIMS: Missing item_id for product {"product_id":153} 
[2026-09-08 19:27:29] live.ERROR: ETIMS: No valid items to submit after filtering  
[2026-09-08 19:27:29] live.WARNING: ETIMS WAIT: Timed out after 2 attempts for transaction ID: 1828  
[2026-09-08 19:27:50] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:28:38] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":3656.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:28:41] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:28:41] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:28:42] live.INFO: Product Row Debug - RELOADED {"product_id":153,"product_name":"Hp Spectre New 8gb / 256gb ssd","discount_allowed":false,"has_global_discount":false,"global_discount_type":"fixed","global_discount_amount":0,"discounts_count":0,"discounts":[],"base_price":3656.0,"discounts_json":"[]","multiplier":1,"unit_prices":{"1":{"unit_id":1,"unit_name":"Pc","unit_price":4000.0,"multiplier":1,"has_price":true},"64":{"unit_id":64,"unit_name":"CTN","unit_price":11000.0,"multiplier":"4.0000","has_price":true}},"has_price_group":false,"price_group_id":null} 
[2026-09-08 19:28:45] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:28:45] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:28:48] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:29:00] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:30:38] live.INFO: Fetching tax rate for product ID: 153  
[2026-09-08 19:30:38] live.INFO: Product ID 153 has no tax assigned.  
[2026-09-08 19:30:45] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:31:01] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:31:17] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:31:22] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:31:34] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
[2026-09-08 19:32:32] live.ERROR: Failed to send error alert email: Failed to authenticate on SMTP server with username "support@risetsystems.com" using the following authenticators: "LOGIN", "PLAIN". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535 Incorrect authentication data".".  
