diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsContract.java b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsContract.java
index 2d457f5..859d138 100644
--- a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsContract.java
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsContract.java
@@ -17,6 +17,8 @@
 
         void showCustomerDeposits(List<DepositAccount> customerDepositAccounts);
 
+        void showEmptyDepositAccounts();
+
         void showError(String errorMessage);
 
         void showRecyclerView(boolean status);
diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsFragment.java b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsFragment.java
index 6ce7c0b..3354e65 100644
--- a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsFragment.java
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsFragment.java
@@ -8,9 +8,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
 
 import com.mifos.apache.fineract.R;
 import com.mifos.apache.fineract.data.models.deposit.DepositAccount;
@@ -18,9 +15,13 @@
 import com.mifos.apache.fineract.ui.base.MifosBaseActivity;
 import com.mifos.apache.fineract.ui.base.MifosBaseFragment;
 import com.mifos.apache.fineract.ui.base.OnItemClickListener;
-import com.mifos.apache.fineract.ui.online.depositaccounts.createdepositaccount.createdepositactivity.CreateDepositActivity;
+import com.mifos.apache.fineract.ui.uierrorhandler.MifosUIErrorHandler;
+import com.mifos.apache.fineract.ui.uierrorhandler.UIType;
 import com.mifos.apache.fineract.ui.online.depositaccounts.createdepositaccount.DepositAction;
-import com.mifos.apache.fineract.ui.online.depositaccounts.depositaccountdetails.DepositAccountDetailsFragment;
+import com.mifos.apache.fineract.ui.online.depositaccounts.createdepositaccount
+        .createdepositactivity.CreateDepositActivity;
+import com.mifos.apache.fineract.ui.online.depositaccounts.depositaccountdetails
+        .DepositAccountDetailsFragment;
 import com.mifos.apache.fineract.utils.ConstantKeys;
 
 import java.util.ArrayList;
@@ -42,14 +43,8 @@
     @BindView(R.id.rv_customers_deposit_accounts)
     RecyclerView rvCustomerDepositAccounts;
 
-    @BindView(R.id.rl_error)
-    RelativeLayout rlError;
-
-    @BindView(R.id.iv_retry)
-    ImageView ivRetry;
-
-    @BindView(R.id.tv_error)
-    TextView tvError;
+    @BindView(R.id.layout_error)
+    View layoutError;
 
     @Inject
     DepositAccountsPresenter customerDepositPresenter;
@@ -61,6 +56,7 @@
 
     private String customerIdentifier;
     private List<DepositAccount> customerDepositAccounts;
