diff --git a/fineract-doc/src/docs/en/chapters/appendix/properties-database.adoc b/fineract-doc/src/docs/en/chapters/appendix/properties-database.adoc
index 074afba..f107613 100644
--- a/fineract-doc/src/docs/en/chapters/appendix/properties-database.adoc
+++ b/fineract-doc/src/docs/en/chapters/appendix/properties-database.adoc
@@ -54,7 +54,7 @@
 |fineract
 |TBD
 
-|fineract.tenant.encrytion
+|fineract.tenant.encryption
 |FINERACT_DEFAULT_TENANTDB_ENCRYPTION
 |AES/CBC/PKCS5Padding
 |TBD
diff --git a/fineract-doc/src/docs/en/chapters/architecture/batch-jobs.adoc b/fineract-doc/src/docs/en/chapters/architecture/batch-jobs.adoc
index 777c87a..8a08a7d 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/batch-jobs.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/batch-jobs.adoc
@@ -258,7 +258,7 @@
 == Inline Jobs
 
 Some jobs that work with business entities have a corresponding job that can trigger the job with a list of specified entities.
-When the Inline job gets triggered then then the corresponding existing job will run in real time with the given entities as a dataset.
+When the Inline job gets triggered then the corresponding existing job will run in real time with the given entities as a dataset.
 
 === List of Inline jobs
 
diff --git a/fineract-doc/src/docs/en/chapters/architecture/business-date.adoc b/fineract-doc/src/docs/en/chapters/architecture/business-date.adoc
index 3058276..9c0995c 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/business-date.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/business-date.adoc
@@ -175,7 +175,7 @@
 
 The - logical - date of the business day for job execution, eg: 2022-05-05
 
-* It can be calculated based on the the business date
+* It can be calculated based on the business date
 
 ** COB date = business date - 1 day
 
@@ -295,4 +295,4 @@
 
 ** Storing DATETIME fields without Timezone is potential problem due to the daylight savings
 
-** Also  some external libs (like Quartz) are using system timezone and Fineract will using Tenant timezone for audit fields. To be able to distinct them in DB we shall use DATETIME with TIMESTAMP column types and use timezoned java time objects in the application
\ No newline at end of file
+** Also, some external libs (like Quartz) are using system timezone and Fineract will using Tenant timezone for audit fields. To be able to distinct them in DB we shall use DATETIME with TIMESTAMP column types and use timezoned java time objects in the application
\ No newline at end of file
diff --git a/fineract-doc/src/docs/en/chapters/architecture/design.adoc b/fineract-doc/src/docs/en/chapters/architecture/design.adoc
index 1a332c0..2c55b33 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/design.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/design.adoc
@@ -11,7 +11,7 @@
 * HTTPS API: retrieveAll method on *org.apache.fineract.useradministration.api.UsersApiResource* invoked
 * UsersApiResource.retrieveAll: Check user has permission to access this resources data.
 * UsersApiResource.retrieveAll: Use 'read service' to fetch all users data ('read services' execute simple SQL queries against Database using JDBC)
-* UsersApiResource.retrieveAll: Data returned to coverted into JSON response
+* UsersApiResource.retrieveAll: Data returned to converted into JSON response
 * Command: POST /users (Note: data passed in request body)
 * HTTPS API: create method on org.apache.fineract.useradministration.api.UsersApiResource invoked
 
@@ -21,7 +21,7 @@
 include::{rootdir}/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/UsersApiResource.java[lines=168..188]
 ----
 
-.Create a CommandWrapper object that represents this create user command and JSON request body. Pass off responsiblity for processing to PortfolioCommandSourceWritePlatformService.logCommandSource
+.Create a CommandWrapper object that represents this create user command and JSON request body. Pass off responsibility for processing to PortfolioCommandSourceWritePlatformService.logCommandSource
 [source,java]
 ----
 include::{rootdir}/fineract-core/src/main/java/org/apache/fineract/commands/service/PortfolioCommandSourceWritePlatformServiceImpl.java[lines=69..129]
@@ -36,7 +36,7 @@
 NOTE: if a RollbackTransactionAsCommandIsNotApprovedByCheckerException occurs at this point. The original transaction will of been aborted and we only log an entry for the command in the audit table setting its status as 'Pending'.
 
 * Check that if maker-checker configuration enabled for this action. If yes and this is not a 'checker' approving the command - rollback at the end. We rollback at the end in order to test if the command will pass 'domain validation' which requires commit to database for full check.
