Index: src/main/java/mk/ukim/finki/synergymed/SynergyMedApplication.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/SynergyMedApplication.java	(revision b1e633f27f0dbd33ea404d60ead5ed45852935f2)
+++ src/main/java/mk/ukim/finki/synergymed/SynergyMedApplication.java	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
@@ -4,4 +4,5 @@
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
@@ -10,4 +11,5 @@
 
 @SpringBootApplication
+@EnableScheduling
 public class SynergyMedApplication {
 
Index: src/main/java/mk/ukim/finki/synergymed/jobs/RevenueScheduledJobs.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/jobs/RevenueScheduledJobs.java	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
+++ src/main/java/mk/ukim/finki/synergymed/jobs/RevenueScheduledJobs.java	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
@@ -0,0 +1,44 @@
+package mk.ukim.finki.synergymed.jobs;
+
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.Transactional;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.YearMonth;
+import java.time.ZoneId;
+
+@Component
+public class RevenueScheduledJobs {
+
+    @PersistenceContext
+    private EntityManager entityManager;
+
+    // 09:05 1st every mont
+    @Scheduled(cron = "0 5 9 1 * *")
+    @Transactional
+    public void callMonthlyRevenueForPreviousMonth() {
+        ZoneId zone = ZoneId.systemDefault();
+        YearMonth prev = YearMonth.now(zone).minusMonths(1);
+        int year = prev.getYear();
+        int month = prev.getMonthValue();
+
+        entityManager
+                .createNativeQuery("CALL synergymed.sp_monthly_pharmacy_revenue(:y, :m)")
+                .setParameter("y", year)
+                .setParameter("m", month)
+                .executeUpdate();
+    }
+
+    // every day 8
+    @Scheduled(cron = "0 0 8 * * *")
+    @Transactional
+    public void callExpiringPrescriptions() {
+        int daysAhead = 7;
+        entityManager
+                .createNativeQuery("CALL synergymed.sp_expiring_prescriptions(:d)")
+                .setParameter("d", daysAhead)
+                .executeUpdate();
+    }
+}
Index: src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java
===================================================================
--- src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java	(revision b1e633f27f0dbd33ea404d60ead5ed45852935f2)
+++ src/main/java/mk/ukim/finki/synergymed/web/CatalogController.java	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
@@ -46,5 +46,5 @@
         return "catalog-edit";
     }
-    @GetMapping("/{id}")
+    @GetMapping("details/{id}")
     public String details(@PathVariable Integer id, Model model) {
         Brandedmedicine bm = brandedMedicineService.findById(id)
Index: src/main/resources/templates/catalog.html
===================================================================
--- src/main/resources/templates/catalog.html	(revision b1e633f27f0dbd33ea404d60ead5ed45852935f2)
+++ src/main/resources/templates/catalog.html	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
@@ -54,5 +54,5 @@
                 <div class="item" th:each="m : ${medicines}">
                     <!-- Wrap the image in a link to details /catalog/{id} -->
-                    <a class="thumb-link" th:href="@{/catalog/{id}(id=${m.id})}" aria-label="Детали за [[${m.name}]]">
+                    <a class="thumb-link" th:href="@{/catalog/details/{id}(id=${m.id})}" aria-label="Детали за [[${m.name}]]">
                         <img class="thumb" th:if="${firstImageById != null}" th:src="${firstImageById[m.id]}" alt="слика">
                         <img class="thumb" th:if="${firstImageById == null}" src="/images/default-medicine.png" alt="слика">
Index: src/main/resources/templates/fragments/header.html
===================================================================
--- src/main/resources/templates/fragments/header.html	(revision b1e633f27f0dbd33ea404d60ead5ed45852935f2)
+++ src/main/resources/templates/fragments/header.html	(revision 454bc953f93230e6bd7932164a1ca289da26700f)
@@ -127,5 +127,5 @@
             u=${(session.username != null) ? session.username : (isAuth ? #authentication.name : null)}">
         <a class="brand" th:href="@{/}">
-            <img src="/logo.png" alt="SynergyMed лого" class="logo">
+            <img th:src="@{/logo.png}" alt="SynergyMed лого" class="logo">
         </a>
 
