diff --git a/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt b/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt
index 94353b0bae865f894553b87498625e90e009a073..9d0ede0700d3679aa34b33f69bcffb9d5aa516fb 100644
--- a/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt
+++ b/app/src/main/java/com/example/bondoyap/ui/scanner/ScannerFragment.kt
@@ -103,6 +103,7 @@ class ScannerFragment : Fragment() {
                     }
 
                     uploadPhoto(tempFile)
+
                 } catch (e: Exception) {
                     Log.e("ImageInput", "Image Input Failed:", e)
                 }
@@ -219,6 +220,9 @@ class ScannerFragment : Fragment() {
 
     private fun uploadPhoto(photo: File) {
         try {
+            val progressBar = binding.loading
+            progressBar.visibility = View.VISIBLE
+
             val requestFile = photo.asRequestBody("image/*".toMediaTypeOrNull())
             val requestBody = MultipartBody.Part.createFormData("file", photo.name, requestFile)
             val apiCall = apiClient.getApiService(requireContext()).getBill(requestBody)
@@ -227,6 +231,8 @@ class ScannerFragment : Fragment() {
                     call: Call<BillResponse>, response: Response<BillResponse>
                 ) {
                     if (response.isSuccessful) {
+                        progressBar.visibility = View.GONE
+
                         val billResponse =
                             response.body() ?: throw Exception("Bill Response is Empty")
                         Log.d("BillUpload", "Server Response: $billResponse")
diff --git a/app/src/main/res/layout/fragment_scanner.xml b/app/src/main/res/layout/fragment_scanner.xml
index 4caebe4c9e62ac89b85ed9966c7389d519e607b6..9c7aedd02503c2b8be8fe3c80b6d315da59d9e26 100644
--- a/app/src/main/res/layout/fragment_scanner.xml
+++ b/app/src/main/res/layout/fragment_scanner.xml
@@ -47,4 +47,17 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toBottomOf="@id/capture_button" />
+
+    <ProgressBar
+        android:id="@+id/loading"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:visibility="gone"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="@+id/upload_button"
+        app:layout_constraintHorizontal_bias="0.498"
+        app:layout_constraintStart_toStartOf="@+id/upload_button"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.775" />
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file