                // Setup
                    $tenantId = $this->setUpNewBasicTenant();

                    $outPut = $this->mockPdo->query("select COALESCE(MAX(id), 0) from food_order")->fetchColumn();
                    $lastOrderId = (int)$outPut;
                    $lastOrderId++;

                    // get a user id to use for the order inserts
                    $outPut = $this->mockPdo->query("select COALESCE(MAX(pk_user_id), 0) from user_login")->fetchColumn();
                    $lastUserId = (int)$outPut;

                    // get last inseted order item id to use for the order item inserts
                    $outPut = $this->mockPdo->query("select COALESCE(MAX(id), 0) from food_order_item")->fetchColumn();
                    $lastOrderItemId = (int)$outPut;

                    // get last inserted food order vat summary
                    $outPut = $this->mockPdo->query("select COALESCE(MAX(id), 0) from food_order_vat_summary")->fetchColumn();
                    $lastVatSummaryId = (int)$outPut;

                    // get last inserted id for food_order_refund_event
                    $outPut = $this->mockPdo->query("select COALESCE(MAX(id), 0) from food_order_refund_event")->fetchColumn();
                    $lastRefundEventId = (int)$outPut;

                    // date should be yesterday ad 13:00 to ensure it is within the opening hours and picked up by the reporting function

                    $fiveDaysAgoAt1300  = (new DateTime('5 days ago'))->setTime(13, 0)->format('Y-m-d H:i:s');
                    $fiveDaysAgoAt1310  = (new DateTime('5 days ago'))->setTime(13, 10)->format('Y-m-d H:i:s');
                    $fiveDaysAgoAt0000  = (new DateTime('5 days ago'))->setTime(0, 0)->format('Y-m-d H:i:s');
                    $fiveDaysAgo        = (new DateTime('5 days ago'))->format('Y-m-d');
                    $fourDaysAgoAt0000  = (new DateTime('4 days ago'))->setTime(0, 0)->format('Y-m-d H:i:s');
                    $fourDaysAgoAt1300  = (new DateTime('4 days ago'))->setTime(13, 0)->format('Y-m-d H:i:s');
                    $fourDaysAgoAt1310  = (new DateTime('4 days ago'))->setTime(13, 10 )->format('Y-m-d H:i:s');
                    $fourDaysAgo        = (new DateTime('4 days ago'))->format('Y-m-d');
                    $threeDaysAgoAt1300 = (new DateTime('3 days ago'))->setTime(13, 0)->format('Y-m-d H:i:s');
                    $threeDaysAgoAt1310 = (new DateTime('3 days ago'))->setTime(13, 10)->format('Y-m-d H:i:s');
                    $threeDaysAgoAt0000 = (new DateTime('3 days ago'))->setTime(0, 0)->format('Y-m-d H:i:s');
                    $threeDaysAgo       = (new DateTime('3 days ago'))->format('Y-m-d');
                    $twoDaysAgoAt1300   = (new DateTime('2 days ago'))->setTime(13, 0)->format('Y-m-d H:i:s');
                    $twoDaysAgoAt0000   = (new DateTime('2 days ago'))->setTime(0, 0)->format('Y-m-d H:i:s');
                    $twoDaysAgo         = (new DateTime('2 days ago'))->format('Y-m-d');
                    $oneDayAgoAt1300    = (new DateTime('yesterday'))->setTime(13, 0)->format('Y-m-d H:i:s');
                    $oneDayAgoAt0000    = (new DateTime('yesterday'))->setTime(0, 0)->format('Y-m-d H:i:s');
                    $oneDayAgo          = (new DateTime('yesterday'))->format('Y-m-d');
                    $todayAt0000        = (new DateTime('today'))->setTime(0, 0)->format('Y-m-d H:i:s');
            
                    $order = [];    
                    
                    $lastOrderId++; // incremented to start the next insert at the correct id
                    $this->mockPdo->exec("INSERT INTO food_order        (id,            public_order_code,  user_id,             guest_user_id,  tenant_id,  delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,     customer_service_fee_gross,         platform_fee_gross,       stripe_fee_total,   small_order_fee_gross,    comment,    tenant_comment,     currency,   transaction_id,                 refunded_id,    payment_intent_id,              stripe_receipt_url,     created_at,                 updated_at) 
                                                        VALUES         ($lastOrderId,  'C02QD57Z',         $lastUserId,         NULL,           $tenantId,  2,                      NULL,                   'confirmed',    'delivery',     1540,                          1540,                           1790,                           1790,                           000,                   'Delivery Charge Applied',                              'paid',                  200,                    050,                                050,                      062,                250,                     NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',  '',             'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',  '',                     '$fourDaysAgoAt1300', '$fourDaysAgoAt1300')");
                    
                    $lastOrderId++; // incremented to start the next insert at the correct id
                    $this->mockPdo->exec("INSERT INTO food_order        (id,            public_order_code,  user_id,             guest_user_id,  tenant_id,  delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,     customer_service_fee_gross,         platform_fee_gross,       stripe_fee_total,   small_order_fee_gross,    comment,    tenant_comment,     currency,   transaction_id,                 refunded_id,    payment_intent_id,              stripe_receipt_url,     created_at,                 updated_at) 
                                                        VALUES         ($lastOrderId,  'C02QD57Z',         $lastUserId,         NULL,           $tenantId,  2,                      NULL,                   'confirmed',    'delivery',     1540,                          1540,                           1790,                           1790,                           000,                   'Delivery Charge Applied',                              'paid',                  200,                    050,                                050,                      062,                250,                     NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',  '',             'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',  '',                     '$fiveDaysAgoAt1300', '$fiveDaysAgoAt1300')");
                    
                    $lastOrderId++; // incremented to start the next insert at the correct id
                    $this->mockPdo->exec("INSERT INTO food_order        (id,            public_order_code,  user_id,             guest_user_id,  tenant_id,  delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,     customer_service_fee_gross,         platform_fee_gross,       stripe_fee_total,   small_order_fee_gross,    comment,    tenant_comment,     currency,   transaction_id,                 refunded_id,    payment_intent_id,              stripe_receipt_url,     created_at,                 updated_at) 
                                                        VALUES         ($lastOrderId,  'C02QD57Z',         $lastUserId,         NULL,           $tenantId,  2,                      NULL,                   'confirmed',    'delivery',     1540,                          1540,                           1790,                           1790,                           000,                   'Delivery Charge Applied',                              'paid',                  200,                    050,                                050,                      062,                250,                     NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',  '',             'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',  '',                     '$fiveDaysAgoAt1300', '$fiveDaysAgoAt1300')");
                    
                    
                    $lastOrderId++; // incremented to start the next insert at the correct id
                    // insert and order with an item that is fully charged
                    $this->mockPdo->exec("INSERT INTO food_order    (id,                public_order_code,      user_id,                guest_user_id,          tenant_id,      delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,      delivery_fee_vat,   delivery_fee_vat_rate,     customer_service_fee_gross,     customer_service_fee_vat,   customer_service_fee_vat_rate,          platform_fee_gross,     platform_fee_vat,   platform_fee_vat_rate,       stripe_fee_total,       small_order_fee_gross,  small_order_fee_vat,   small_order_fee_vat_rate,          comment,    tenant_comment,     currency,   transaction_id,                   refunded_id,        payment_intent_id,                  stripe_receipt_url,     created_at,                     updated_at) 
                                                VALUES              ($lastOrderId,      'C02QD5M1',             $lastUserId,            NULL,                   $tenantId,      2,                      NULL,                   'confirmed',   'delivery',      1170,                          1170,                           1620,                           1620,                           000,                   'Delivery Charge Applied',                              'paid',                  150,                     0,                  0.00,                      050,                            1,                          20.00,                                  050,                    8,                  20.00,                       73,                     250,                    0,                     0,                                 NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',    '',                 'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',      '',                     '$fiveDaysAgoAt1300',           '$fiveDaysAgoAt1300')");  

                    $order[$lastOrderId]['orderId'] = $lastOrderId;
                    
                    // insert an order item for that order
                    $this->mockPdo->exec("INSERT INTO `food_order_item` ( `order_id`,   `menu_item_id`,     `item_name`,        `item_base_price`,  `item_total_gross_original`,    `item_modified_reason`,                     `item_quantity`,    `item_note`,    `item_status`,      `item_tenant_comment`,      `created_at`,               `updated_at`,           `item_total_net_original`,      `item_total_vat_original`,      `item_total_gross_modified`,    `item_total_net_modified`,      `item_total_vat_modified`,      `item_vat_rate`) 
                                                                VALUES  ($lastOrderId,  94,                 'Chips',            310,                620,                            'Includes extras: Ketchup (£0.10)',          2,                  NULL,           'pending',          NULL,                       '$fiveDaysAgoAt1300',      '$fiveDaysAgoAt1300',    517,                           103,                            620,                            517,                            103,                            20.00),
                                                                        ($lastOrderId,  238,                'Diet Coke Can',    200,                400,                            'Base price only',                           2,                  NULL,           'pending',          NULL,                       '$fiveDaysAgoAt1300',      '$fiveDaysAgoAt1300',    333,                           67,                             400,                            333,                            67,                             20.00),
                                                                        ($lastOrderId,  91,                 'vat 0',            50,                 150,                            'Base price only',                           3,                  NULL,           'pending',          NULL,                       '$fiveDaysAgoAt1300',      '$fiveDaysAgoAt1300',    150,                           0,                              150,                            150,                            0,                              0.00)");
                    $lastOrderItemId ++; // incremented to match the id of the inserted order item for the last insert
                    $item1Id = $lastOrderItemId;
                    $order[$lastOrderId]['itemId'][] = $lastOrderItemId;
                    $lastOrderItemId ++; // incremented to match the id of the inserted order item for the last insert
                    $item2Id = $lastOrderItemId;
                    $order[$lastOrderId]['itemId'][] = $lastOrderItemId;

                    $lastOrderItemId ++; // incremented to match the id of the inserted order item for the last insert
                    $item3Id = $lastOrderItemId;
                    $order[$lastOrderId]['itemId'][] = $lastOrderItemId;
                    // insert a vat summary for that order
                    $this->mockPdo->exec("INSERT INTO food_order_vat_summary    (order_id,      vat_rate,   vat_gross_original,     vat_net_original,   vat_amount_original,    vat_gross_modified,     vat_net_modified,   vat_amount_modified,        created_at,             updated_at) 
                                                                VALUES          ($lastOrderId,  20.00,      1020,                   850,               170,                     1020,                    850,               170,                        '$fiveDaysAgoAt1300',   '$fiveDaysAgoAt1300'),
                                                                                ($lastOrderId,  0.00,       150,                    150,               0,                       150,                     150,               0,                          '$fiveDaysAgoAt1300',   '$fiveDaysAgoAt1300')");
                    $lastVatSummaryId++; // incremented to match the id of the inserted vat summary for the last insert
                    $vatSummery1Id = $lastVatSummaryId;
                    $order[$lastOrderId]['vatSummaryId'] = $lastVatSummaryId;
                    $lastVatSummaryId++; // incremented to match the id of the inserted vat summary for the last insert
                    $vatSummery2Id = $lastVatSummaryId;
                    $order[$lastOrderId]['vatSummaryId'] = $lastVatSummaryId;
                    // update the order to have a partial refund to test the impact of refunds on the reporting state
                    $this->mockPdo->exec("UPDATE food_order SET product_total_current_gross = 760, order_total_current_gross = 1210, payment_status = 'partial_refund', updated_at = '$fourDaysAgoAt1310' WHERE id = $lastOrderId");
                    
                    // update the order item to have a partial refund to test the impact of refunds on the reporting state
                    $this->mockPdo->exec("UPDATE food_order_item SET item_total_gross_modified = 310, item_total_net_modified = 258, item_total_vat_modified = 52, item_status = 'partial_refund', updated_at = '$fourDaysAgoAt1310' WHERE id = $item1Id");
                    $this->mockPdo->exec("UPDATE food_order_item SET item_total_gross_modified = 50,  item_total_net_modified = 50,  item_total_vat_modified = 0,  item_status = 'partial_refund', updated_at = '$fourDaysAgoAt1310' WHERE id = $item3Id");
                    
                    // update the vat summary to reflect the partial refund
                    $this->mockPdo->exec("UPDATE food_order_vat_summary SET vat_gross_modified = 50,  vat_net_modified = 50,  vat_amount_modified = 0,   updated_at = '$fourDaysAgoAt1310' WHERE id = $vatSummery1Id");
                    $this->mockPdo->exec("UPDATE food_order_vat_summary SET vat_gross_modified = 710, vat_net_modified = 592, vat_amount_modified = 118, updated_at = '$fourDaysAgoAt1310' WHERE id = $vatSummery2Id");
                    
                    // insert a refund event for the partial refund
                    $this->mockPdo->exec("INSERT INTO food_order_refund_event ( refund_group_id,    order_id,        tenant_id,     refund_type,    order_item_id,      gross_pence,    net_pence,      vat_pence,  vat_rate,   note,                               processed_at) 
                                                                        VALUES  (3,                  $lastOrderId,   $tenantId,      'item',         $item1Id,   310,            258,            52,         20.00,      'Partial refund for order item',    '$fourDaysAgoAt1310'),
                                                                                (3,                  $lastOrderId,   $tenantId,      'item',         $item3Id,   100,            100,             0,          0.00,       'Partial refund for order item',   '$fourDaysAgoAt1310')");
                    $order[$lastOrderId]['refundEventId'][] = $lastRefundEventId;
                    $lastRefundEventId++; // incremented to match the id of the inserted refund event for the last insert
                    
                    
                    $lastOrderId++; // incremented to start the next insert at the correct id
                    $this->mockPdo->exec("INSERT INTO food_order    (id,                public_order_code,      user_id,                guest_user_id,          tenant_id,      delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,     customer_service_fee_gross,     customer_service_fee_vat,   customer_service_fee_vat_rate,          platform_fee_gross,     platform_fee_vat,   platform_fee_vat_rate,       stripe_fee_total,       small_order_fee_gross,  small_order_fee_vat,   small_order_fee_vat_rate,           comment,    tenant_comment,     currency,   transaction_id,                 refunded_id,            payment_intent_id,              stripe_receipt_url,     created_at,                 updated_at) 
                                                VALUES              ($lastOrderId,      'C02QD57Z',             $lastUserId,            NULL,                   $tenantId,      2,                      NULL,                   'confirmed',   'collection',     2000,                          2000,                           2050,                           2050,                           000,                   'Delivery Charge Applied',                              'paid',                  0,                      050,                            1,                          20.00,                                  050,                    8,                  20.00,                       87,                    0,                       0,                     0,                                 NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',  '',             'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',  '',                     '$fiveDaysAgoAt1300',        '$fiveDaysAgoAt1300')");  
                    $order[$lastOrderId]['orderId'] = $lastOrderId;
                
                    // insert an order item for that order
                    $this->mockPdo->exec("INSERT INTO `food_order_item` ( `order_id`,   `menu_item_id`,     `item_name`,    `item_base_price`,  `item_total_gross_original`,    `item_modified_reason`,     `item_quantity`,    `item_note`,    `item_status`,      `item_tenant_comment`,      `created_at`,               `updated_at`,           `item_total_net_original`,      `item_total_vat_original`,      `item_total_gross_modified`,    `item_total_net_modified`,      `item_total_vat_modified`,      `item_vat_rate`) 
                                                                VALUES  ($lastOrderId,  91,                 'Medium Cod',   1000,               2000,                           'Base price only',          2,                  NULL,           'pending',          NULL,                       '$fiveDaysAgoAt1300',      '$fiveDaysAgoAt1300',    1667,                           333,                            2000,                           1667,                           333,                            20.00)  ");
                    $lastOrderItemId ++; // incremented to match the id of the inserted order item for the last insert
                    $order[$lastOrderId]['itemId'][] = $lastOrderItemId;
                    
                    $this->mockPdo->exec("INSERT INTO food_order_vat_summary    (order_id,      vat_rate,   vat_gross_original,     vat_net_original,   vat_amount_original,    vat_gross_modified,     vat_net_modified,   vat_amount_modified,        created_at,             updated_at) 
                                                                VALUES          ($lastOrderId,  20.00,      2000,                   1667,               333,                    2000,                   1667,               333,                        '$fiveDaysAgoAt1300',   '$fiveDaysAgoAt1300')");
                    $lastVatSummaryId++; // incremented to match the id of the inserted vat summary for the last insert
                    $order[$lastOrderId]['vatSummaryId'] = $lastVatSummaryId;
                    // update the order to have a partial refund to test the impact of refunds on the reporting state
                    $this->mockPdo->exec("UPDATE food_order SET product_total_current_gross = 1000, order_total_current_gross = 1050, payment_status = 'partial_refund', updated_at = '$fourDaysAgoAt1310' WHERE id = $lastOrderId");
                    // update the order item to have a partial refund to test the impact of refunds on the reporting state
                    $this->mockPdo->exec("UPDATE food_order_item SET item_total_gross_modified = 1000, item_total_net_modified = 833, item_total_vat_modified = 167, item_status = 'partial_refund', updated_at = '$fourDaysAgoAt1310' WHERE id = $lastOrderItemId");
                    // update the vat summary to reflect the partial refund
                    $this->mockPdo->exec("UPDATE food_order_vat_summary SET vat_gross_modified = 1000, vat_net_modified = 833, vat_amount_modified = 167, updated_at = '$fourDaysAgoAt1310' WHERE id = $lastVatSummaryId");
                    // insert a refund event for the partial refund
                    $this->mockPdo->exec("INSERT INTO food_order_refund_event ( refund_group_id,    order_id,        tenant_id,     refund_type,    order_item_id,      gross_pence,    net_pence,      vat_pence,  vat_rate,   note,                               processed_at) 
                                                                        VALUES (2,                  $lastOrderId,   $tenantId,      'item',         $lastOrderItemId,   1000,           833,            167,        20.00,      'Partial refund for order item',    '$fourDaysAgoAt1310')");
                    $order[$lastOrderId]['refundEventId'][] = $lastRefundEventId;
                    $lastRefundEventId++; // incremented to match the id of the inserted refund event for the last insert

                    $lastOrderId++;  
                    $this->mockPdo->exec("INSERT INTO food_order    (id,            public_order_code,  user_id,             guest_user_id,  tenant_id,  delivery_address_id,    billing_address_id,     order_status,   order_type,     product_total_original_gross,  product_total_current_gross,    order_total_current_gross,      order_total_original_gross,     order_full_refund,      order_total_current_reason,                             payment_status,         delivery_fee_gross,     customer_service_fee_gross,         platform_fee_gross,       stripe_fee_total,   small_order_fee_gross,    comment,    tenant_comment,     currency,   transaction_id,                 refunded_id,    payment_intent_id,              stripe_receipt_url,     created_at,                 updated_at) 
                                                    VALUES      ($lastOrderId,  'C02QD57Z',         $lastUserId,         NULL,           $tenantId,  2,                      NULL,                   'confirmed',    'delivery',     1540,                          1540,                           0000,                           1790,                           1790,                   'Delivery Charge Applied',                              'refunded',             200,                    050,                                050,                      062,                250,                     NULL,       '',                 'GBP',      'ch_3TCdZxDRk9nZ67Cn2c0uUuj8',  '',             'pi_3TCdZxDRk9nZ67Cn2DmYfS9e',  '',                     '$threeDaysAgoAt1300',       '$oneDayAgoAt1300')");
                    $orderId[] = $lastOrderId;
                    

                    // get the last inserted id for food_order_refund_event
                    $this->mockPdo->exec("INSERT INTO food_order_refund_event (refund_group_id, order_id, tenant_id, refund_type, order_item_id, gross_pence, net_pence, vat_pence, vat_rate, note, processed_at) VALUES (1, $lastOrderId, $tenantId, 'full', NULL, NULL, NULL, NULL, NULL, 'Full refund for order', '$twoDaysAgoAt1300')");


Reporting State after EOD run: Array
(
    [0] => Array
        (
            [id] => 34
            [run_id] => 1
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-12 00:00:00
            [window_end] => 2026-04-13 00:00:00
            [business_date] => 2026-04-12
            [order_count] => 4
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [full_refund_total] => 0
            [customer_paid_total] => 7250
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [platform_stripe_fees_net] => 284
            [platform_fees_net] => 200
            [platform_customer_service_fee_net] => 200
            [platform_tenant_fee_gross] => 200
            [platform_customer_service_fee_gross] => 200
            [platform_gross_revenue] => 400
            [platform_refunds] => 0
            [platform_net_revenue] => 400
            [platform_refund_impact] => 0
            [platform_net_impact] => 400
            [platform_sales_vat] => 0
            [platform_refund_vat] => 0
            [platform_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [1] => Array
        (
            [id] => 35
            [run_id] => 2
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-13 00:00:00
            [window_end] => 2026-04-14 00:00:00
            [business_date] => 2026-04-13
            [order_count] => 1
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 2
            [full_refund_total] => 0
            [customer_paid_total] => 1790
            [item_refund_total] => 1410
            [partial_refund_total] => 0
            [platform_stripe_fees_net] => 62
            [platform_fees_net] => 50
            [platform_customer_service_fee_net] => 50
            [platform_tenant_fee_gross] => 50
            [platform_customer_service_fee_gross] => 50
            [platform_gross_revenue] => 100
            [platform_refunds] => 0
            [platform_net_revenue] => 100
            [platform_refund_impact] => 0
            [platform_net_impact] => 100
            [platform_sales_vat] => 0
            [platform_refund_vat] => 0
            [platform_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [2] => Array
        (
            [id] => 36
            [run_id] => 3
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-14 00:00:00
            [window_end] => 2026-04-15 00:00:00
            [business_date] => 2026-04-14
            [order_count] => 1
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [full_refund_total] => 0
            [customer_paid_total] => 1790
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [platform_stripe_fees_net] => 62
            [platform_fees_net] => 50
            [platform_customer_service_fee_net] => 50
            [platform_tenant_fee_gross] => 50
            [platform_customer_service_fee_gross] => 50
            [platform_gross_revenue] => 100
            [platform_refunds] => 0
            [platform_net_revenue] => 100
            [platform_refund_impact] => 0
            [platform_net_impact] => 100
            [platform_sales_vat] => 0
            [platform_refund_vat] => 0
            [platform_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [3] => Array
        (
            [id] => 37
            [run_id] => 4
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-15 00:00:00
            [window_end] => 2026-04-16 00:00:00
            [business_date] => 2026-04-15
            [order_count] => 0
            [full_refund_count] => 1
            [partial_or_item_refund_order_count] => 0
            [full_refund_total] => 1790
            [customer_paid_total] => 0
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [platform_stripe_fees_net] => 0
            [platform_fees_net] => 0
            [platform_customer_service_fee_net] => 0
            [platform_tenant_fee_gross] => 0
            [platform_customer_service_fee_gross] => 0
            [platform_gross_revenue] => 0
            [platform_refunds] => 100
            [platform_net_revenue] => 0
            [platform_refund_impact] => -100
            [platform_net_impact] => -100
            [platform_sales_vat] => 0
            [platform_refund_vat] => 0
            [platform_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [4] => Array
        (
            [id] => 38
            [run_id] => 5
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-16 00:00:00
            [window_end] => 2026-04-17 00:00:00
            [business_date] => 2026-04-16
            [order_count] => 0
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [full_refund_total] => 0
            [customer_paid_total] => 0
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [platform_stripe_fees_net] => 0
            [platform_fees_net] => 0
            [platform_customer_service_fee_net] => 0
            [platform_tenant_fee_gross] => 0
            [platform_customer_service_fee_gross] => 0
            [platform_gross_revenue] => 0
            [platform_refunds] => 0
            [platform_net_revenue] => 0
            [platform_refund_impact] => 0
            [platform_net_impact] => 0
            [platform_sales_vat] => 0
            [platform_refund_vat] => 0
            [platform_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

)

Reporting State Tenant after EOD run: Array
(
    [0] => Array
        (
            [id] => 34
            [run_id] => 1
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-12 00:00:00
            [window_end] => 2026-04-13 00:00:00
            [business_date] => 2026-04-12
            [order_count] => 4
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [customer_paid_total] => 7250
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [tenant_gross_sales] => 7050
            [tenant_full_refund_total] => 0
            [tenant_total_refunds] => 0
            [tenant_refund_total] => 0
            [tenant_delivery_fees_net] => 550
            [tenant_small_order_fees_net] => 750
            [tenant_platform_fees_net] => 200
            [tenant_stripe_fees_net] => 284
            [tenant_net_pre_fee] => 7050
            [tenant_net_post_platform_fee] => 6850
            [tenant_net] => 6566
            [tenant_refund_impact] => 0
            [tenant_stripe_fee_impact] => -284
            [tenant_net_impact_pre_fee] => 7050
            [tenant_net_impact_post_platform_fee] => 6850
            [tenant_net_impact] => 6566
            [tenant_sales_vat_gross] => 3170
            [tenant_sales_vat_net] => 2667
            [tenant_sales_vat] => 503
            [tenant_refund_vat_gross] => 0
            [tenant_refund_vat_net] => 0
            [tenant_refund_vat] => 0
            [tenant_net_vat_gross] => 3170
            [tenant_net_vat_net] => 2667
            [tenant_net_vat] => 503
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [1] => Array
        (
            [id] => 35
            [run_id] => 2
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-13 00:00:00
            [window_end] => 2026-04-14 00:00:00
            [business_date] => 2026-04-13
            [order_count] => 1
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 2
            [customer_paid_total] => 1790
            [item_refund_total] => 1410
            [partial_refund_total] => 0
            [tenant_gross_sales] => 1740
            [tenant_full_refund_total] => 0
            [tenant_total_refunds] => 1410
            [tenant_refund_total] => 1410
            [tenant_delivery_fees_net] => 200
            [tenant_small_order_fees_net] => 250
            [tenant_platform_fees_net] => 50
            [tenant_stripe_fees_net] => 62
            [tenant_net_pre_fee] => 330
            [tenant_net_post_platform_fee] => 280
            [tenant_net] => 218
            [tenant_refund_impact] => -1410
            [tenant_stripe_fee_impact] => -62
            [tenant_net_impact_pre_fee] => 330
            [tenant_net_impact_post_platform_fee] => 280
            [tenant_net_impact] => 218
            [tenant_sales_vat_gross] => 0
            [tenant_sales_vat_net] => 0
            [tenant_sales_vat] => 0
            [tenant_refund_vat_gross] => 1410
            [tenant_refund_vat_net] => 1191
            [tenant_refund_vat] => 219
            [tenant_net_vat_gross] => -1410
            [tenant_net_vat_net] => -1191
            [tenant_net_vat] => -219
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [2] => Array
        (
            [id] => 36
            [run_id] => 3
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-14 00:00:00
            [window_end] => 2026-04-15 00:00:00
            [business_date] => 2026-04-14
            [order_count] => 1
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [customer_paid_total] => 1790
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [tenant_gross_sales] => 1740
            [tenant_full_refund_total] => 0
            [tenant_total_refunds] => 0
            [tenant_refund_total] => 0
            [tenant_delivery_fees_net] => 200
            [tenant_small_order_fees_net] => 250
            [tenant_platform_fees_net] => 50
            [tenant_stripe_fees_net] => 62
            [tenant_net_pre_fee] => 1740
            [tenant_net_post_platform_fee] => 1690
            [tenant_net] => 1628
            [tenant_refund_impact] => 0
            [tenant_stripe_fee_impact] => -62
            [tenant_net_impact_pre_fee] => 1740
            [tenant_net_impact_post_platform_fee] => 1690
            [tenant_net_impact] => 1628
            [tenant_sales_vat_gross] => 0
            [tenant_sales_vat_net] => 0
            [tenant_sales_vat] => 0
            [tenant_refund_vat_gross] => 0
            [tenant_refund_vat_net] => 0
            [tenant_refund_vat] => 0
            [tenant_net_vat_gross] => 0
            [tenant_net_vat_net] => 0
            [tenant_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [3] => Array
        (
            [id] => 37
            [run_id] => 4
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-15 00:00:00
            [window_end] => 2026-04-16 00:00:00
            [business_date] => 2026-04-15
            [order_count] => 0
            [full_refund_count] => 1
            [partial_or_item_refund_order_count] => 0
            [customer_paid_total] => 0
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [tenant_gross_sales] => 0
            [tenant_full_refund_total] => 1790
            [tenant_total_refunds] => 1790
            [tenant_refund_total] => 1740
            [tenant_delivery_fees_net] => 0
            [tenant_small_order_fees_net] => 0
            [tenant_platform_fees_net] => 0
            [tenant_stripe_fees_net] => 0
            [tenant_net_pre_fee] => 0
            [tenant_net_post_platform_fee] => 0
            [tenant_net] => 0
            [tenant_refund_impact] => -1740
            [tenant_stripe_fee_impact] => -62
            [tenant_net_impact_pre_fee] => -1740
            [tenant_net_impact_post_platform_fee] => -1740
            [tenant_net_impact] => -1802
            [tenant_sales_vat_gross] => 0
            [tenant_sales_vat_net] => 0
            [tenant_sales_vat] => 0
            [tenant_refund_vat_gross] => 0
            [tenant_refund_vat_net] => 0
            [tenant_refund_vat] => 0
            [tenant_net_vat_gross] => 0
            [tenant_net_vat_net] => 0
            [tenant_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

    [4] => Array
        (
            [id] => 38
            [run_id] => 5
            [run_type] => Automatic
            [tenant_id] => 14
            [window_start] => 2026-04-16 00:00:00
            [window_end] => 2026-04-17 00:00:00
            [business_date] => 2026-04-16
            [order_count] => 0
            [full_refund_count] => 0
            [partial_or_item_refund_order_count] => 0
            [customer_paid_total] => 0
            [item_refund_total] => 0
            [partial_refund_total] => 0
            [tenant_gross_sales] => 0
            [tenant_full_refund_total] => 0
            [tenant_total_refunds] => 0
            [tenant_refund_total] => 0
            [tenant_delivery_fees_net] => 0
            [tenant_small_order_fees_net] => 0
            [tenant_platform_fees_net] => 0
            [tenant_stripe_fees_net] => 0
            [tenant_net_pre_fee] => 0
            [tenant_net_post_platform_fee] => 0
            [tenant_net] => 0
            [tenant_refund_impact] => 0
            [tenant_stripe_fee_impact] => 0
            [tenant_net_impact_pre_fee] => 0
            [tenant_net_impact_post_platform_fee] => 0
            [tenant_net_impact] => 0
            [tenant_sales_vat_gross] => 0
            [tenant_sales_vat_net] => 0
            [tenant_sales_vat] => 0
            [tenant_refund_vat_gross] => 0
            [tenant_refund_vat_net] => 0
            [tenant_refund_vat] => 0
            [tenant_net_vat_gross] => 0
            [tenant_net_vat_net] => 0
            [tenant_net_vat] => 0
            [created_at] => 2026-04-17 22:07:53
            [updated_at] => 2026-04-17 22:07:53
        )

)