-* findCommandHandler - Find the correct Hanlder to process this command.
+* findCommandHandler - Find the correct Handler to process this command.
 * Process command using handler (In transactional scope).
 * CommandSource object created/updated with all details for logging to 'm_portfolio_command_source' table.
 * In update scenario, we check to see if there where really any changes/updates. If so only JSON for changes is stored in audit log.
diff --git a/fineract-doc/src/docs/en/chapters/architecture/history.adoc b/fineract-doc/src/docs/en/chapters/architecture/history.adoc
index a1b9221..587641a 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/history.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/history.adoc
@@ -11,7 +11,7 @@
 
 == Timeline
 
-* 2006: Project intiated by Grameen Foundation
+* 2006: Project initiated by Grameen Foundation
 * Late 2011: Grameen Foundation handed over full responsibility to open source community.
 * 2012: Mifos X platform started. Previous members of project come together under the name of Community for Open Source Microfinance (COSM / OpenMF)
 * 2013: COSM / OpenMF officially rebranded to Mifos Initiative and receive US 501c3 status.
diff --git a/fineract-doc/src/docs/en/chapters/architecture/persistence.adoc b/fineract-doc/src/docs/en/chapters/architecture/persistence.adoc
index 94ef531..75e816d 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/persistence.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/persistence.adoc
@@ -63,7 +63,7 @@
 
 As for every system, the database structure will and need to evolve over time. Fineract is no different. Originally for Fineract, Flyway was used until Fineract 1.6.x.
 
-After 1.6.x, PostgreSQL support was added to the platform hence there was a need to make the data-access layer and the schema migration as database independent as possible. Becuase of that, from Fineract 1.7.0, Flyway is not used anymore but Liquibase is.
+After 1.6.x, PostgreSQL support was added to the platform hence there was a need to make the data-access layer and the schema migration as database independent as possible. Because of that, from Fineract 1.7.0, Flyway is not used anymore but Liquibase is.
 
 Some of the changesets in the Liquibase changelogs have database specifics into it but they only run for the relevant databases. This is controller by Liquibase contexts.
 
@@ -86,13 +86,13 @@
 
 1. During upgrade from Fineract 1.5.0 to 1.6.0, Liquibase fails
 
-After dropping the flyway migrations table (schema_version), Liquibase runs it's
-own migrations which fails (in recreating tables which already exisit) because
+After dropping the flyway migrations table (schema_version), Liquibase runs its
+own migrations which fails (in recreating tables which already exist) because
 we are aiming to re-use DB with existing data from Fineract 1.5.0.
 
 Solution: The latest release version (1.6.0) doesn't have Liquibase at all, it
 still runs Flyway migrations. Only the develop branch (later to be 1.7.0) got
-sqitched to Liquibase. Do not pull the develop before upgrading your instance.
+switched to Liquibase. Do not pull the develop before upgrading your instance.
 
 Make sure first you upgrade your instance (aka database schema with Fineract 1.6.0).
 Then upgrade with the current develop branch. Check if some migration scripts
diff --git a/fineract-doc/src/docs/en/chapters/architecture/principles.adoc b/fineract-doc/src/docs/en/chapters/architecture/principles.adoc
index f1eecf1..7e16e88 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/principles.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/principles.adoc
@@ -21,15 +21,15 @@
 
 Whilst each tenant will have a set of core tables, the platform tables can be extended in different ways for each tenant through the use of Data tables functionality.
 
-== Command Query Seperation
+== Command Query Separation
 
-We seperate *commands* (that change data) from *queries* (that read data).
+We separate *commands* (that change data) from *queries* (that read data).
 
 Why? There are numerous reasons for choosing this approach which at present is not an attempt at full blown CQRS. The main advantages at present are:
 
 * State changing commands are persisted providing an audit of all state changes.
 * Used to support a general approach to *maker-checker*.
-* State changing commands use the Object-Oriented paradign (and hence ORM) whilst querys can stay in the data paradigm.
+* State changing commands use the Object-Oriented paradigm (and hence ORM) whilst querys can stay in the data paradigm.
 
 == Maker-Checker
 
