diff --git a/build.gradle b/build.gradle
index 615e2c7..28fcd2c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,7 @@
         mifoscustomer           : '0.1.0-BUILD-SNAPSHOT',
         mifosaccounting         : '0.1.0-BUILD-SNAPSHOT',
         mifosportfolio          : '0.1.0-BUILD-SNAPSHOT',
+        mifosdeposit            : '0.1.0-BUILD-SNAPSHOT',
         frameworkapi            : '0.1.0-BUILD-SNAPSHOT',
         frameworklang           : '0.1.0-BUILD-SNAPSHOT',
         frameworktest           : '0.1.0-BUILD-SNAPSHOT',
@@ -75,6 +76,7 @@
             [group: 'io.mifos.customer', name: 'api', version: versions.mifoscustomer],
             [group: 'io.mifos.accounting', name: 'api', version: versions.mifosaccounting],
             [group: 'io.mifos.portfolio', name: 'api', version: versions.mifosportfolio],
+            [group: 'io.mifos.deposit-account-management', name: 'api', version: versions.mifosdeposit],
 
             [group: 'io.mifos.anubis', name: 'api', version: versions.frameworkanubis],
             [group: 'io.mifos.anubis', name: 'test', version: versions.frameworkanubis],
diff --git a/src/main/java/io/mifos/dev/ServiceRunner.java b/src/main/java/io/mifos/dev/ServiceRunner.java
index e7d7e49..a7782d3 100644
--- a/src/main/java/io/mifos/dev/ServiceRunner.java
+++ b/src/main/java/io/mifos/dev/ServiceRunner.java
@@ -33,6 +33,7 @@
 import io.mifos.core.test.servicestarter.IntegrationTestEnvironment;
 import io.mifos.core.test.servicestarter.Microservice;
 import io.mifos.customer.api.v1.client.CustomerManager;
+import io.mifos.deposit.api.v1.client.DepositAccountManager;
 import io.mifos.identity.api.v1.client.IdentityManager;
 import io.mifos.identity.api.v1.domain.Authentication;
 import io.mifos.identity.api.v1.domain.Password;
@@ -84,6 +85,7 @@
   private static Microservice<CustomerManager> customerClient;
   private static Microservice<LedgerManager> accountingClient;
   private static Microservice<PortfolioManager> portfolioClient;
+  private static Microservice<DepositAccountManager> depositClient;
 
   private static DB embeddedMariaDb;
 
@@ -161,10 +163,12 @@
     ServiceRunner.customerClient = this.startService(CustomerManager.class, "customer", this.generalProperties);
     ServiceRunner.accountingClient = this.startService(LedgerManager.class, "accounting", this.generalProperties);
     ServiceRunner.portfolioClient = this.startService(PortfolioManager.class, "portfolio", this.generalProperties);
+    ServiceRunner.depositClient = this.startService(DepositAccountManager.class, "deposit-account-management", this.generalProperties);
   }
 
   @After
   public void tearDown() throws Exception {
+    ServiceRunner.depositClient.kill();
     ServiceRunner.portfolioClient.kill();
     ServiceRunner.accountingClient.kill();
     ServiceRunner.customerClient.kill();
@@ -195,6 +199,7 @@
     System.out.println("Customer Service: " + ServiceRunner.customerClient.getProcessEnvironment().serverURI());
     System.out.println("Accounting Service: " + ServiceRunner.accountingClient.getProcessEnvironment().serverURI());
     System.out.println("Portfolio Service: " + ServiceRunner.portfolioClient.getProcessEnvironment().serverURI());
+    System.out.println("Deposit Service: " + ServiceRunner.depositClient.getProcessEnvironment().serverURI());
 
     boolean run = true;
 
@@ -258,7 +263,8 @@
         ApplicationBuilder.create(ServiceRunner.officeClient.name(), ServiceRunner.officeClient.uri()),
         ApplicationBuilder.create(ServiceRunner.customerClient.name(), ServiceRunner.customerClient.uri()),
         ApplicationBuilder.create(ServiceRunner.accountingClient.name(), ServiceRunner.accountingClient.uri()),
-        ApplicationBuilder.create(ServiceRunner.portfolioClient.name(), ServiceRunner.portfolioClient.uri())
+        ApplicationBuilder.create(ServiceRunner.portfolioClient.name(), ServiceRunner.portfolioClient.uri()),
+        ApplicationBuilder.create(ServiceRunner.depositClient.name(), ServiceRunner.depositClient.uri())
     );
 
     final List<Tenant> tenantsToCreate = Arrays.asList(
