diff --git a/build.gradle b/build.gradle
index 83bbf5c..e09cc9d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -30,6 +30,7 @@
                 'fineract-core',
                 'fineract-accounting',
                 'fineract-provider',
+                'fineract-branch',
                 'fineract-investor',
                 'fineract-loan',
                 'fineract-savings',
@@ -52,7 +53,8 @@
                 'fineract-provider',
                 'fineract-investor',
                 'fineract-loan',
-                'fineract-savings'
+                'fineract-savings',
+                'fineract-branch'
             ].contains(it.name)
         }
         npmRepository = 'https://npm.pkg.github.com'
diff --git a/fineract-branch/build.gradle b/fineract-branch/build.gradle
new file mode 100644
index 0000000..04a3b10
--- /dev/null
+++ b/fineract-branch/build.gradle
@@ -0,0 +1,106 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+description = 'Fineract Branch'
+
+apply plugin: 'java'
+apply plugin: 'eclipse'
+
+compileJava.doLast {
+    def mainSS = sourceSets.main
+    def source = mainSS.java.classesDirectory.get()
+    copy {
+        from file("src/main/resources/jpa/branch/persistence.xml")
+        into "${source}/META-INF/"
+    }
+    javaexec {
+        description = 'Performs EclipseLink static weaving of entity classes'
+        def target = source
+        main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
+        args '-persistenceinfo', source, source, target
+        classpath sourceSets.main.runtimeClasspath
+    }
+    delete {
+        delete "${source}/META-INF/persistence.xml"
+    }
+}
+
+// Configuration for Swagger documentation generation task
+// https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin
+import org.apache.tools.ant.filters.ReplaceTokens
+
+
+
+configurations {
+    providedRuntime // needed for Spring Boot executable WAR
+    providedCompile
+    compile() {
+        exclude module: 'hibernate-entitymanager'
+        exclude module: 'hibernate-validator'
+        exclude module: 'activation'
+        exclude module: 'bcmail-jdk14'
+        exclude module: 'bcprov-jdk14'
+        exclude module: 'bctsp-jdk14'
+        exclude module: 'c3p0'
+        exclude module: 'stax-api'
+        exclude module: 'jaxb-api'
+        exclude module: 'jaxb-impl'
+        exclude module: 'jboss-logging'
+        exclude module: 'itext-rtf'
+        exclude module: 'classworlds'
+    }
+    runtime
+}
+
+apply from: 'dependencies.gradle'
+
+// Configuration for the modernizer plugin
+// https://github.com/andygoossens/gradle-modernizer-plugin
+modernizer {
+    ignoreClassNamePatterns = [
+        '.*AbstractPersistableCustom',
+        '.*EntityTables',
+        '.*domain.*'
+    ]
+}
+
+// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
+// set the classes directory to point to Eclipse's default build directory
+if (project.hasProperty('env') && project.getProperty('env') == 'eclipse') {
+    sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-branch/bin/main")
+}
+
+eclipse {
+    project {
+        buildCommand([ LaunchConfigHandle: "<project>/.externalToolBuilders/OpenJPA Enhance Builder.launch" ],  'org.eclipse.ui.externaltools.ExternalToolBuilder')
+    }
+}
+
+/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
+sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
+sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
+
+if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
+    sourceSets {
+        test {
+            java {
+                exclude '**/core/boot/tests/**'
+            }
+        }
+    }
+}
diff --git a/fineract-branch/dependencies.gradle b/fineract-branch/dependencies.gradle
new file mode 100644
index 0000000..467fc30
--- /dev/null
+++ b/fineract-branch/dependencies.gradle
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+dependencies {
+    // Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
+    // Note that we never use 'api', because Fineract at least currently is a simple monolithic application ("WAR"), not a library.
+    // We also (normally should have) no need to ever use 'compileOnly'.
+
+    // implementation dependencies are directly used (compiled against) in src/main (and src/test)
+    //
+    implementation(project(path: ':fineract-core'))
+    implementation(project(path: ':fineract-accounting'))
+
+    implementation(
+            'org.springframework.boot:spring-boot-starter-web',
+            'org.springframework.boot:spring-boot-starter-security',
+            'jakarta.ws.rs:jakarta.ws.rs-api',
+            'org.glassfish.jersey.media:jersey-media-multipart',
+
+            'com.google.guava:guava',
+            'com.google.code.gson:gson',
+
+            'org.apache.commons:commons-lang3',
+
+            'com.jayway.jsonpath:json-path',
+
+            'com.github.spotbugs:spotbugs-annotations',
+            'io.swagger.core.v3:swagger-annotations-jakarta',
+
+            'com.squareup.retrofit2:converter-gson',
+
+            'org.springdoc:springdoc-openapi-starter-webmvc-ui',
+            'org.mapstruct:mapstruct',
+
+            'io.github.resilience4j:resilience4j-spring-boot3',
+            'org.apache.httpcomponents:httpcore',
+            )
+    compileOnly 'org.projectlombok:lombok'
+    annotationProcessor 'org.projectlombok:lombok'
+    annotationProcessor 'org.mapstruct:mapstruct-processor'
+    implementation ('org.springframework.boot:spring-boot-starter-data-jpa') {
+        exclude group: 'org.hibernate'
+    }
+    implementation('org.eclipse.persistence:org.eclipse.persistence.jpa') {
+        exclude group: 'org.eclipse.persistence', module: 'jakarta.persistence'
+    }
+    // testCompile dependencies are ONLY used in src/test, not src/main.
+    // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
+    //
+    testImplementation( 'io.github.classgraph:classgraph' )
+    testImplementation ('org.springframework.boot:spring-boot-starter-test') {
+        exclude group: 'com.jayway.jsonpath', module: 'json-path'
+        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
+        exclude group: 'jakarta.activation'
+        exclude group: 'javax.activation'
+        exclude group: 'org.skyscreamer'
+    }
+    testImplementation ('org.mockito:mockito-inline')
+}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/CashierApiResource.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/CashierApiResource.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/CashierApiResource.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/CashierApiResource.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResource.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResource.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResource.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResource.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResourceSwagger.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResourceSwagger.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResourceSwagger.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerApiResourceSwagger.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerJournalApiResource.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerJournalApiResource.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/api/TellerJournalApiResource.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/api/TellerJournalApiResource.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionDataValidator.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionDataValidator.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionDataValidator.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionDataValidator.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionTypeTotalsData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionTypeTotalsData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionTypeTotalsData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionTypeTotalsData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionsWithSummaryData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionsWithSummaryData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionsWithSummaryData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionsWithSummaryData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerJournalData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerJournalData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerJournalData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerJournalData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerTransactionData.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerTransactionData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/TellerTransactionData.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/data/TellerTransactionData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/Cashier.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/Cashier.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/Cashier.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/Cashier.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepository.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepository.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepository.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepository.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepositoryWrapper.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepositoryWrapper.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepositoryWrapper.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierRepositoryWrapper.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransaction.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransaction.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransaction.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransaction.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransactionRepository.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransactionRepository.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransactionRepository.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTransactionRepository.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/Teller.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/Teller.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/Teller.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/Teller.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerJournal.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerJournal.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerJournal.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerJournal.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepository.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepository.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepository.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepository.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepositoryWrapper.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepositoryWrapper.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepositoryWrapper.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerRepositoryWrapper.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerStatus.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerStatus.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerStatus.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerStatus.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransaction.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransaction.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransaction.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransaction.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransactionRepository.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransactionRepository.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransactionRepository.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/domain/TellerTransactionRepository.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierAlreadyAllocated.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierAlreadyAllocated.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierAlreadyAllocated.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierAlreadyAllocated.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierDateRangeOutOfTellerDateRangeException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierDateRangeOutOfTellerDateRangeException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierDateRangeOutOfTellerDateRangeException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierDateRangeOutOfTellerDateRangeException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierExistForTellerException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierExistForTellerException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierExistForTellerException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierExistForTellerException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierInsufficientAmountException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierInsufficientAmountException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierInsufficientAmountException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierInsufficientAmountException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierNotFoundException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierNotFoundException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/CashierNotFoundException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/CashierNotFoundException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/InvalidDateInputException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/InvalidDateInputException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/InvalidDateInputException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/InvalidDateInputException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/TellerNotFoundException.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/TellerNotFoundException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/exception/TellerNotFoundException.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/exception/TellerNotFoundException.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java
similarity index 79%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java
index e30e803..4ce37fc 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashToCashierCommandHandler.java
@@ -18,32 +18,21 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "ALLOCATECASHTOCASHIER")
 public class AllocateCashToCashierCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance.