diff --git a/fineract-doc/src/docs/en/chapters/architecture/system.adoc b/fineract-doc/src/docs/en/chapters/architecture/system.adoc
index b34f0e6..04947c0 100644
--- a/fineract-doc/src/docs/en/chapters/architecture/system.adoc
+++ b/fineract-doc/src/docs/en/chapters/architecture/system.adoc
@@ -14,5 +14,5 @@
 
 As illustrated in the above diagram, the various stakeholders leverage business apps to perform specific customer or FI related actions. The functionality contained in these business apps can be bundled up and packaged in any way. In the diagram, several of the apps may be combined into one app or any one of the blocks representing an app could be further broken up as needed.
 
-The platform is the core engine of the MIS. It hides alot of the complexity that exists in the business and technical domains needed for an MIS in FIs behind a relatively simple API. It is this API that frees up app developers to innovate and produce apps that can be as general or as bespoke as FIs need them to be.
+The platform is the core engine of the MIS. It hides a lot of the complexity that exists in the business and technical domains needed for an MIS in FIs behind a relatively simple API. It is this API that frees up app developers to innovate and produce apps that can be as general or as bespoke as FIs need them to be.
 
diff --git a/fineract-doc/src/docs/en/chapters/custom/business-step.adoc b/fineract-doc/src/docs/en/chapters/custom/business-step.adoc
index b8f5a7b..398c5e7 100644
--- a/fineract-doc/src/docs/en/chapters/custom/business-step.adoc
+++ b/fineract-doc/src/docs/en/chapters/custom/business-step.adoc
@@ -1,9 +1,9 @@
 = Custom Business Steps
 
-It very easy to add your own business steps to Fineract's default steps:
+It is very easy to add your own business steps to Fineract's default steps:
 
 1. Create a custom module (e. g. `custom/acme/steps`, follow the instructions on how to create a custom module)
-2. Create a class that implements interace `org.apache.fineract.cob.COBBusinessStep`
+2. Create a class that implements interface `org.apache.fineract.cob.COBBusinessStep`
 3. Provide the custom database migration to add the necessary information about your business step in table `m_batch_business_steps`
 
 .Business Step Interface
diff --git a/fineract-doc/src/docs/en/chapters/custom/index.adoc b/fineract-doc/src/docs/en/chapters/custom/index.adoc
index 8f4b00a..e92aea8 100644
--- a/fineract-doc/src/docs/en/chapters/custom/index.adoc
+++ b/fineract-doc/src/docs/en/chapters/custom/index.adoc
@@ -1,6 +1,6 @@
 = Custom Modules
 
-NOTE: Currently modules are a proof of concept feature in Fineract.
+NOTE: Currently, modules are a proof of concept feature in Fineract.
 
 include::intro.adoc[leveloffset=+1]
 
diff --git a/fineract-doc/src/docs/en/chapters/custom/loan-transaction-processor.adoc b/fineract-doc/src/docs/en/chapters/custom/loan-transaction-processor.adoc
index 6438712..eed2944 100644
--- a/fineract-doc/src/docs/en/chapters/custom/loan-transaction-processor.adoc
+++ b/fineract-doc/src/docs/en/chapters/custom/loan-transaction-processor.adoc
@@ -81,7 +81,7 @@
 
 == Override Processor Factory
 
-The processor factory has no reference to any specific implementation of the loan transaction processor interface. All avaible implementations will be injected here (internal default and custom implementations). Processor instances can be looked up via method `determineProcessor()`. You can pass either the code of the processor or the processor's name to look it up. If a matching processor can't be found then the factory function will either return the default instance or fails with an exception depending on the configuration in `application.properties`.
+The processor factory has no reference to any specific implementation of the loan transaction processor interface. All available implementations will be injected here (internal default and custom implementations). Processor instances can be looked up via method `determineProcessor()`. You can pass either the code of the processor or the processor's name to look it up. If a matching processor can't be found then the factory function will either return the default instance or fails with an exception depending on the configuration in `application.properties`.
 
 IMPORTANT: It is preferable to use the processor code to lookup processor instances. Lookups via processor names are only done in the import service via Excel sheets (should be fixed).
 
diff --git a/fineract-doc/src/docs/en/chapters/deployment/https.adoc b/fineract-doc/src/docs/en/chapters/deployment/https.adoc
index de06f12..f2018b0 100644
--- a/fineract-doc/src/docs/en/chapters/deployment/https.adoc
+++ b/fineract-doc/src/docs/en/chapters/deployment/https.adoc
@@ -8,6 +8,6 @@
 
 Such products, when correctly configured, add the conventional `X-Forwarded-For` and `X-Forwarded-Proto` HTTP headers, which Fineract (or rather the Spring Framework really) correctly respects since https://issues.apache.org/jira/browse/FINERACT-914[FINERACT-914 was fixed].
 
