diff --git a/clients.php b/clients.php
index 3d8c42b9..74345302 100644
--- a/clients.php
+++ b/clients.php
@@ -247,7 +247,21 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
$balance_text_color = "text-danger font-weight-bold";
}else{
$balance_text_color = "";
- }
+ }
+
+ //Get Monthly Recurring Total
+ $sql_recurring_monthly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND recurring_client_id = $client_id AND company_id = $session_company_id");
+ $row = mysqli_fetch_array($sql_recurring_monthly_total);
+
+ $recurring_monthly_total = $row['recurring_monthly_total'];
+
+ //Get Yearly Recurring Total
+ $sql_recurring_yearly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND recurring_client_id = $client_id AND company_id = $session_company_id");
+ $row = mysqli_fetch_array($sql_recurring_yearly_total);
+
+ $recurring_yearly_total = $row['recurring_yearly_total'] / 12;
+
+ $recurring_monthly = $recurring_monthly_total + $recurring_yearly_total;
?>
@@ -316,6 +330,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
Balance
Paid
+
+ Monthly
diff --git a/database_updates.php b/database_updates.php
index 62ceca03..69e2c311 100644
--- a/database_updates.php
+++ b/database_updates.php
@@ -392,11 +392,32 @@ if(LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION){
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.3'");
}
- //if(CURRENT_DATABASE_VERSION == '0.2.3'){
- // Insert queries here required to update to DB version 0.2.4
+ if(CURRENT_DATABASE_VERSION == '0.2.3'){
+
+ //Create New interfaces Table
+ mysqli_query($mysqli, "CREATE TABLE `interfaces` (`interface_id` int(11) AUTO_INCREMENT PRIMARY KEY,
+ `interface_number` int(11) NULL DEFAULT NULL,
+ `interface_description` varchar(200) NULL DEFAULT NULL,
+ `interface_connected_asset` varchar(200) NULL DEFAULT NULL,
+ `interface_ip` varchar(200) NULL DEFAULT NULL,
+ `interface_created_at` datetime DEFAULT CURRENT_TIMESTAMP,
+ `interface_updated_at` datetime NULL ON UPDATE CURRENT_TIMESTAMP,
+ `interface_archived_at` datetime NULL DEFAULT NULL,
+ `interface_connected_asset_id` int(11) NOT NULL DEFAULT 0,
+ `interface_network_id` int(11) NOT NULL DEFAULT 0,
+ `interface_asset_id` int(11) NOT NULL,
+ `company_id` int(11) NOT NULL
+ )");
+
+ mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.4'");
+
+ }
+
+ //if(CURRENT_DATABASE_VERSION == '0.2.4'){
+ // Insert queries here required to update to DB version 0.2.5
// Then, update the database to the next sequential version
- // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.4'");
+ // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.5'");
//}
diff --git a/database_version.php b/database_version.php
index 5778d714..dfbdf1e6 100644
--- a/database_version.php
+++ b/database_version.php
@@ -5,4 +5,4 @@
* It is used in conjunction with database_updates.php
*/
-DEFINE("LATEST_DATABASE_VERSION", "0.2.3");
\ No newline at end of file
+DEFINE("LATEST_DATABASE_VERSION", "0.2.4");
\ No newline at end of file
diff --git a/db.sql b/db.sql
index 6a5cd96b..645556cb 100644
--- a/db.sql
+++ b/db.sql
@@ -502,6 +502,30 @@ CREATE TABLE `history` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
+--
+-- Table structure for table `interfaces`
+--
+
+DROP TABLE IF EXISTS `interfaces`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `interfaces` (
+ `interface_id` int(11) NOT NULL AUTO_INCREMENT,
+ `interface_number` int(11) DEFAULT NULL,
+ `interface_description` varchar(200) DEFAULT NULL,
+ `interface_connected_asset` varchar(200) DEFAULT NULL,
+ `interface_ip` varchar(200) DEFAULT NULL,
+ `interface_created_at` datetime DEFAULT current_timestamp(),
+ `interface_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(),
+ `interface_archived_at` datetime DEFAULT NULL,
+ `interface_connected_asset_id` int(11) NOT NULL DEFAULT 0,
+ `interface_network_id` int(11) NOT NULL DEFAULT 0,
+ `interface_asset_id` int(11) NOT NULL,
+ `company_id` int(11) NOT NULL,
+ PRIMARY KEY (`interface_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
--
-- Table structure for table `invoice_items`
--
@@ -1498,4 +1522,4 @@ CREATE TABLE `vendors` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2022-12-19 11:42:40
+-- Dump completed on 2023-01-09 19:14:30
diff --git a/inc_all_client.php b/inc_all_client.php
index 1c62ed2c..17b04c00 100644
--- a/inc_all_client.php
+++ b/inc_all_client.php
@@ -89,6 +89,20 @@ if(isset($_GET['client_id'])){
$balance = $invoice_amounts - $amount_paid;
+ //Get Monthly Recurring Total
+ $sql_recurring_monthly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND recurring_client_id = $client_id AND company_id = $session_company_id");
+ $row = mysqli_fetch_array($sql_recurring_monthly_total);
+
+ $recurring_monthly_total = $row['recurring_monthly_total'];
+
+ //Get Yearly Recurring Total
+ $sql_recurring_yearly_total = mysqli_query($mysqli,"SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND recurring_client_id = $client_id AND company_id = $session_company_id");
+ $row = mysqli_fetch_array($sql_recurring_yearly_total);
+
+ $recurring_yearly_total = $row['recurring_yearly_total'] / 12;
+
+ $recurring_monthly = $recurring_monthly_total + $recurring_yearly_total;
+
//Badge Counts
$row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE contact_archived_at IS NULL AND contact_client_id = $client_id"));
diff --git a/inc_client_top_head.php b/inc_client_top_head.php
index 881733a5..5582e69e 100644
--- a/inc_client_top_head.php
+++ b/inc_client_top_head.php
@@ -87,6 +87,7 @@ $location_phone = formatPhoneNumber($location_phone);
Billing
Paid
Balance
float-right">
+ Monthly Recurring
Net Terms
Days
diff --git a/report_recurring_by_client.php b/report_recurring_by_client.php
new file mode 100644
index 00000000..e7e3b437
--- /dev/null
+++ b/report_recurring_by_client.php
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+ | Client |
+ Monthly Recurring |
+
+
+
+ 0){
+
+ ?>
+
+
+ |
+ |
+
+
+
+ | Total |
+ |
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/reports_side_nav.php b/reports_side_nav.php
index bfb830e8..c4299bba 100644
--- a/reports_side_nav.php
+++ b/reports_side_nav.php
@@ -30,6 +30,12 @@
Income By Client
+
+ ">
+
+ Recurring Income By Client
+
+
">