-     *
-     * @param writePlatformService
-     *            the {@code CashierWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public AllocateCashToCashierCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
 
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java
similarity index 79%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java
index d61cc50..64e3184 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/AllocateCashierToTellerCommandHandler.java
@@ -18,32 +18,21 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "ALLOCATECASHIER")
 public class AllocateCashierToTellerCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance.
-     *
-     * @param writePlatformService
-     *            the {@code CashierWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public AllocateCashierToTellerCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
 
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java
similarity index 81%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java
index 40dfb63..4df7cfa 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerCommandHandler.java
@@ -18,12 +18,12 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -34,22 +34,12 @@
  * @since 2.0.0
  */
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "CREATE")
 public class CreateTellerCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance
-     *
-     * @param writePlatformService
-     *            the {@code TellerWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public CreateTellerCommandHandler(final TellerWritePlatformService writePlatformService) {
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.createTeller(command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java
similarity index 85%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java
index c2e0147..5a30ba0 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/CreateTellerTransactionCommandHandler.java
@@ -18,22 +18,17 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerTransactionWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 
+@RequiredArgsConstructor
 public class CreateTellerTransactionCommandHandler implements NewCommandSourceHandler {
 
     private final TellerTransactionWritePlatformService writePlatformService;
 
-    @Autowired
-    public CreateTellerTransactionCommandHandler(final TellerTransactionWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.createTellerTransaction(command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java
similarity index 81%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java
index 5899826..adcb910 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteCashierAllocationCommandHandler.java
@@ -18,12 +18,12 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -34,23 +34,12 @@
  * @since 2.0.0
  */
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "DELETECASHIERALLOCATION")
 public class DeleteCashierAllocationCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance.
-     *
-     * @param writePlatformService
-     *            the {@code CashierWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public DeleteCashierAllocationCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.deleteCashierAllocation(command.entityId(), command.subentityId(), command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java
similarity index 81%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java
index 96b49f1..c4e8ebb 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/DeleteTellerCommandHandler.java
@@ -18,12 +18,12 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -34,23 +34,12 @@
  * @since 2.0.0
  */
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "DELETE")
 public class DeleteTellerCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance
-     *
-     * @param writePlatformService
-     *            the {@code TellerWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public DeleteTellerCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.deleteTeller(command.entityId());
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java
similarity index 79%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java
index ca3bb15..cabda9a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/ModifyCashierCommandHandler.java
@@ -18,11 +18,11 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.CashierWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * Handles a modify cashier command.
@@ -31,22 +31,11 @@
  * @see org.apache.fineract.organisation.teller.service.CashierWritePlatformService
  * @since 2.0.0
  */
+@RequiredArgsConstructor
 public class ModifyCashierCommandHandler implements NewCommandSourceHandler {
 
     private final CashierWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance.
-     *
-     * @param writePlatformService
-     *            the {@code CashierWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public ModifyCashierCommandHandler(final CashierWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.modifyCashier(command.entityId(), command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java
similarity index 79%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java
index 6b71147..2acf9aa 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/SettleCashFromCashierCommandHandler.java
@@ -18,32 +18,21 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "SETTLECASHFROMCASHIER")
 public class SettleCashFromCashierCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance.
-     *
-     * @param writePlatformService
-     *            the {@code CashierWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public SettleCashFromCashierCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
 
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java
similarity index 81%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java
index 51f43a6..bd8db12 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateCashierAllocationCommandHandler.java
@@ -18,12 +18,12 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -34,23 +34,12 @@
  * @since 2.0.0
  */
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "UPDATECASHIERALLOCATION")
 public class UpdateCashierAllocationCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance
-     *
-     * @param writePlatformService
-     *            the {@code TellerWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public UpdateCashierAllocationCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.updateCashierAllocation(command.entityId(), command.subentityId(), command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java
similarity index 81%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java
index 91e7d35..d90e685 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java
+++ b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/UpdateTellerCommandHandler.java
@@ -18,12 +18,12 @@
  */
 package org.apache.fineract.organisation.teller.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.organisation.teller.service.TellerWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -34,23 +34,12 @@
  * @since 2.0.0
  */
 @Service
+@RequiredArgsConstructor
 @CommandType(entity = "TELLER", action = "UPDATE")
 public class UpdateTellerCommandHandler implements NewCommandSourceHandler {
 
     private final TellerWritePlatformService writePlatformService;
 
-    /**
-     * Creates a new instance
-     *
-     * @param writePlatformService
-     *            the {@code TellerWritePlatformService} used to access the backend
-     */
-    @Autowired
-    public UpdateTellerCommandHandler(final TellerWritePlatformService writePlatformService) {
-
-        this.writePlatformService = writePlatformService;
-    }
-
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
         return this.writePlatformService.modifyTeller(command.entityId(), command);
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/serialization/TellerCommandFromApiJsonDeserializer.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/serialization/TellerCommandFromApiJsonDeserializer.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/serialization/TellerCommandFromApiJsonDeserializer.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/serialization/TellerCommandFromApiJsonDeserializer.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/CashierWritePlatformService.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/CashierWritePlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/CashierWritePlatformService.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/CashierWritePlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerTransactionWritePlatformService.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerTransactionWritePlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerTransactionWritePlatformService.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerTransactionWritePlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerWritePlatformService.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerWritePlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerWritePlatformService.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/TellerWritePlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/util/DateRange.java b/fineract-branch/src/main/java/org/apache/fineract/organisation/teller/util/DateRange.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/teller/util/DateRange.java
rename to fineract-branch/src/main/java/org/apache/fineract/organisation/teller/util/DateRange.java
diff --git a/fineract-branch/src/main/resources/db/changelog/tenant/module/branch/module-changelog-master.xml b/fineract-branch/src/main/resources/db/changelog/tenant/module/branch/module-changelog-master.xml
new file mode 100644
index 0000000..035b136
--- /dev/null
+++ b/fineract-branch/src/main/resources/db/changelog/tenant/module/branch/module-changelog-master.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
+  <!-- Sequence is starting from 4000 to make it easier to move existing liquibase changesets here -->
+</databaseChangeLog>
diff --git a/fineract-branch/src/main/resources/jpa/branch/persistence.xml b/fineract-branch/src/main/resources/jpa/branch/persistence.xml
new file mode 100644
index 0000000..49d7498
--- /dev/null
+++ b/fineract-branch/src/main/resources/jpa/branch/persistence.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+
+<persistence version="2.0"
+    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+
+    <!--  This file is only used for static weaving, nothing more.  -->
+    <!--  You can find the runtime configuration in the JPAConfig class  -->
+    <persistence-unit name="jpa-pu" transaction-type="RESOURCE_LOCAL">
+        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+        <!-- Fineract core module -->
+        <class>org.apache.fineract.accounting.glaccount.domain.GLAccount</class>
+        <class>org.apache.fineract.accounting.journalentry.domain.JournalEntry</class>
+        <class>org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom</class>
+        <class>org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom</class>
+        <class>org.apache.fineract.infrastructure.codes.domain.Code</class>
+        <class>org.apache.fineract.infrastructure.codes.domain.CodeValue</class>
+        <class>org.apache.fineract.infrastructure.documentmanagement.domain.Image</class>
+        <class>org.apache.fineract.organisation.staff.domain.Staff</class>
+        <class>org.apache.fineract.organisation.office.domain.Office</class>
+        <class>org.apache.fineract.organisation.office.domain.OrganisationCurrency</class>
+        <class>org.apache.fineract.organisation.monetary.domain.ApplicationCurrency</class>
+        <class>org.apache.fineract.organisation.holiday.domain.Holiday</class>
+        <class>org.apache.fineract.organisation.workingdays.domain.WorkingDays</class>
+        <class>org.apache.fineract.portfolio.group.domain.Group</class>
+        <class>org.apache.fineract.portfolio.group.domain.GroupLevel</class>
+        <class>org.apache.fineract.portfolio.group.domain.StaffAssignmentHistory</class>
+        <class>org.apache.fineract.portfolio.group.domain.GroupRole</class>
+        <class>org.apache.fineract.portfolio.client.domain.Client</class>
+        <class>org.apache.fineract.portfolio.rate.domain.Rate</class>
+        <class>org.apache.fineract.portfolio.fund.domain.Fund</class>
+        <class>org.apache.fineract.portfolio.delinquency.domain.DelinquencyBucket</class>
+        <class>org.apache.fineract.portfolio.delinquency.domain.DelinquencyRange</class>
+        <class>org.apache.fineract.portfolio.charge.domain.Charge</class>
+        <class>org.apache.fineract.portfolio.paymenttype.domain.PaymentType</class>
+        <class>org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail</class>
+        <class>org.apache.fineract.portfolio.tax.domain.TaxGroup</class>
+        <class>org.apache.fineract.portfolio.tax.domain.TaxGroupMappings</class>
+        <class>org.apache.fineract.portfolio.tax.domain.TaxComponent</class>
+        <class>org.apache.fineract.portfolio.tax.domain.TaxComponentHistory</class>
+        <class>org.apache.fineract.portfolio.floatingrates.domain.FloatingRate</class>
+        <class>org.apache.fineract.portfolio.floatingrates.domain.FloatingRatePeriod</class>
+        <class>org.apache.fineract.portfolio.calendar.domain.Calendar</class>
+        <class>org.apache.fineract.portfolio.calendar.domain.CalendarHistory</class>
+        <class>org.apache.fineract.portfolio.calendar.domain.CalendarInstance</class>
+        <class>org.apache.fineract.useradministration.domain.AppUser</class>
+        <class>org.apache.fineract.useradministration.domain.Role</class>
+        <class>org.apache.fineract.useradministration.domain.Permission</class>
+        <class>org.apache.fineract.useradministration.domain.AppUserClientMapping</class>
+        <exclude-unlisted-classes>false</exclude-unlisted-classes>
+        <properties>
+            <property name="eclipselink.weaving" value="static" />
+        </properties>
+    </persistence-unit>
+</persistence>
diff --git a/fineract-branch/src/test/java/.gitkeep b/fineract-branch/src/test/java/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/fineract-branch/src/test/java/.gitkeep
diff --git a/fineract-branch/src/test/resources/.gitkeep b/fineract-branch/src/test/resources/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/fineract-branch/src/test/resources/.gitkeep
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/data/ApplicationCurrencyConfigurationData.java b/fineract-core/src/main/java/org/apache/fineract/organisation/monetary/data/ApplicationCurrencyConfigurationData.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/data/ApplicationCurrencyConfigurationData.java
rename to fineract-core/src/main/java/org/apache/fineract/organisation/monetary/data/ApplicationCurrencyConfigurationData.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyReadPlatformService.java b/fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyReadPlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyReadPlatformService.java
rename to fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyReadPlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyWritePlatformService.java b/fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyWritePlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyWritePlatformService.java
rename to fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/CurrencyWritePlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java b/fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java
rename to fineract-core/src/main/java/org/apache/fineract/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/exception/StaffNotFoundException.java b/fineract-core/src/main/java/org/apache/fineract/organisation/staff/exception/StaffNotFoundException.java
similarity index 100%
rename from fineract-provider/src/main/java/org/apache/fineract/organisation/staff/exception/StaffNotFoundException.java
rename to fineract-core/src/main/java/org/apache/fineract/organisation/staff/exception/StaffNotFoundException.java
diff --git a/fineract-provider/dependencies.gradle b/fineract-provider/dependencies.gradle
index 08c599d..67487ca 100644
--- a/fineract-provider/dependencies.gradle
+++ b/fineract-provider/dependencies.gradle
@@ -29,6 +29,7 @@
     implementation(project(path: ':fineract-investor'))
     implementation(project(path: ':fineract-loan'))
     implementation(project(path: ':fineract-savings'))
+    implementation(project(path: ':fineract-branch'))
     providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
 
     // Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
diff --git a/settings.gradle b/settings.gradle
index 2a37c53..eca3742 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -51,6 +51,7 @@
 include ':fineract-core'
 include ':fineract-accounting'
 include ':fineract-provider'
+include ':fineract-branch'
 include ':fineract-investor'
 include ':fineract-loan'
 include ':fineract-savings'