-Alternatively, you could replace the built-in default SSL certificate with one you obtained from a Certificate Authority.  We currently do not document how to do this, because we do not recommend this approach, as its cumbersome to configure and support and less secure than a managed auto rotating solution.
+Alternatively, you could replace the built-in default SSL certificate with one you obtained from a Certificate Authority.  We currently do not document how to do this, because we do not recommend this approach, as it's cumbersome to configure and support and less secure than a managed auto rotating solution.
 
 The Fineract API client supports an insecure mode (`FineractClient.Builder#insecure()`), and API users such as mobile apps may expose Settings to let end-users accept the self signed certificate. This should always be used for testing only, never in production.
diff --git a/fineract-doc/src/docs/en/chapters/deployment/instance-type.adoc b/fineract-doc/src/docs/en/chapters/deployment/instance-type.adoc
index 78fad65..c8f6b64 100644
--- a/fineract-doc/src/docs/en/chapters/deployment/instance-type.adoc
+++ b/fineract-doc/src/docs/en/chapters/deployment/instance-type.adoc
@@ -98,7 +98,7 @@
                                   |                |
                                   +----------------+
 ----
-These soultions can be mixed with each other, based on the load of the Fineract deployment.
+These solutions can be mixed with each other, based on the load of the Fineract deployment.
 
 == Configuring instance type via environment variables
 
@@ -140,7 +140,7 @@
 === Batch job APIs are allowed only for batch instances
 
 A Fineract instance is ONLY able to serve batch API calls when it’s configured as a batch instance. In read or write instance mode, it won’t serve batch API calls.
-If the batch APIs won't be served and and a proper HTTP status code will be returned.
+If the batch APIs won't be served and a proper HTTP status code will be returned.
 If it’s a batch instance, the batch APIs will be served.
 
 == Batch jobs
diff --git a/fineract-doc/src/docs/en/chapters/release/configuration-email.adoc b/fineract-doc/src/docs/en/chapters/release/configuration-email.adoc
index 36be555..be3151e 100644
--- a/fineract-doc/src/docs/en/chapters/release/configuration-email.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/configuration-email.adoc
@@ -21,7 +21,7 @@
 5. 2-Step Verification is only set up for security keys.
 6. Your account is through work, school, or other organization.
 7. You turned on Advanced Protection.
-8. At the bottom, choose Select app and choose the app you using and then Select device and choose the device you're using and then Generate.
+8. At the bottom, choose Select app and choose the app you're using and then Select device and choose the device you're using and then Generate.
 9. Follow the instructions to enter the App Password. The App Password is the 16-character code in the yellow bar on your device.
 10. Tap Done.
 
diff --git a/fineract-doc/src/docs/en/chapters/release/configuration-gpg.adoc b/fineract-doc/src/docs/en/chapters/release/configuration-gpg.adoc
index 3703301..9605661 100644
--- a/fineract-doc/src/docs/en/chapters/release/configuration-gpg.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/configuration-gpg.adoc
@@ -176,7 +176,7 @@
 +
 Your private key should be kept in a safe place, like an encrypted flash drive. Treat it like your house key. Only you can have it and don't lose it. And you must remember your passphrase, otherwise you can't unlock your private key.
 +
-You should protect your revocation certificate. Anyone in posession of your revocation certificate, could immediately revoke your public/private key pair and generate fake ones.
+You should protect your revocation certificate. Anyone in possession of your revocation certificate, could immediately revoke your public/private key pair and generate fake ones.
 
 IMPORTANT: Please contact a PMC member to add your GPG public key in Fineract's Subversion repository. This is necessary to be able to validate published releases.
 
@@ -194,7 +194,7 @@
 keyserver hkp://keyserver.ubuntu.com/
 ----
 +
-Alternatively you can provide the keyserver whith the send command:
+Alternatively you can provide the keyserver with the send command:
 +
 [source,bash]
 ----
