diff --git a/expenses.php b/expenses.php
index 28e0b6ce..30b0a8bb 100644
--- a/expenses.php
+++ b/expenses.php
@@ -305,8 +305,6 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
require "expense_refund_modal.php";
- require "expense_export_modal.php";
-
}
@@ -328,5 +326,6 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
+
+
diff --git a/invoices.php b/invoices.php
index e5f3eff1..daed0333 100644
--- a/invoices.php
+++ b/invoices.php
@@ -189,6 +189,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
+
@@ -312,6 +317,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
num_rows > 0) {
+ $delimiter = ",";
+ $filename = "$session_company_name-Invoices-$file_name_date.csv";
+
+ //create a file pointer
+ $f = fopen('php://memory', 'w');
+
+ //set column headers
+ $fields = array('Invoice Number', 'Scope', 'Amount', 'Issued Date', 'Due Date', 'Status');
+ fputcsv($f, $fields, $delimiter);
+
+ //output each row of the data, format line as csv and write to file pointer
+ while($row = $sql->fetch_assoc()) {
+ $lineData = array($row['invoice_prefix'] . $row['invoice_number'], $row['invoice_scope'], $row['invoice_amount'], $row['invoice_date'], $row['invoice_due'], $row['invoice_status'], $row['client_name']);
+ fputcsv($f, $lineData, $delimiter);
+ }
+
+ //move back to beginning of file
+ fseek($f, 0);
+
+ //set headers to download file rather than displayed
+ header('Content-Type: text/csv');
+ header('Content-Disposition: attachment; filename="' . $filename . '";');
+
+ //output all remaining data on a file pointer
+ fpassthru($f);
+ }
+
+ //Logging
+ mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Export', log_description = '$session_name exported invoices to CSV File', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id");
+
+ exit;
+
+}
+
if (isset($_POST['export_client_recurring_csv'])) {
$client_id = intval($_POST['client_id']);