diff --git a/app/Classes/Modules/Transactions/ControllersLogic/FetchCompanyTransactionStatementLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/FetchCompanyTransactionStatementLogic.php
new file mode 100644
index 00000000..0542e042
--- /dev/null
+++ b/app/Classes/Modules/Transactions/ControllersLogic/FetchCompanyTransactionStatementLogic.php
@@ -0,0 +1,61 @@
+ 'Retrieved Company Balance Account',
+ 'message' => 'You have successfully retrieved company balance account'
+ ];
+ }
+
+ /**
+ * FetchCompanyAccountBalanceLogic constructor.
+ */
+ public function __construct()
+ {
+ }
+
+ public function logic(Request $request): JsonResponse
+ {
+ $companyId = $request->route('id');
+
+ $transactions = Transaction::where(function ($query) use ($companyId) {
+ $query
+ ->where('type', TransactionType::PAYMENT)
+ ->where('owner_type', Booking::class)
+ ->whereHas('booking', function ($query) use ($companyId) {
+ $query->where('company_id', $companyId);
+ });
+ })
+ ->orWhere(function ($query) use ($companyId) {
+ $query->whereHas('owner', function ($query) use ($companyId) {
+ $query->where('owner_id', $companyId);
+ $query->where('owner_type', Company::class);
+ })
+ ->where('owner_type', Wallet::class)
+ ->where('type', '!=', TransactionType::PAYMENT);
+ })
+ ->orderBy('created_at', 'desc')
+ ->get();
+
+ return $this->collectionResponse(PaymentTransactionResource::collection($transactions));
+ }
+}
diff --git a/app/Http/Controllers/Transactions/FetchCompanyTransactionStatementController.php b/app/Http/Controllers/Transactions/FetchCompanyTransactionStatementController.php
new file mode 100644
index 00000000..a1d8c3cb
--- /dev/null
+++ b/app/Http/Controllers/Transactions/FetchCompanyTransactionStatementController.php
@@ -0,0 +1,21 @@
+execute($request);
+ }
+}
diff --git a/app/Http/Resources/PaymentTransactionResource.php b/app/Http/Resources/PaymentTransactionResource.php
new file mode 100644
index 00000000..0bdfa86b
--- /dev/null
+++ b/app/Http/Resources/PaymentTransactionResource.php
@@ -0,0 +1,45 @@
+type, [TransactionType::BILL, TransactionType::REFUND])? $this->owner->owner : $this->owner;
+
+ return [
+ 'id' => $this->id,
+ 'booking_marking' => $booking->marking,
+ 'type' => (int) $this->type,
+ 'bill_no' => $this->bill_no,
+ 'payment_reference' => $this->payment_reference,
+ 'payment_method' => (float) $this->payment_method,
+ 'recipient_bank_account' => new BankResource($booking->bank),
+ 'issuer_name' => $this->issuerCompany->name,
+ 'issuer_id' => $this->issuerCompany->id,
+ 'amount' => (double) $this->amount,
+ 'original_amount' => (double) $this->original_amount,
+ 'currency' => new CurrencyResource($this->currency),
+ 'original_currency' => new CurrencyResource($this->original_currency),
+ 'service_charge' => (double) $this->service_charge,
+ 'tax' => (double) $this->tax,
+ 'currency_rate' => (double) $this->currency_rate,
+ 'status' => (int) $this->status,
+ 'updated_at' => Carbon::parse($this->updated_at)->format('d-m-Y h:i:s A'),
+ 'created_at' => Carbon::parse($this->created_at)->format('d-m-Y h:i:s A')
+ ];
+ }
+}
diff --git a/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue b/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue
new file mode 100644
index 00000000..9ac3f5b6
--- /dev/null
+++ b/resources/assets/vue/components/bookings/elements/CustomerTransactionHistorySectionComponent.vue
@@ -0,0 +1,120 @@
+
+ Transaction History
+