diff --git a/fineract-doc/src/docs/en/chapters/release/configuration-gradle.adoc b/fineract-doc/src/docs/en/chapters/release/configuration-gradle.adoc
index 2cec0fc..a3f148b 100644
--- a/fineract-doc/src/docs/en/chapters/release/configuration-gradle.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/configuration-gradle.adoc
@@ -20,7 +20,7 @@
 fineract.config.password=******
 ----
 <1> Make sure you use the full GPG key name (you can list yours via `gpg --list-secret-keys --keyid-format=long`)
-<2> GnuPG has it's own kbx format to store the public key ring. At the moment we are only supporting this format
+<2> GnuPG has its own kbx format to store the public key ring. At the moment we are only supporting this format
 <3> Currently we only have instructions for GMail
 <4> Apache committer credentials
 
diff --git a/fineract-doc/src/docs/en/chapters/release/process-step01.adoc b/fineract-doc/src/docs/en/chapters/release/process-step01.adoc
index 929e99c..49a520f 100644
--- a/fineract-doc/src/docs/en/chapters/release/process-step01.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/process-step01.adoc
@@ -4,7 +4,7 @@
 
 The RM should, if one doesn't already exist, first create a new release umbrella issue in JIRA. This issue is dedicated to tracking (a summary of) any discussion related to the planned new release. An example of such an issue is FINERACT-873 - Release Apache Fineract v1.4.0 RESOLVED.
 
-The RM then creates an list of resolved issues & features through an initial check in JIRA for already resolved issues for the release, and then setup a timeline for release branch point. The time for the day the issue list is created to the release branch point must be at least two weeks in order to give the community a chance to prioritize and commit any last minute features and issues they would like to see in the upcoming release.
+The RM then creates a list of resolved issues & features through an initial check in JIRA for already resolved issues for the release, and then setup a timeline for release branch point. The time for the day the issue list is created to the release branch point must be at least two weeks in order to give the community a chance to prioritize and commit any last minute features and issues they would like to see in the upcoming release.
 
 The RM must then send the pointer to the umbrella issue along with the tentative timeline for branch point to the developer lists. Any work identified as release related that needs to be completed should be added as a sub tasks of the umbrella issue to allow all developers and users to see the overall release progress in one place. The umbrella issue shall also link to any issues still requiring clarification whether or not they will make it into the release.
 
diff --git a/fineract-doc/src/docs/en/chapters/resilience/intro.adoc b/fineract-doc/src/docs/en/chapters/resilience/intro.adoc
index 225291a..6967c27 100644
--- a/fineract-doc/src/docs/en/chapters/resilience/intro.adoc
+++ b/fineract-doc/src/docs/en/chapters/resilience/intro.adoc
@@ -15,7 +15,7 @@
         // check if is update of own account details
         if (wrapper.isUpdateOfOwnUserDetails(this.context.authenticatedUser(wrapper).getId())) {
             // then allow this operation to proceed.
-            // maker checker doesnt mean anything here.
+            // maker checker doesn't mean anything here.
             isApprovedByChecker = true; // set to true in case permissions have
                                         // been maker-checker enabled by
                                         // accident.
diff --git a/fineract-doc/src/docs/en/chapters/testing/cucumber-cheatsheet.adoc b/fineract-doc/src/docs/en/chapters/testing/cucumber-cheatsheet.adoc
index ec246d7..ee636e0 100644
--- a/fineract-doc/src/docs/en/chapters/testing/cucumber-cheatsheet.adoc
+++ b/fineract-doc/src/docs/en/chapters/testing/cucumber-cheatsheet.adoc
@@ -104,6 +104,6 @@
 
 As a proof of concept we've converted all unit tests in `fineract-provider` into Cucumber tests. The more interesting part starts when we'll attack the integration tests with over 400 mostly business logic related tests. These tests fit very well in Cucumber's test specification structure (a lot of _if-then-else_ or in Gherkin: _Given-When-Then_). Migrating all tests will take a while, but we would already recommend trying to implement tests as Cucumber specifications. It should be relatively easy to convert these tests into the new syntax.
 
-Hopefully this will motivate even more people from the broader Fineract community to participate in the project by sharing their domain specific knowledge as Cucumber specifications. Specifications are written in Englisch (although not a technical requirement).
+Hopefully this will motivate even more people from the broader Fineract community to participate in the project by sharing their domain specific knowledge as Cucumber specifications. Specifications are written in English (although not a technical requirement).
 
 NOTE: Have a look at the specifications in `fineract-provider` for an initial inspiration. For more information please see https://cucumber.io/docs
\ No newline at end of file
