prepare($sql); $stmt->execute(); $report_lines = $stmt->fetchAll(PDO::FETCH_ASSOC); // Calculate totals for debits, credits to verify balance $total_debits = 0; $total_credits = 0; foreach ($report_lines as $line) { $total_debits += $line['total_debits']; $total_credits += $line['total_credits']; } echo json_encode([ 'success' => true, 'report_name' => 'Trial Balance', 'generated_at' => date('c'), 'data' => $report_lines, 'summary' => [ 'total_debits' => $total_debits, 'total_credits' => $total_credits, 'is_balanced' => abs($total_debits - $total_credits) < 0.0001 // Use a small tolerance for floating point comparison ] ]); } catch (PDOException $e) { http_response_code(500); echo json_encode([ 'success' => false, 'error' => 'Database error: ' . $e->getMessage() ]); }