Report related changes

This commit is contained in:
pramod
2016-01-25 17:22:30 +05:30
parent 97587d9019
commit c5b56dae8f
102 changed files with 110 additions and 1188 deletions
-21
View File
@@ -45,9 +45,6 @@ group = 'org.mifosplatform'
repositories {
jcenter()
maven {
url "http://nexus.pentaho.org/content/repositories/pentaho-public-release-repos/"
}
// mavenLocal() // useful for local dev using MariaDB4j SNAPSHOTs (not needed for real-world non-SNAPHOT builds)
}
@@ -97,11 +94,6 @@ task dist(type:Zip){
include '**/*'
into('apps')
}
from('src/main/pentahoReports/') {
fileMode = 0755
include '*'
into('pentahoReports')
}
from('../api-docs/') {
fileMode = 0755
include '*'
@@ -122,20 +114,7 @@ task dist(type:Zip){
into(baseName + '-' + version)
}
task deployPentahoReports() {
def pentahoReportDir = System.properties['user.home'] + System.properties['file.separator'] + '.mifosx' + System.properties['file.separator'] + 'pentahoReports'
copy {
from "src/main/pentahoReports"
into pentahoReportDir
}
doLast {
println ':deployPentahoReports - moving pentaho reports under: ' + pentahoReportDir
}
}
war {
it.dependsOn deployPentahoReports
war.finalizedBy(bootRepackage)
}
-16
View File
@@ -50,22 +50,6 @@ dependencies {
[group: 'mysql', name: 'mysql-connector-java', version: '5.1.27'],
// [group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: tomcatVersion],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-core', version: '3.9.1.1'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-extensions', version: '3.9.1-GA'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-extensions-scripting', version: '3.9.1-GA'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-wizard-core', version: '3.9.1-GA'],
[group: 'pentaho-report-designer', name: 'pentaho-reporting-engine-wizard-xul', version: '3.9.1-GA'],
[group: 'pentaho-library', name: 'libbase', version: '1.2.8'],
[group: 'pentaho-library',name: 'libdocbundle', version: '1.2.8'],
[group: 'pentaho-library',name: 'libfonts', version: '1.2.8'],
[group: 'pentaho-library',name: 'libformat', version: '1.2.8'],
[group: 'pentaho-library',name: 'libformula', version: '1.2.8'],
[group: 'pentaho-library',name: 'libloader', version: '1.2.8'],
[group: 'pentaho-library',name: 'librepository', version: '1.2.8'],
[group: 'pentaho-library',name: 'libserializer', version: '1.2.8'],
[group: 'pentaho-library',name: 'libsparkline', version: '1.2.8'],
[group: 'pentaho-library',name: 'libxml', version: '1.2.8'],
[group: 'org.apache.poi',name: 'poi', version: '3.9'],
[group: 'org.apache.poi',name: 'poi-ooxml', version: '3.9'],
+1 -17
View File
@@ -49,23 +49,7 @@ dependencies {
[group: 'mysql', name: 'mysql-connector-java', version: '5.1.27'],
[group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: tomcatVersion],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-core', version: '3.9.1.1'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-extensions', version: '3.9.1-GA'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-classic-extensions-scripting', version: '3.9.1-GA'],
[group: 'pentaho-reporting-engine', name: 'pentaho-reporting-engine-wizard-core', version: '3.9.1-GA'],
[group: 'pentaho-report-designer', name: 'pentaho-reporting-engine-wizard-xul', version: '3.9.1-GA'],
[group: 'pentaho-library', name: 'libbase', version: '1.2.8'],
[group: 'pentaho-library',name: 'libdocbundle', version: '1.2.8'],
[group: 'pentaho-library',name: 'libfonts', version: '1.2.8'],
[group: 'pentaho-library',name: 'libformat', version: '1.2.8'],
[group: 'pentaho-library',name: 'libformula', version: '1.2.8'],
[group: 'pentaho-library',name: 'libloader', version: '1.2.8'],
[group: 'pentaho-library',name: 'librepository', version: '1.2.8'],
[group: 'pentaho-library',name: 'libserializer', version: '1.2.8'],
[group: 'pentaho-library',name: 'libsparkline', version: '1.2.8'],
[group: 'pentaho-library',name: 'libxml', version: '1.2.8'],
[group: 'org.apache.poi',name: 'poi', version: '3.9'],
[group: 'org.apache.poi',name: 'poi-ooxml', version: '3.9'],
[group: 'org.apache.poi',name: 'poi-ooxml-schemas', version: '3.9'],
@@ -7,7 +7,6 @@ package org.mifosplatform.infrastructure.dataqueries.api;
import java.io.File;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -30,6 +29,8 @@ import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
import org.mifosplatform.infrastructure.dataqueries.data.ReportData;
import org.mifosplatform.infrastructure.dataqueries.service.GenericDataService;
import org.mifosplatform.infrastructure.dataqueries.service.ReadReportingService;
import org.mifosplatform.infrastructure.report.provider.ReportingProcessServiceProvider;
import org.mifosplatform.infrastructure.report.service.ReportingProcessService;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
import org.mifosplatform.useradministration.domain.AppUser;
@@ -46,14 +47,17 @@ public class RunreportsApiResource {
private final ToApiJsonSerializer<ReportData> toApiJsonSerializer;
private final ReadReportingService readExtraDataAndReportingService;
private final GenericDataService genericDataService;
private final ReportingProcessServiceProvider reportingProcessServiceProvider;
@Autowired
public RunreportsApiResource(final PlatformSecurityContext context, final ReadReportingService readExtraDataAndReportingService,
final GenericDataService genericDataService, final ToApiJsonSerializer<ReportData> toApiJsonSerializer) {
final GenericDataService genericDataService, final ToApiJsonSerializer<ReportData> toApiJsonSerializer,
final ReportingProcessServiceProvider reportingProcessServiceProvider) {
this.context = context;
this.readExtraDataAndReportingService = readExtraDataAndReportingService;
this.genericDataService = genericDataService;
this.toApiJsonSerializer = toApiJsonSerializer;
this.reportingProcessServiceProvider = reportingProcessServiceProvider;
}
@GET
@@ -74,12 +78,9 @@ public class RunreportsApiResource {
String parameterTypeValue = null;
if (!parameterType) {
parameterTypeValue = "report";
if (this.readExtraDataAndReportingService.getReportType(reportName).equalsIgnoreCase("Pentaho")) {
final Map<String, String> reportParams = getReportParams(queryParams, true);
final Locale locale = ApiParameterHelper.extractLocale(queryParams);
return this.readExtraDataAndReportingService.processPentahoRequest(reportName, queryParams.getFirst("output-type"),
reportParams, locale);
}
String reportType = this.readExtraDataAndReportingService.getReportType(reportName);
ReportingProcessService reportingProcessService = this.reportingProcessServiceProvider.findReportingProcessService(reportType);
if (reportingProcessService != null) { return reportingProcessService.processRequest(reportName, queryParams); }
} else {
parameterTypeValue = "parameter";
}
@@ -87,7 +88,7 @@ public class RunreportsApiResource {
// PDF format
if (exportPdf) {
final Map<String, String> reportParams = getReportParams(queryParams, false);
final Map<String, String> reportParams = getReportParams(queryParams);
final String pdfFileName = this.readExtraDataAndReportingService
.retrieveReportPDF(reportName, parameterTypeValue, reportParams);
@@ -102,7 +103,7 @@ public class RunreportsApiResource {
}
if (!exportCsv) {
final Map<String, String> reportParams = getReportParams(queryParams, false);
final Map<String, String> reportParams = getReportParams(queryParams);
final GenericResultsetData result = this.readExtraDataAndReportingService.retrieveGenericResultset(reportName,
parameterTypeValue, reportParams);
@@ -124,7 +125,7 @@ public class RunreportsApiResource {
}
// CSV Export
final Map<String, String> reportParams = getReportParams(queryParams, false);
final Map<String, String> reportParams = getReportParams(queryParams);
final StreamingOutput result = this.readExtraDataAndReportingService
.retrieveReportCSV(reportName, parameterTypeValue, reportParams);
@@ -143,7 +144,7 @@ public class RunreportsApiResource {
}
}
private Map<String, String> getReportParams(final MultivaluedMap<String, String> queryParams, final Boolean isPentaho) {
private Map<String, String> getReportParams(final MultivaluedMap<String, String> queryParams) {
final Map<String, String> reportParams = new HashMap<>();
final Set<String> keys = queryParams.keySet();
@@ -152,12 +153,7 @@ public class RunreportsApiResource {
for (final String k : keys) {
if (k.startsWith("R_")) {
if (isPentaho) {
pKey = k.substring(2);
} else {
pKey = "${" + k.substring(2) + "}";
}
pKey = "${" + k.substring(2) + "}";
pValue = queryParams.get(k).get(0);
reportParams.put(pKey, pValue);
}
@@ -6,10 +6,8 @@
package org.mifosplatform.infrastructure.dataqueries.service;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
@@ -22,8 +20,6 @@ public interface ReadReportingService {
GenericResultsetData retrieveGenericResultset(String name, String type, Map<String, String> extractedQueryParams);
Response processPentahoRequest(String reportName, String outputType, Map<String, String> queryParams, Locale locale);
String retrieveReportPDF(String name, String type, Map<String, String> extractedQueryParams);
String getReportType(String reportName);
@@ -6,34 +6,24 @@
package org.mifosplatform.infrastructure.dataqueries.service;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.sql.DataSource;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.domain.MifosPlatformTenant;
import org.mifosplatform.infrastructure.core.domain.MifosPlatformTenantConnection;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.core.service.RoutingDataSource;
import org.mifosplatform.infrastructure.core.service.ThreadLocalContextUtil;
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
import org.mifosplatform.infrastructure.dataqueries.data.ReportData;
import org.mifosplatform.infrastructure.dataqueries.data.ReportParameterData;
@@ -44,20 +34,6 @@ import org.mifosplatform.infrastructure.dataqueries.exception.ReportNotFoundExce
import org.mifosplatform.infrastructure.documentmanagement.contentrepository.FileSystemContentRepository;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
import org.mifosplatform.useradministration.domain.AppUser;
import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
import org.pentaho.reporting.engine.classic.core.DefaultReportEnvironment;
import org.pentaho.reporting.engine.classic.core.MasterReport;
import org.pentaho.reporting.engine.classic.core.ReportProcessingException;
import org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil;
import org.pentaho.reporting.engine.classic.core.modules.output.table.csv.CSVReportUtil;
import org.pentaho.reporting.engine.classic.core.modules.output.table.html.HtmlReportUtil;
import org.pentaho.reporting.engine.classic.core.modules.output.table.xls.ExcelReportUtil;
import org.pentaho.reporting.engine.classic.core.parameters.ParameterDefinitionEntry;
import org.pentaho.reporting.engine.classic.core.parameters.ReportParameterDefinition;
import org.pentaho.reporting.engine.classic.core.util.ReportParameterValues;
import org.pentaho.reporting.libraries.resourceloader.Resource;
import org.pentaho.reporting.libraries.resourceloader.ResourceException;
import org.pentaho.reporting.libraries.resourceloader.ResourceManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -80,14 +56,10 @@ public class ReadReportingServiceImpl implements ReadReportingService {
private final DataSource dataSource;
private final PlatformSecurityContext context;
private final GenericDataService genericDataService;
private boolean noPentaho = false;
@Autowired
public ReadReportingServiceImpl(final PlatformSecurityContext context, final RoutingDataSource dataSource,
final GenericDataService genericDataService) {
// kick off pentaho reports server
ClassicEngineBoot.getInstance().start();
this.noPentaho = false;
this.context = context;
this.dataSource = dataSource;
@@ -223,7 +195,7 @@ public class ReadReportingServiceImpl implements ReadReportingService {
final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(inputSqlWrapped);
if (rs.next()) { return rs.getString("the_sql"); }
if (rs.next() && rs.getString("the_sql") != null) { return rs.getString("the_sql"); }
throw new ReportNotFoundException(inputSql);
}
@@ -240,151 +212,6 @@ public class ReadReportingServiceImpl implements ReadReportingService {
throw new ReportNotFoundException(sql);
}
@Override
public Response processPentahoRequest(final String reportName, final String outputTypeParam, final Map<String, String> queryParams,
final Locale locale) {
String outputType = "HTML";
if (StringUtils.isNotBlank(outputTypeParam)) {
outputType = outputTypeParam;
}
if (!(outputType.equalsIgnoreCase("HTML") || outputType.equalsIgnoreCase("PDF") || outputType.equalsIgnoreCase("XLS")
|| outputType.equalsIgnoreCase("XLSX") || outputType.equalsIgnoreCase("CSV"))) { throw new PlatformDataIntegrityException(
"error.msg.invalid.outputType", "No matching Output Type: " + outputType); }
if (this.noPentaho) { throw new PlatformDataIntegrityException("error.msg.no.pentaho", "Pentaho is not enabled",
"Pentaho is not enabled"); }
final String reportPath = FileSystemContentRepository.MIFOSX_BASE_DIR + File.separator + "pentahoReports" + File.separator
+ reportName + ".prpt";
logger.info("Report path: " + reportPath);
// load report definition
final ResourceManager manager = new ResourceManager();
manager.registerDefaults();
Resource res;
try {
res = manager.createDirectly(reportPath, MasterReport.class);
final MasterReport masterReport = (MasterReport) res.getResource();
final DefaultReportEnvironment reportEnvironment = (DefaultReportEnvironment) masterReport.getReportEnvironment();
if (locale != null) {
reportEnvironment.setLocale(locale);
}
addParametersToReport(masterReport, queryParams);
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
if ("PDF".equalsIgnoreCase(outputType)) {
PdfReportUtil.createPDF(masterReport, baos);
return Response.ok().entity(baos.toByteArray()).type("application/pdf").build();
}
if ("XLS".equalsIgnoreCase(outputType)) {
ExcelReportUtil.createXLS(masterReport, baos);
return Response.ok().entity(baos.toByteArray()).type("application/vnd.ms-excel")
.header("Content-Disposition", "attachment;filename=" + reportName.replaceAll(" ", "") + ".xls").build();
}
if ("XLSX".equalsIgnoreCase(outputType)) {
ExcelReportUtil.createXLSX(masterReport, baos);
return Response.ok().entity(baos.toByteArray()).type("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
.header("Content-Disposition", "attachment;filename=" + reportName.replaceAll(" ", "") + ".xlsx").build();
}
if ("CSV".equalsIgnoreCase(outputType)) {
CSVReportUtil.createCSV(masterReport, baos, "UTF-8");
return Response.ok().entity(baos.toByteArray()).type("text/csv")
.header("Content-Disposition", "attachment;filename=" + reportName.replaceAll(" ", "") + ".csv").build();
}
if ("HTML".equalsIgnoreCase(outputType)) {
HtmlReportUtil.createStreamHTML(masterReport, baos);
return Response.ok().entity(baos.toByteArray()).type("text/html").build();
}
} catch (final ResourceException e) {
throw new PlatformDataIntegrityException("error.msg.reporting.error", e.getMessage());
} catch (final ReportProcessingException e) {
throw new PlatformDataIntegrityException("error.msg.reporting.error", e.getMessage());
} catch (final IOException e) {
throw new PlatformDataIntegrityException("error.msg.reporting.error", e.getMessage());
}
throw new PlatformDataIntegrityException("error.msg.invalid.outputType", "No matching Output Type: " + outputType);
}
private void addParametersToReport(final MasterReport report, final Map<String, String> queryParams) {
final AppUser currentUser = this.context.authenticatedUser();
try {
final ReportParameterValues rptParamValues = report.getParameterValues();
final ReportParameterDefinition paramsDefinition = report.getParameterDefinition();
/*
* only allow integer, long, date and string parameter types and
* assume all mandatory - could go more detailed like Pawel did in
* Mifos later and could match incoming and pentaho parameters
* better... currently assuming they come in ok... and if not an
* error
*/
for (final ParameterDefinitionEntry paramDefEntry : paramsDefinition.getParameterDefinitions()) {
final String paramName = paramDefEntry.getName();
if (!((paramName.equals("tenantUrl")) || (paramName.equals("userhierarchy") || (paramName.equals("username")) || (paramName
.equals("password") || (paramName.equals("userid")))))) {
logger.info("paramName:" + paramName);
final String pValue = queryParams.get(paramName);
if (StringUtils.isBlank(pValue)) { throw new PlatformDataIntegrityException("error.msg.reporting.error",
"Pentaho Parameter: " + paramName + " - not Provided"); }
final Class<?> clazz = paramDefEntry.getValueType();
logger.info("addParametersToReport(" + paramName + " : " + pValue + " : " + clazz.getCanonicalName() + ")");
if (clazz.getCanonicalName().equalsIgnoreCase("java.lang.Integer")) {
rptParamValues.put(paramName, Integer.parseInt(pValue));
} else if (clazz.getCanonicalName().equalsIgnoreCase("java.lang.Long")) {
rptParamValues.put(paramName, Long.parseLong(pValue));
} else if (clazz.getCanonicalName().equalsIgnoreCase("java.sql.Date")) {
rptParamValues.put(paramName, Date.valueOf(pValue));
} else {
rptParamValues.put(paramName, pValue);
}
}
}
// tenant database name and current user's office hierarchy
// passed as parameters to allow multitenant penaho reporting
// and
// data scoping
final Connection connection = this.dataSource.getConnection();
String tenantUrl;
try {
tenantUrl = connection.getMetaData().getURL();
} finally {
connection.close();
}
final String userhierarchy = currentUser.getOffice().getHierarchy();
logger.info("db URL:" + tenantUrl + " userhierarchy:" + userhierarchy);
rptParamValues.put("userhierarchy", userhierarchy);
final Long userid = currentUser.getId();
logger.info("db URL:" + tenantUrl + " userid:" + userid);
rptParamValues.put("userid", userid);
final MifosPlatformTenant tenant = ThreadLocalContextUtil.getTenant();
final MifosPlatformTenantConnection tenantConnection = tenant.getConnection();
rptParamValues.put("tenantUrl", tenantUrl);
rptParamValues.put("username", tenantConnection.getSchemaUsername());
rptParamValues.put("password", tenantConnection.getSchemaPassword());
} catch (final Exception e) {
logger.error("error.msg.reporting.error:" + e.getMessage());
throw new PlatformDataIntegrityException("error.msg.reporting.error", e.getMessage());
}
}
@Override
public String retrieveReportPDF(final String reportName, final String type, final Map<String, String> queryParams) {
@@ -0,0 +1,18 @@
package org.mifosplatform.infrastructure.report.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface ReportService {
/**
* @return the type of the report
*/
String type();
}
@@ -0,0 +1,61 @@
package org.mifosplatform.infrastructure.report.provider;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.ArrayUtils;
import org.mifosplatform.infrastructure.report.annotation.ReportService;
import org.mifosplatform.infrastructure.report.service.ReportingProcessService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope("singleton")
public class ReportingProcessServiceProvider implements ApplicationContextAware {
private static final Logger LOGGER = LoggerFactory.getLogger(ReportingProcessServiceProvider.class);
private ApplicationContext applicationContext;
Map<String, String> reportingProcessServices = null;
ReportingProcessServiceProvider() {
super();
}
public ReportingProcessService findReportingProcessService(final String reportType) {
if (this.reportingProcessServices.containsKey(reportType)) { return (ReportingProcessService) this.applicationContext
.getBean(this.reportingProcessServices.get(reportType)); }
return null;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
this.initializeRegistry();
}
private void initializeRegistry() {
if (this.reportingProcessServices == null) {
this.reportingProcessServices = new HashMap<>();
final String[] reportServiceBeans = this.applicationContext.getBeanNamesForAnnotation(ReportService.class);
if (ArrayUtils.isNotEmpty(reportServiceBeans)) {
for (final String reportName : reportServiceBeans) {
LOGGER.info("Register report service '" + reportName + "' ...");
final ReportService service = this.applicationContext.findAnnotationOnBean(reportName, ReportService.class);
try {
this.reportingProcessServices.put(service.type(), reportName);
} catch (final Throwable th) {
LOGGER.error("Unable to register reporting service '" + reportName + "'!", th);
}
}
}
}
}
}
@@ -0,0 +1,15 @@
/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.mifosplatform.infrastructure.report.service;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
public interface ReportingProcessService {
Response processRequest(String reportName, MultivaluedMap<String, String> queryParams);
}
@@ -1,26 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.loan.Officer=Loan Officer
label.column.client=Client
label.column.Loan.Account.No=Loan Account No.
label.column.Product=Product
label.column.Fund=Fund
label.column.Loan.Amount=Loan Amount
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Disbursed.Date=Disbursed Date
label.column.Expected.Matured.On=Expected Matured On
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.groupby.Branch=Branch
label.title.Active.Loans.Details=Active Loans - Details
lable.group.tolat=Total
@@ -1,25 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.No.of.Clients=No. of Clients
label.column.No.Active.Loans=No. Active Loans
label.column.No.of.Loans.in.Arrears=No. of Loans in Arrears
label.column.Total.Loans.Disbursed=Total Loans Disbursed
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Total.Interest=Total Interest
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Total.Fees=Total Fees
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Total.Penalties=Total Penalties
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.column.Portfolio.at.Risk%=Portfolio at Risk %
label.groupby.column.Branch=Branch
label.title.Active.Loans.Details=Active Loan-Summary
@@ -1,25 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.No.of.Clients=No. of Clients
label.column.No.Active.Loans=No. Active Loans
label.column.No.of.Loans.in.Arrears=No. of Loans in Arrears
label.column.Total.Loans.Disbursed=Total Loans Disbursed
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Total.Interest=Total Interest
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Total.Fees=Total Fees
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Total.Penalties=Total Penalties
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.column.Portfolio.at.Risk%=Portfolio at Risk %
lable.title.Active.Loans.Passed.Final.Maturity.Summary=Active Loans Passed Final Maturity Summary
@@ -1,27 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Loan.Officer=Loan Officer
label.column.Client=Client
label.column.Loan.Account.No=Loan Account No.
label.column.Product=Product
label.column.Fund=Fund
label.column.Loan.Amount=Loan Amount
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Disbursed.Date=Disbursed Date
label.column.Expected.Matured.On=Expected Matured On
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
lable.title.Active.Loans.Passed.Final.Maturity=Active Loans Passed Final Maturity
lable.title.group.Branch=Branch
@@ -1,20 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No
label.column.Client=Client
label.column.Loan.Account.No=Loan Account No
label.column.Product=Product
label.column.Fund=Fund
label.column.Loan.Principal.Amount=Loan Principal Amount
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Disbursed.Date=Disbursed Date
label.column.Total.Loan(P+I+F+Pen)=Total Loan (P+I+F+Pen)
label.column.Total.Repaid(P+I+F+Pen)=Total Repaid (P+I+F+Pen)
label.column.Loan.Officer=Loan Officer
label.title.Active.Loans.by.Disbursal.Period=Active Loans by Disbursal Period
lable.grouptotal.by.date=Total
lable.grouptotal.by.Branch= Branch Total
label.groupby.column.Disbursed.Date=Disbursed Date
label.groupby.column.Branch=Branch
lable.title.Disbursal.Period.from=Disbursal Period from
lable.title.Disbursal.Period.to=To
@@ -1,24 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.No.of.Clients=No. of Clients
label.column.No.Active.Loans=No. Active Loans
label.column.No.of.Loans.in.Arrears=No. of Loans in Arrears
label.column.Total.Loans.Disbursed=Total Loans Disbursed
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Total.Interest=Total Interest
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Total.Fees=Total Fees
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Total.Penalties=Total Penalties
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.column.Portfolio.at.Risk%=Portfolio at Risk %
label.groupby.column.Branch=Branch
lable.title.Active.Loans.In.Last.Installment.Summary=Active Loans In Last Installment Summary
@@ -1,26 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Loan.Officer=Loan Officer
label.column.Client.Account.No=Client Account No
label.column.Client=Client
label.column.Loan.Account.No=Loan Account No
label.column.Product=Product
label.column.Fund=Fund
label.column.Loan.Amount=Loan Amount
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Disbursed=Disbursed
label.column.Expected.Matured.On=Expected Matured On
label.column.Principal.Repaid=Principal Repaid
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Repaid=Interest Repaid
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Fees.Repaid=Fees Repaid
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Penalties.Repaid=Penalties Repaid
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.groupby.column.Branch=Branch
lable.title.Active.Loans.In.Last.Installment=Active Loans In Last Installment
@@ -1,16 +0,0 @@
active_loan_summery.=Active Loan Summary per Branch
branch.=Branch
centers.=No of Centers
groups.=No of Groups
clients.=No of Clients
activeloan.=No of Active Loan
loanarrears.=No of Loan in Arrears
disbursed.=Total Loans Disbursed
principalrepaid.=Total Principal Repaid
interestrepaid.=Total Interest Repaid
principaloutstand.=Total Principal Outstanding
interestoutstand.=Total Interest Outstanding
amountarreas.=Amount in Arrears
total.=Total
PrintedBy\:=Printed By :
On\:=On :
@@ -1,20 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No.
label.column.Client.Name=Client Name
label.column.Account.Number=Account Number
label.column.Loan.Amount=Loan Amount
label.column.Original.Principal=Original Principal
label.column.Original.Interest=Original Interest
label.column.Principal.Paid=Principal Paid
label.column.Interest.Paid=Interest Paid
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Overdue=Interest Overdue
label.column.Days.in.Arrears=Days in Arrears
label.column.Weeks.In.Arrears.Band=Weeks In Arrears Band
label.column.Days.in.Arrears.Band=Days in Arrears Band
lable.title.Aging.Detail=Aging Detail
lable.title.group.Branch=Branch
@@ -1,12 +0,0 @@
label.column.currency=currency
label.column.Days.In.Arrears=Days In Arrears
label.column.No.Of.Loans=No Of Loans
label.column.Original.Principal=Original Principal
label.column.Original.Interest=Original Interest
label.column.Principal.Paid=Principal Paid
label.column.Interest.Paid=Interest Paid
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Overdue=Interest Overdue
lable.title.Aging.Summary.Months=Aging Summary (Arrears in Months)
lable.title.group.Branch=Branch
@@ -1,13 +0,0 @@
label.column.Currency=Currency
label.column.Weeks.In.Arrears=Weeks In Arrears(Up To)
label.column.N.Of.Loans=No Of Loans
label.column.Original.Principal=Original Principal
label.column.Original.Interest=Original Interest
label.column.Principal.Paid=Principal Paid
label.column.Interest.Paid=Interest Paid
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Overdue=Interest Overdue
lable.title.Aging.Summary.in.Weeks=Aging Summary (Arrears in Weeks)
lable.title.group.Branch=Branch
@@ -1,10 +0,0 @@
label.column.ID=ID
label.column.Office/Branch=Office/Branch
label.column.Client.Account.No=Client Account No.
label.column.Name=Name
label.column.Status=Status
label.column.Activation=Activation
label.column.External.Id=External Id
lable.title.Client.Listing=Client Listing
lable.title.group.Branch=Branch
@@ -1,19 +0,0 @@
label.column.Transaction.ID=Transaction ID
label.column.Transaction.Date=Transaction Date
label.column.Transaction.Type=Transaction Type
label.column.Debit=Debit
label.column.Credit=Credit
label.column.Balance=Balance
label.column.Reversed=Reversed
lable.title.Saving.Transaction=Client Saving Transaction
lable.title.Transaction.from=From :
lable.title.Saving.Transaction.To= To :
lable.title.Client.Name=Client Name
lable.title.Savings.Account.Name/No=Account Name/No
lable.title.Branch=Branch
lable.title.Staff=Staff
lable.title.Interest=Interest Rate
lable.title.Balance=Balance
PrintedBy\:=Printed by:
On\:=On:
@@ -1,18 +0,0 @@
label.column.Transaction.ID=Transaction Id
label.column.Transaction.Date=Date de transaction
label.column.Transaction.Type=Type de transaction
label.column.Debit=Débit
label.column.Credit=Crédit
label.column.Balance=Solde
label.column.Reversed=Reversed
lable.title.Transaction.from=À partir de la date :
lable.title.Saving.Transaction.To= Jusqu’à la date :
lable.title.Client.Name=Client Nom
lable.title.Savings.Account.Name/No=Account Name/No
lable.title.Branch=Branch
lable.title.Staff=Staff
lable.title.Interest=Interest Rate
lable.title.Balance=Balance
PrintedBy\:=Printed by:
On\:=On:
@@ -1,20 +0,0 @@
collection.=Collection Report
receipt.=Receipt No
group.=Group Name
client.=Clients Name
loanAccNo.=Loan Account No
pricAmt.=Principal Amount
intAmt.=Interest Amount
totalAmt.=Total Receipt Amount
feeAmt.=Fees
penaltyAmt.=Penalty
others.=Others
mifos.=Mifos User
actdate.=Action Date
created.=Created Date
office.=Branch :
ondate.=From :
todate.=To :
PrintedBy\:=Printed by:
On\:=On:
center\:=Center :
@@ -1,23 +0,0 @@
disbursalReport=Disbursal Report
receiptNo=Receipt No:
phoneNo=Phone No:
accountId=Account ID:
clientGroup=Client/Group
loanAmount=Loan Amount
disbDate=Disbursed Date
loanType=Loan Type
loanOfficer=Loan Officer
PrintedBy\:=Printed By :
On\:=On :
center\:=Center :
centerName=Center Name
groupName=Group Name
disbursedAmount=Disbursed Amount
clientName=Client Name
serviceTax=Service Tax
annualSubscription=Annual Subscription
processingFees=Processing Fees
disbursedDate=Disbursed Date
createdDate=Created Date
mifosUser=Mifos User
fees=Fees
@@ -1,20 +0,0 @@
label.column.Office=Office
label.column.Loan.Officer=Loan Officer
label.column.Client.Account.Number=Client Account Number
label.column.Name=Name
label.column.Product=Product
label.column.Loan.Account.Number=Loan Account Number
label.column.Due.Date=Due Date
label.column.Installment=Installment
label.column.Currency=Currency
label.column.Principal.Due=Principal Due
label.column.Interest.Due=Interest Due
label.column.Fees.Due=Fees Due
label.column.Penalty.Due=Penalty Due
label.column.Total.Due=Total Due
label.column.Total.Overdue=Total Overdue
lable.title.Expected.Payments.By.Date.Basic=Expected Payments By Date - Basic
lable.title.group.Branch=Branch
@@ -1,8 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Fund=Fund
label.column.Currency=Currency
label.column.Disbursed.amount=Disbursed_amount
lable.title.Funds.Disbursed.Between.Dates.Summary.by.Office=Funds Disbursed Between Dates Summary by Office
@@ -1,4 +0,0 @@
label.column.Fund=Fund
label.column.Currency=Currency
label.column.disbursed_amount=disbursed_amount
lable.title.Funds.Disbursed.Between.Dates.Summary=Funds Disbursed Between Dates Summary
@@ -1,18 +0,0 @@
lable.detail.Vch_No_Unit=Vch No./Unit
lable.detail.AC.code=GL Code
lable.detail.Account_Description=Account Description
lable.detail.Narration=Description
lable.detail.Debits=Debits
lable.detail.Credits=Credits
lable.detail.Opening_Balance=BALANCE BROUGHT FORWARD (b/f)
lable.detail.Day_Total=Day Total
lable.detail.Closing_Balance=Closing Balance
lable.detail.date=Date
lable.detail.Cash_Book_From=Ledger Report From Date :
lable.detail.Run_Date=Run Date :
lable.detail.Cash_Code= Ledger Account :
lable.header=GENERAL LEDGER REPORT
lable.page=Page No
lable.detail.AfterTxn=Balance
lable.detail.office = Office :
lable.detail.todate = To Date :
@@ -1,20 +0,0 @@
Loan_Account_Statement.=Loan Account Statement
Date.=Date
type.=Type
disbur.=Disbursement
repayment.=Repayment
contra.=Contra
waiveint=WaiveInterest
repaydisbur=Repayment At Disburesement
writeoff.=Write-off
marked_resch.=Marked for Rescheduling
recover.=Recover Repayment
waive_cha.=Waive Charges
apply_char.=Apply charges
apply_int.=Apply Interest
description.=Description
amount.=Amount
principal.=Principal
interest.=Interest
recepit_no.=Recepit No
paymentype.=Payment Type
@@ -1,42 +0,0 @@
title.Loan.Transaction.Receipt=Receipt
label.ClientName=Client Name:
label.ClientAccountNumber=Client Account Number:
label.ProductName=Client Account Title:
label.Operation=Operation:
label.Operation.Deposit=Deposit
label.Operation.Withdrawal=Withdrawal
label.Operation.Amount=Amount:
label.Operation.Amount.InFigures=In Figures:
label.Operation.Amount.InWords=In Words:
label.Operation.Description=Description:
label.receipt.text1=Your account has been
label.receipt.credited=credited
label.receipt.debited=debited
label.receipt.text2= with
label.receipt.text.dot=.
label.receipt.ClientName=Client Name and Signature
label.receipt.TxnDateTime=Date and Time of Transaction:
label.receipt.Operator=Cashier Name:
label.receipt.TxnID=Transaction ID:
txn_type.1=Disbursement
txn_type.2=Repayment
txn_type.3=Contra
txn_type.4=Waive Interest
txn_type.5=Repayment At Disbursement
txn_type.6=Write-Off
txn_type.7=Marked for Rescheduling
txn_type.8=Recovery Repayment
txn_type.9=Waive Charges
txn_type.10=Apply Charges
txn_type.11=Apply Interest
accounting_txn_type.1=debited
accounting_txn_type.2=credited
accounting_txn_type.3=contra-ed
accounting_txn_type.4=credited
accounting_txn_type.5=credited
accounting_txn_type.6=credited
accounting_txn_type.7=credited
accounting_txn_type.8=debited
accounting_txn_type.9=credited
accounting_txn_type.10=debitd
accounting_txn_type.11=debited
@@ -1,12 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Product=Product
label.column.Currency=Currency
label.column.Year=Year
label.column.Month=Month
label.column.Principal=Principal
lable.title.Loans.Awaiting.Disbursal.Summary.by.Month=Loans Awaiting Disbursal Summary by Month
lable.Group.title.Branch=Branch
@@ -1,13 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Product=Product
label.column.Currency=Currency
label.column.Fund=Fund
label.column.Principal=Principal
lable.title.Loans.Awaiting.Disbursal.Summary=Loans Awaiting Disbursal Summary
lable.Group.title.Branch=Branch
@@ -1,24 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Client.Account.No=Client Account No
label.column.Name=Name
label.column.Loan.Account.No=Loan Account No.
label.column.Product=Product
label.column.Fund=Fund
label.column.Currency=Currency
label.column.Principal=Principal
label.column.Term.Frequency=Term Frequency
label.column.Term.Frequency.Period=Term Frequency Period
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Approved=Approved
label.column.Days.to.Disbursal=Days to Disbursal
label.column.Expected.Disbursal=Expected Disbursal
label.column.Loan.Purpose=Loan Purpose
label.column.Loan.Officer=Loan Officer
label.group.title.Branch.Name=Branch Name
lable.title.Loans.Awaiting.Disbursal=Loans Awaiting Disbursal
@@ -1,18 +0,0 @@
label.column.Branch/Office=Branch/Office
label.column.Client.Account.No=Client Account No.
label.column.Client.Name=Client Name
label.column.Currency=Currency
label.column.Product=Product
label.column.Loan.Account.No=Loan Account No.
label.column.Loan.Amount=Loan Amount
label.column.Term.Frequency=Term Frequency
label.column.Term.Frequency.Period=Term Frequency Period
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Days.Pending.Approval=Days Pending Approval
label.column.Loan.Purpose=Loan Purpose
label.column.Loan.Officer=Loan Officer
label.group.title.Branch.Name=Branch Name
lable.title.Loans.Pending.Approval=Loans Pending Approval
@@ -1,22 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No.
label.column.Client=Client
label.column.Loan.Account.No=Loan Account No.
label.column.Product=Product
label.column.Fund=Fund
label.column.Loan.Amount=Loan Amount
label.column.Total.Repaid=Total Repaid
label.column.Annual.Nominal.Interest.Rate=Annual Nominal Interest Rate
label.column.Disbursed=Disbursed
label.column.Closed=Closed
label.column.Principal.Repaid=Principal Repaid
label.column.Interest.Repaid=Interest Repaid
label.column.Fees.Repaid=Fees Repaid
label.column.Penalties.Repaid=Penalties Repaid
label.column.Loan.Officer=Loan Officer
label.group.title.Branch.Name=Branch Name
lable.title.Obligation.Met.Loans.Details=Obligation Met Loans Details
@@ -1,17 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.No.of.Clients=No. of Clients
label.column.Total.Loan.Amount=Total Loan Amount
label.column.Total.Principal.Repaid=Total Principal Repaid
label.column.Total.Interest.Repaid=Total Interest Repaid
label.column.Total.Fees.Repaid=Total Fees Repaid
label.column.Total.Penalties.Repaid=Total Penalties Repaid
label.column.Total.Interest.Waived=Total Interest Waived
label.column.Total.Fees.Waived=Total Fees Waived
label.column.Total.Penalties.Waived=Total Penalties Waived
label.group.title.Branch=Branch
label.column.
lable.title.Obligation.Met.Loans.Summary=Obligation Met Loans Summary
@@ -1,15 +0,0 @@
label.group.title.Branch=Branch
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
lable.title.Portfolio.At.Risk.By.Branch=Portfolio At Risk By Branch
@@ -1,16 +0,0 @@
label.column.Currency=Currency
label.column.Principal.Outstanding=Principal Outstanding
label.column.Principal.Overdue=Principal Overdue
label.column.Interest.Outstanding=Interest Outstanding
label.column.Interest.Overdue=Interest Overdue
label.column.Fees.Outstanding=Fees Outstanding
label.column.Fees.Overdue=Fees Overdue
label.column.Penalties.Outstanding=Penalties Outstanding
label.column.Penalties.Overdue=Penalties Overdue
label.column.Portfolio.at.Risk.per=Portfolio at Risk %
label.group.title.Branch=Branch
lable.title.Portfolio.at.Risk=Portfolio at Risk
@@ -1,17 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No.
label.column.Client.Name=Client Name
label.column.Loan.AccountNo=Loan Account No.
label.column.Product.Name=Product Name
label.column.Disbursed.Date=Disbursed Date
label.column.Written.Off.date=Written Off date
label.column.Loan.Amount=Loan Amount
label.column.Rescheduled.Principal=Rescheduled Principal
label.column.Rescheduled.Interest=Rescheduled Interest
label.column.Rescheduled.Fees=Rescheduled Fees
label.column.Rescheduled.Penalties=Rescheduled Penalties
label.column.Reason.For.Rescheduling=Reason For Rescheduling
label.columnLoan.Officer.Name=Loan Officer Name
label.group.title.Branch=Branch
lable.title.Rescheduled.Loans=Rescheduled Loans
@@ -1,9 +0,0 @@
Saving_Account_Statement.=Saving Account Statement
date.=Date
transaction_type=Transaction type
receipt_number=Receipt no
Description.=Description
Credited.=Credited
Debited.=Debited
Balance.=Balance
transaction.=Patment Type
@@ -1,14 +0,0 @@
label.column.Transaction.ID=Transaction ID
label.column.Transaction.Date=Transaction Date
label.column.Transaction.Type=Transaction Type
label.column.Debit=Debit
label.column.Credit=Credit
label.column.Balance=Balance
label.column.Reversed=Reversed
lable.title.Saving.Transaction=Client Saving Transaction
lable.title.Transaction.from=Transaction From :
lable.title.Saving.Transaction.To= To :
lable.title.Client.Name=Client Name :
lable.title.Savings.Account.Name/No=Account Name/No. :
lable.title.
@@ -1,27 +0,0 @@
title.Saving.Transaction.Receipt=Receipt
label.ClientName=Client Name:
label.ClientAccountNumber=Client Account Number:
label.ProductName=Client Account Title:
label.Operation=Operation:
label.Operation.Deposit=Deposit
label.Operation.Withdrawal=Withdrawal
label.Operation.Amount=Amount:
label.Operation.Amount.InFigures=In Figures:
label.Operation.Amount.InWords=In Words:
label.Operation.Description=Description:
label.receipt.text1=Your account has been
label.receipt.credited=credited
label.receipt.credited=debited
label.receipt.text2= with
label.receipt.text.dot=.
label.receipt.ClientName=Client Name and Signature
label.receipt.TxnDateTime=Date and Time of Transaction:
label.receipt.Operator=Cashier Name:
label.receipt.TxnID=Transaction ID:
txn_type.1=Deposit
txn_type.2=Withdrawal
txn_type.3=Interest Posting
accounting_txn_type.1=credited
accounting_txn_type.2=debited
accounting_txn_type.3=credited
test.msg=Your Account has been $(acc_txn_type) with $(txn_amount, number, "#,###.##")
@@ -1,19 +0,0 @@
label.column.Transaction.Date=Transaction Date
label.column.Transaction.Type=Transaction Type
label.column.Office=Office
label.column.Loan.Officer=Loan Officer
label.column.Loan.Account.No=Loan Account No
label.column.Loan.Product=Loan Product
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No
label.column.Client=Client
label.column.Amount=Amount
label.column.Principal=Principal
label.column.Interest=Interest
label.column.Outstanding.Principal=Outstanding Principal
label.column.Interest.Income=Interest Income
label.column.Principal.Write.Off=Principal Write Off
label.group.title.Branch=Branch
lable.title.Transaction.Running.Balances=Transaction Running Balances
@@ -1,17 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Currency=Currency
label.column.Client.Account.No=Client Account No.
label.column.Client.Name=Client Name
label.column.Loan.Account.No.=Loan Account No.
label.column.Product.Name=Product Name
label.column.Disbursed.Date=Disbursed Date
label.column.Written.Off.date=Written Off date
label.column.Loan.Amount=Loan Amount
label.column.Written.Off.Principal=Written-Off Principal
label.column.Written.Off.Interest=Written-Off Interest
label.column.Written.Off.Fees=Written-Off Fees
label.column.Written.Off.Penalties=Written-Off Penalties
label.column.Reason.For.Write.Off=Reason For Write-Off
label.column.Loan.Officer.Name=Loan Officer Name
label.group.title.Branch=Branch
label.title.Written.Off.Loans=Written-Off Loans
@@ -1,15 +0,0 @@
balanceOutstanding=Balance Outstanding
accountId=Account ID:
clientGroup=Client/Group
loanAmount=Loan Amount
balance=Balance
loanStatus=Loan Status
disbDate=Disbursed Date
gender=Gender
loanType=Loan Type
fundSource=Fund Source
loanOfficer=Loan Officer
PrintedBy\:=Printed By :
On\:=On :
center\:=Center :
loanpurpose.=Loan Purpose
@@ -1,13 +0,0 @@
balanceSheet=Balance Sheet
glcode=GL CODE
name=Name
balance=Balance
assets=Assets
totalAssets=Total Assets :
liability=Liabilities
totalLiabilities=Total Liabilities :
equity=Equities
totalEquities=Total Equities :
branchName=Branch :
asOn=As On :
retainedEarnings=Retained Earnings
@@ -1,21 +0,0 @@
BranchExpectedCashFlow=Branch Expected Cash Flow
From=From :
To=To:
Office=Office:
Currency=Currency :
Date=Date
ExpectedCashIn=Expected Cash In
ExpectedCashOut=Expected Cash Out
Principle=Principle
Interest=Interest
ClientFees=CLient Fees
LoanFees=Loan Fees
Penalty=Penalty
LoanDisbursals=Loan Disbursals
NetExpectedCashOut=Net Expected Cash Out
Total=Total :
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
VersionAt=Version 1.3.1
@@ -1,43 +0,0 @@
label.column.Office/Branch=Office/Branch
label.column.Client.Account.No=Client Account No.
label.column.Name=Name
label.column.Client.Status=Client Status
label.column.Loan.Officer=Loan Officer
label.column.Loan.Account.No=Loan Account No.
label.column.External.Id=External Id
label.column.Loan=Loan
label.column.Status=Status
label.column.Fund=Fund
label.column.Loan.Purpose=Loan Purpose
label.column.Currency=Currency
label.column.principal_amount=principal_amount
label.column.Arrears.Tolerance.Amount=Arrears Tolerance Amount
label.column.principal_amount=principal_amount
label.column.Annual_Nominal.Interest_Rate=Annual_Nominal Interest_Rate
label.column.Nominal.Interest.Rate.Per.Period=Nominal Interest Rate Per Period
label.column.Interest.Rate.Frequency=Interest Rate Frequency
label.column.Interest.Method=Interest Method
label.column.Interest.Calculated.in.Period=Interest Calculated in Period
label.column.Term.Frequency=Term Frequency
label.column.Term.Frequency.Period=Term Frequency Period
label.column.Repayment.Frequency=Repayment Frequency
label.column.Repayment.Frequency.Period=Repayment Frequency Period
label.column.Amortization=Amortization
label.column.Total.Charges.Due.At.Disbursement=Total Charges Due At Disbursement
label.column.Submitted=Submitted
label.column.Approved=Approved
label.column.Expected.Disbursal=Expected Disbursal
label.column.Expected.First.Repayment=Expected First Repayment
label.column.Interest.Calculated.From=Interest Calculated From
label.column.Disbursed=Disbursed
label.column.Expected.Maturity=Expected Maturity
label.column.Matured.On=Matured On
label.column.Closed=Closed
label.column.Rejected=Rejected
label.column.Rescheduled=Rescheduled
label.column.Withdrawn=Withdrawn
label.column.Written.Off=Written Off
label.column.
label.groupby.Branch=Branch
label.title.Client.Loans.Listing=Client Loans Listing
@@ -1,19 +0,0 @@
clientSavingsSummary=Client Savings Summary
transactionDate=Transaction Date
details=Details
totalDebits=Total Debits
totalCredits=Total Credits
withdrawal=Withdrawal
balance=Balance
balancebf=Balance B/F
From=From :
To=To:
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
VersionAt=Version 1.3.1
accountNo=Account No:
clientName=Client Name
product=Product
Total=Total :
@@ -1,23 +0,0 @@
ExpectedPaymentsByDate=Expected Payments By Date
From=From :
To=To:
Office=Office :
DueDate=Due Date :
ClientName=Client Name
LoanAccountNo=Loan Account No:
Product=Product
Installment=Installment
Date=Date
Principal=Principal
LoanOfficer=Loan Officer
Interest=Interest
FeesDue=Fees Due
PenaltyDue=Penalty Due
TotalDue=Total Due
TotalOverDue=Total Over Due
Total=Total :
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
VersionAt=Version 1.3.1
@@ -1,15 +0,0 @@
incomeStatement=Income Statement
glcode=GL CODE
name=Name
balance=Balance
income=Income
totalIncome=Total Income :
expenses=Expenses
totalExpenses=Total Expenses :
netIncome=Net Income :
branchName=Branch :
period=Period:
to=To
PrintedBy\:=Printed by:
On\:=On:
Page=Page
@@ -1,33 +0,0 @@
loanAccountSchedule=Loan Account Schedule
Office=Office :
LoanOfficer=Loan Officer :
ClientName=Client Name :
FileID=File ID :
LoanAccountNumber=Loan Account Number :
LoanAmount=Loan Amount :
DisbursalDate=Disbursal Date :
NoOfInstallments=Number Of Installments :
InterestRate=Interest Rate :
Installment=Installment
Currency=Currency :
PrincipleDue=Principle Due
InterestDue=Interest Due
FeesDue=Fees Due
PenaltyDue=Penalty Due
TotalDue=Total Due
DateExpected=Date Expected
Status=Status
Total=Total :
ActivityDetails=Activity Details
Date=Date
Comment=Comment
Principle=Principle
Interest=Interest
Fees=Fees
Penalty=Penalty
TotalPaid=Total Paid
TotalOutstanding=Total Outstanding
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
@@ -1,33 +0,0 @@
loanAccountSchedule=Loan Account Schedule
Office=Bureau :
LoanOfficer=Agent de crédit :
ClientName=Client Name :
FileID=File ID :
LoanAccountNumber=Compte de prêt# :
LoanAmount=Loan Amount :
DisbursalDate=Décaisser Date :
NoOfInstallments=Number Of Installments :
InterestRate=Interest Rate :
Installment=Installment
Currency=la devise :
PrincipleDue=Capital dû
InterestDue=Intérêts dus
FeesDue=Fees Due
PenaltyDue=Penalty Due
TotalDue=Total dû
DateExpected=Date Expected
Status=Status
Total=Total :
ActivityDetails=Activity Details
Date=Date
Comment=Commentaire
Principle=Capital
Interest=Intérêt
Fees=Frais
Penalty=Pénalité
TotalPaid=Total Payé
TotalOutstanding=Total Impayé
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
@@ -1,16 +0,0 @@
savingsTransactions=Savings Transactions
transactionDate=Transaction Date
details=Details
deposit=Deposit
withdrawal=Withdrawal
balance=Balance
From=From :
To=To:
PrintedBy\:=Printed by:
On\:=On:
MFIName\:=MFI Name:
Page=Page
VersionAt=Version 1.3.1
accountNo=Account No:
clientName=Client Name
product=Product

Some files were not shown because too many files have changed in this diff Show More