diff --git a/invoice.php b/invoice.php
index 99aa7e9e..698f090a 100644
--- a/invoice.php
+++ b/invoice.php
@@ -6,482 +6,488 @@ if (isset($_GET['invoice_id'])) {
$invoice_id = intval($_GET['invoice_id']);
- $sql = mysqli_query($mysqli, "SELECT * FROM invoices
- LEFT JOIN clients ON invoice_client_id = client_id
- LEFT JOIN locations ON primary_location = location_id
- LEFT JOIN contacts ON primary_contact = contact_id
- LEFT JOIN companies ON invoices.company_id = companies.company_id
- WHERE invoice_id = $invoice_id"
+ $sql = mysqli_query(
+ $mysqli,
+ "SELECT * FROM invoices
+ LEFT JOIN clients ON invoice_client_id = client_id
+ LEFT JOIN locations ON primary_location = location_id
+ LEFT JOIN contacts ON primary_contact = contact_id
+ LEFT JOIN companies ON invoices.company_id = companies.company_id
+ WHERE invoice_id = $invoice_id"
);
if (mysqli_num_rows($sql) == 0) {
- echo "
Nothing to see here
";
- } else {
+ echo 'Nothing to see here
';
+ require_once("footer.php");
+ exit();
+ }
- $row = mysqli_fetch_array($sql);
- $invoice_id = $row['invoice_id'];
- $invoice_prefix = htmlentities($row['invoice_prefix']);
- $invoice_number = htmlentities($row['invoice_number']);
- $invoice_scope = htmlentities($row['invoice_scope']);
- $invoice_status = htmlentities($row['invoice_status']);
- $invoice_date = $row['invoice_date'];
- $invoice_due = $row['invoice_due'];
- $invoice_amount = floatval($row['invoice_amount']);
- $invoice_currency_code = htmlentities($row['invoice_currency_code']);
- $invoice_note = htmlentities($row['invoice_note']);
- $invoice_url_key = htmlentities($row['invoice_url_key']);
- $invoice_created_at = $row['invoice_created_at'];
- $category_id = $row['invoice_category_id'];
- $client_id = $row['client_id'];
- $client_name = htmlentities($row['client_name']);
- $location_address = htmlentities($row['location_address']);
- $location_city = htmlentities($row['location_city']);
- $location_state = htmlentities($row['location_state']);
- $location_zip = htmlentities($row['location_zip']);
- $contact_email = htmlentities($row['contact_email']);
- $contact_phone = formatPhoneNumber($row['contact_phone']);
- $contact_extension = htmlentities($row['contact_extension']);
- $contact_mobile = formatPhoneNumber($row['contact_mobile']);
- $client_website = htmlentities($row['client_website']);
- $client_currency_code = htmlentities($row['client_currency_code']);
- $client_net_terms = htmlentities($row['client_net_terms']);
- if ($client_net_terms == 0) {
- $client_net_terms = $config_default_net_terms;
+ $row = mysqli_fetch_array($sql);
+ $invoice_id = $row['invoice_id'];
+ $invoice_prefix = htmlentities($row['invoice_prefix']);
+ $invoice_number = htmlentities($row['invoice_number']);
+ $invoice_scope = htmlentities($row['invoice_scope']);
+ $invoice_status = htmlentities($row['invoice_status']);
+ $invoice_date = $row['invoice_date'];
+ $invoice_due = $row['invoice_due'];
+ $invoice_amount = floatval($row['invoice_amount']);
+ $invoice_currency_code = htmlentities($row['invoice_currency_code']);
+ $invoice_note = htmlentities($row['invoice_note']);
+ $invoice_url_key = htmlentities($row['invoice_url_key']);
+ $invoice_created_at = $row['invoice_created_at'];
+ $category_id = $row['invoice_category_id'];
+ $client_id = $row['client_id'];
+ $client_name = htmlentities($row['client_name']);
+ $location_address = htmlentities($row['location_address']);
+ $location_city = htmlentities($row['location_city']);
+ $location_state = htmlentities($row['location_state']);
+ $location_zip = htmlentities($row['location_zip']);
+ $contact_email = htmlentities($row['contact_email']);
+ $contact_phone = formatPhoneNumber($row['contact_phone']);
+ $contact_extension = htmlentities($row['contact_extension']);
+ $contact_mobile = formatPhoneNumber($row['contact_mobile']);
+ $client_website = htmlentities($row['client_website']);
+ $client_currency_code = htmlentities($row['client_currency_code']);
+ $client_net_terms = htmlentities($row['client_net_terms']);
+ if ($client_net_terms == 0) {
+ $client_net_terms = $config_default_net_terms;
+ }
+ $company_id = $row['company_id'];
+ $company_name = htmlentities($row['company_name']);
+ $company_country = htmlentities($row['company_country']);
+ $company_address = htmlentities($row['company_address']);
+ $company_city = htmlentities($row['company_city']);
+ $company_state = htmlentities($row['company_state']);
+ $company_zip = htmlentities($row['company_zip']);
+ $company_phone = formatPhoneNumber($row['company_phone']);
+ $company_email = htmlentities($row['company_email']);
+ $company_website = htmlentities($row['company_website']);
+ $company_logo = htmlentities($row['company_logo']);
+ if (!empty($company_logo)) {
+ $company_logo_base64 = base64_encode(file_get_contents("uploads/settings/$company_id/$company_logo"));
+ }
+ $sql_history = mysqli_query($mysqli, "SELECT * FROM history WHERE history_invoice_id = $invoice_id ORDER BY history_id DESC");
+
+ $sql_payments = mysqli_query($mysqli, "SELECT * FROM payments, accounts WHERE payment_account_id = account_id AND payment_invoice_id = $invoice_id ORDER BY payments.payment_id DESC");
+
+ //Add up all the payments for the invoice and get the total amount paid to the invoice
+ $sql_amount_paid = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE payment_invoice_id = $invoice_id");
+ $row = mysqli_fetch_array($sql_amount_paid);
+ $amount_paid = $row['amount_paid'];
+
+ $balance = $invoice_amount - $amount_paid;
+
+ //check to see if overdue
+ if ($invoice_status !== "Paid" && $invoice_status !== "Draft" && $invoice_status !== "Cancelled") {
+ $unixtime_invoice_due = strtotime($invoice_due) + 86400;
+ if ($unixtime_invoice_due < time()) {
+ $invoice_overdue = "Overdue";
}
- $company_id = $row['company_id'];
- $company_name = htmlentities($row['company_name']);
- $company_country = htmlentities($row['company_country']);
- $company_address = htmlentities($row['company_address']);
- $company_city = htmlentities($row['company_city']);
- $company_state = htmlentities($row['company_state']);
- $company_zip = htmlentities($row['company_zip']);
- $company_phone = formatPhoneNumber($row['company_phone']);
- $company_email = htmlentities($row['company_email']);
- $company_website = htmlentities($row['company_website']);
- $company_logo = htmlentities($row['company_logo']);
- if (!empty($company_logo)) {
- $company_logo_base64 = base64_encode(file_get_contents("uploads/settings/$company_id/$company_logo"));
+ }
+
+ //Set Badge color based off of invoice status
+ $invoice_badge_color = getInvoiceBadgeColor($invoice_status);
+
+ //Product autocomplete
+ $products_sql = mysqli_query($mysqli, "SELECT product_name AS label, product_description AS description, product_price AS price FROM products WHERE company_id = $session_company_id");
+
+ if (mysqli_num_rows($products_sql) > 0) {
+ while ($row = mysqli_fetch_array($products_sql)) {
+ $products[] = $row;
}
- $sql_history = mysqli_query($mysqli, "SELECT * FROM history WHERE history_invoice_id = $invoice_id ORDER BY history_id DESC");
+ $json_products = json_encode($products);
+ }
- $sql_payments = mysqli_query($mysqli, "SELECT * FROM payments, accounts WHERE payment_account_id = account_id AND payment_invoice_id = $invoice_id ORDER BY payments.payment_id DESC");
+ ?>
- //Add up all the payments for the invoice and get the total amount paid to the invoice
- $sql_amount_paid = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE payment_invoice_id = $invoice_id");
- $row = mysqli_fetch_array($sql_amount_paid);
- $amount_paid = $row['amount_paid'];
+
+ -
+ Invoices
+
+ -
+
+
+
+
+
+
+
- $balance = $invoice_amount - $amount_paid;
+
- //check to see if overdue
- if ($invoice_status !== "Paid" && $invoice_status !== "Draft" && $invoice_status !== "Cancelled") {
- $unixtime_invoice_due = strtotime($invoice_due) + 86400;
- if ($unixtime_invoice_due < time()) {
- $invoice_overdue = "Overdue";
- }
- }
+