+    private MifosUIErrorHandler mifosUIErrorHandler;
 
     public static DepositAccountsFragment newInstance(String customerIdentifier) {
         DepositAccountsFragment fragment = new DepositAccountsFragment();
@@ -85,6 +81,7 @@
         rootView = inflater.inflate(R.layout.fragment_customer_deposit, container, false);
         ((MifosBaseActivity) getActivity()).getActivityComponent().inject(this);
         ButterKnife.bind(this, rootView);
+        mifosUIErrorHandler = new MifosUIErrorHandler(getActivity(), rootView);
         setToolbarTitle(getString(R.string.deposit_accounts));
 
         customerDepositPresenter.attachView(this);
@@ -98,12 +95,12 @@
     public void onResume() {
         super.onResume();
         rvCustomerDepositAccounts.setVisibility(View.GONE);
-        rlError.setVisibility(View.GONE);
+        layoutError.setVisibility(View.GONE);
         customerDepositPresenter.fetchCustomerDepositAccounts(customerIdentifier);
     }
 
-    @OnClick(R.id.iv_retry)
-    void onRetry() {
+    @OnClick(R.id.btn_try_again)
+    public void reTry() {
         showRecyclerView(true);
         customerDepositPresenter.fetchCustomerDepositAccounts(customerIdentifier);
     }
@@ -134,19 +131,30 @@
     }
 
     @Override
+    public void showEmptyDepositAccounts() {
+        showRecyclerView(false);
+        mifosUIErrorHandler.showEmptyOrErrorUI(UIType.EMPTY_UI,
+                getString(R.string.deposit_accounts),
+                getString(R.string.deposit_account),
+                R.drawable.ic_monetization_on_black_24dp);
+    }
+
+    @Override
     public void showError(String errorMessage) {
         showRecyclerView(false);
-        tvError.setText(errorMessage);
+        mifosUIErrorHandler.showEmptyOrErrorUI(UIType.ERROR_UI,
+                getString(R.string.deposit_accounts),
+                null, null);
     }
 
     @Override
     public void showRecyclerView(boolean status) {
         if (status) {
             rvCustomerDepositAccounts.setVisibility(View.VISIBLE);
-            rlError.setVisibility(View.GONE);
+            layoutError.setVisibility(View.GONE);
         } else {
             rvCustomerDepositAccounts.setVisibility(View.GONE);
-            rlError.setVisibility(View.VISIBLE);
+            layoutError.setVisibility(View.VISIBLE);
         }
     }
 
diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsPresenter.java b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsPresenter.java
index fc5fd62..990e877 100644
--- a/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsPresenter.java
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/online/depositaccounts/depositaccountslist/DepositAccountsPresenter.java
@@ -59,7 +59,11 @@
                     @Override
                     public void onNext(List<DepositAccount> customerDepositAccounts) {
                         getMvpView().hideProgressbar();
-                        getMvpView().showCustomerDeposits(customerDepositAccounts);
+                        if (!customerDepositAccounts.isEmpty()) {
+                            getMvpView().showCustomerDeposits(customerDepositAccounts);
+                        } else {
+                            getMvpView().showEmptyDepositAccounts();
+                        }
                     }
 
                     @Override
diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/MifosUIErrorHandler.java b/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/MifosUIErrorHandler.java
new file mode 100644
index 0000000..37fcbc1
--- /dev/null
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/MifosUIErrorHandler.java
@@ -0,0 +1,63 @@
+package com.mifos.apache.fineract.ui.uierrorhandler;
+
+import android.content.Context;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.mifos.apache.fineract.R;
+
+import butterknife.ButterKnife;
+
+/**
+ * @author Rajan Maurya
+ *         On 03/09/17.
+ */
+public class MifosUIErrorHandler {
+
+    private ImageView ivEmptyFeatureImage;
+    private TextView tvFeatureName;
+    private TextView tvSubFeatureName;
+    private LinearLayout llEmptyUI;
+    private LinearLayout llErrorToLoad;
+    private TextView tvErrorFeatureName;
+
+    private Context context;
+    private View view;
+
+    public MifosUIErrorHandler(Context context, View view) {
+        this.context = context;
+        this.view = view;
+        initializeUI();
+    }
+
+    public void showEmptyOrErrorUI(UIType errorType, String featureName,
+            @Nullable String subFeatureName, @Nullable Integer featureImage) {
+        switch (errorType) {
+            case EMPTY_UI:
+                llEmptyUI.setVisibility(View.VISIBLE);
+                ivEmptyFeatureImage.setImageResource(featureImage);
+                tvFeatureName.setText(context.getString(R.string.empty_ui_message, featureName));
+                tvSubFeatureName.setText(
+                        context.getString(R.string.empty_ui_sub_message, subFeatureName));
+                llErrorToLoad.setVisibility(View.GONE);
+                break;
+            case ERROR_UI:
+                llErrorToLoad.setVisibility(View.VISIBLE);
+                tvErrorFeatureName.setText(featureName);
+                llEmptyUI.setVisibility(View.GONE);
+                break;
+        }
+    }
+
+    private void initializeUI() {
+        ivEmptyFeatureImage = ButterKnife.findById(view, R.id.iv_empty_feature_image);
+        tvFeatureName = ButterKnife.findById(view, R.id.tv_empty_feature_name);
+        tvSubFeatureName = ButterKnife.findById(view, R.id.tv_empty_sub_feature_name);
+        llEmptyUI = ButterKnife.findById(view, R.id.ll_empty_ui);
+        llErrorToLoad = ButterKnife.findById(view, R.id.ll_error_to_load);
+        tvErrorFeatureName = ButterKnife.findById(view, R.id.tv_error_feature_name);
+    }
+}
diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/UIType.java b/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/UIType.java
new file mode 100644
index 0000000..9ee92ff
--- /dev/null
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/uierrorhandler/UIType.java
@@ -0,0 +1,12 @@
+package com.mifos.apache.fineract.ui.uierrorhandler;
+
+/**
+ * @author Rajan Maurya
+ *         On 03/09/17.
+ */
+public enum UIType {
+
+    EMPTY_UI,
+
+    ERROR_UI
+}
diff --git a/app/src/main/res/drawable/ic_cloud_off_black_24dp.xml b/app/src/main/res/drawable/ic_cloud_off_black_24dp.xml
new file mode 100644
index 0000000..1e753cf
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cloud_off_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4c-1.48,0 -2.85,0.43 -4.01,1.17l1.46,1.46C10.21,6.23 11.08,6 12,6c3.04,0 5.5,2.46 5.5,5.5v0.5H19c1.66,0 3,1.34 3,3 0,1.13 -0.64,2.11 -1.56,2.62l1.45,1.45C23.16,18.16 24,16.68 24,15c0,-2.64 -2.05,-4.78 -4.65,-4.96zM3,5.27l2.75,2.74C2.56,8.15 0,10.77 0,14c0,3.31 2.69,6 6,6h11.73l2,2L21,20.73 4.27,4 3,5.27zM7.73,10l8,8H6c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4h1.73z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_monetization_on_black_24dp.xml b/app/src/main/res/drawable/ic_monetization_on_black_24dp.xml
new file mode 100644
index 0000000..5d1dc64
--- /dev/null
+++ b/app/src/main/res/drawable/ic_monetization_on_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13.41,18.09L13.41,20h-2.67v-1.93c-1.71,-0.36 -3.16,-1.46 -3.27,-3.4h1.96c0.1,1.05 0.82,1.87 2.65,1.87 1.96,0 2.4,-0.98 2.4,-1.59 0,-0.83 -0.44,-1.61 -2.67,-2.14 -2.48,-0.6 -4.18,-1.62 -4.18,-3.67 0,-1.72 1.39,-2.84 3.11,-3.21L10.74,4h2.67v1.95c1.86,0.45 2.79,1.86 2.85,3.39L14.3,9.34c-0.05,-1.11 -0.64,-1.87 -2.22,-1.87 -1.5,0 -2.4,0.68 -2.4,1.64 0,0.84 0.65,1.39 2.67,1.91s4.18,1.39 4.18,3.91c-0.01,1.83 -1.38,2.83 -3.12,3.16z"/>
+</vector>
diff --git a/app/src/main/res/layout/fragment_customer_deposit.xml b/app/src/main/res/layout/fragment_customer_deposit.xml
index 9a09f60..7b0c0b6 100644
--- a/app/src/main/res/layout/fragment_customer_deposit.xml
+++ b/app/src/main/res/layout/fragment_customer_deposit.xml
@@ -13,8 +13,8 @@
         android:layout_width="match_parent"/>
 
     <include
-        layout="@layout/layout_error"
-        android:id="@+id/rl_error"
+        layout="@layout/layout_exception_handler"
+        android:id="@+id/layout_error"
         android:visibility="gone"/>
 
     <android.support.design.widget.FloatingActionButton
diff --git a/app/src/main/res/layout/layout_exception_handler.xml b/app/src/main/res/layout/layout_exception_handler.xml
new file mode 100644
index 0000000..8b97843
--- /dev/null
+++ b/app/src/main/res/layout/layout_exception_handler.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.CoordinatorLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:background="#F4F1F1"
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
+
+    <LinearLayout
+        android:id="@+id/ll_error_to_load"
+        android:gravity="center"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:orientation="vertical"
+        android:visibility="gone">
+
+        <ImageView
+            android:contentDescription="@string/status_image"
+            android:layout_gravity="center|center_horizontal"
+            android:layout_height="70dp"
+            android:layout_marginBottom="@dimen/layout_padding_16dp"
+            android:layout_width="70dp"
+            android:tint="@color/grey_500"
+            app:srcCompat="@drawable/ic_cloud_off_black_24dp"/>
+
+        <TextView
+            style="@style/Base.TextAppearance.AppCompat.Medium"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:text="@string/error_sorry_not_able_to_load"
+            android:textColor="@color/grey_500"
+            android:textSize="@dimen/text_size_14sp"
+            android:typeface="monospace" />
+
+        <TextView
+            android:id="@+id/tv_error_feature_name"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:textColor="@color/grey_500"
+            android:textSize="@dimen/text_size_14sp"
+            tools:text="Deposit Accounts"/>
+
+        <Button
+            android:id="@+id/btn_try_again"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/layout_padding_16dp"
+            android:layout_width="wrap_content"
+            android:paddingLeft="@dimen/layout_padding_24dp"
+            android:paddingRight="@dimen/layout_padding_24dp"
+            android:text="@string/try_again" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/ll_empty_ui"
+        android:gravity="center"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
+        android:orientation="vertical"
+        android:visibility="gone">
+
+        <ImageView
+            android:id="@+id/iv_empty_feature_image"
+            android:contentDescription="@string/status_image"
+            android:layout_gravity="center|center_horizontal"
+            android:layout_height="70dp"
+            android:layout_marginBottom="@dimen/layout_padding_16dp"
+            android:layout_width="70dp"
+            android:tint="@color/grey_500"
+            app:srcCompat="@drawable/ic_monetization_on_black_24dp"/>
+
+        <TextView
+            android:id="@+id/tv_empty_feature_name"
+            style="@style/Base.TextAppearance.AppCompat.Medium"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:textColor="@color/grey_500"
+            android:textSize="@dimen/text_size_20sp"
+            android:typeface="monospace"
+            tools:text="No Deposit accounts Found"/>
+
+        <TextView
+            android:id="@+id/tv_empty_sub_feature_name"
+            android:layout_height="wrap_content"
+            android:layout_width="wrap_content"
+            android:textColor="@color/grey_500"
+            android:textSize="@dimen/text_size_14sp"
+            tools:text="Top to add Deposit account"/>
+
+
+    </LinearLayout>
+
+</android.support.design.widget.CoordinatorLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 8470d61..05edc43 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -25,6 +25,8 @@
 
 
     <dimen name="text_size_12sp">12sp</dimen>
+    <dimen name="text_size_14sp">14sp</dimen>
+    <dimen name="text_size_20sp">20sp</dimen>
     <!-- Dimen values for text size -->
     <dimen name="text_headline">24sp</dimen>
     <dimen name="text_large">20sp</dimen>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7cb87ff..0c4467c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -171,6 +171,9 @@
     <string name="activities_created_by_on">%1$s, %2$s</string>
     <string name="logout">Logout</string>
     <string name="manage_roles">Manage roles</string>
+    <string name="try_again">Try Again</string>
+    <string name="empty_ui_message">No %1$s Found</string>
+    <string name="empty_ui_sub_message">Tap to add %1$s</string>
 
     <!--Edit Text hint required-->
     <string name="required_account">Account*</string>
@@ -243,6 +246,7 @@
     <string name="error_updating_deposit_account">Error updating deposit account</string>
     <string name="error_fetching_customer_activities">Error fetching customer activities</string>
     <string name="error_fetching_roles">Error fetching roles</string>
+    <string name="error_sorry_not_able_to_load">Sorry we weren\'t able to load</string>
 
 
     <!--Material Dialog-->
