+
+
Fees to Specific Income Accounts
+
+
+
+
+ | Fees |
+
+ {{ feesIncome.chargeId | find:savingProductsTemplate.chargeOptions:'id':'name' }}
+ |
+
+
+
+ Income Account |
+
+ {{ feesIncome.incomeAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
+ |
+
+
+
+
+
+
-
-
Saving control:
-
{{ savingProduct.savingsControlAccountId | find:savingProductsTemplate.accountingMappingOptions.liabilityAccountOptions:'id':'name' }}
-
Savings transfers in suspense:
-
{{ savingProduct.transfersInSuspenseAccountId | find:savingProductsTemplate.accountingMappingOptions.liabilityAccountOptions:'id':'name' }}
-
- Escheat liability:
- {{ savingProduct.escheatLiabilityId | find:savingProductsTemplate.accountingMappingOptions.liabilityAccountOptions:'id':'name' }}
-
-
Expenses
+
-
- Interest on savings:
- {{ savingProduct.interestOnSavingsAccountId | find:savingProductsTemplate.accountingMappingOptions.expenseAccountOptions:'id':'name' }}
- Write-off:
- {{ savingProduct.writeOffAccountId | find:savingProductsTemplate.accountingMappingOptions.expenseAccountOptions:'id':'name' }}
-
+
Penalties to Specific Income Accounts
-
Income
+
-
- Income from fees:
- {{ savingProduct.incomeFromFeeAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
- Income from penalties:
- {{ savingProduct.incomeFromPenaltyAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
- Overdraft Interest Income:
- {{ savingProduct.incomeFromInterestId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
-
+
+ Penalty |
+
+ {{ penaltyIncome.chargeId | find:savingProductsTemplate.penaltyOptions:'id':'name' }}
+ |
+
-
+
+ Income Account |
+
+ {{ penaltyIncome.incomeAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
+ |
+
-
Advanced Accounting Rules
+
|
+
|
-
-
-
-
-
Fund Sources for Payment Channels
-
-
-
-
- | Payment Type |
-
- {{ paymentFundSource.paymentTypeId | find:savingProductsTemplate.paymentTypeOptions:'id':'name' }}
- |
-
-
-
- Fund Source |
-
- {{ paymentFundSource.fundSourceAccountId | find:savingProductsTemplate.accountingMappingOptions.assetAccountOptions:'id':'name' }}
- |
-
-
-
-
-
-
-
-
-
-
-
-
Fees to Specific Income Accounts
-
-
-
-
- | Fees |
-
- {{ feesIncome.chargeId | find:savingProductsTemplate.chargeOptions:'id':'name' }}
- |
-
-
-
- Income Account |
-
- {{ feesIncome.incomeAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
- |
-
-
-
-
-
-
-
-
-
-
-
-
Penalties to Specific Income Accounts
-
-
-
-
- | Penalty |
-
- {{ penaltyIncome.chargeId | find:savingProductsTemplate.penaltyOptions:'id':'name' }}
- |
-
-
-
- Income Account |
-
- {{ penaltyIncome.incomeAccountId | find:savingProductsTemplate.accountingMappingOptions.incomeAccountOptions:'id':'name' }}
- |
-
-
-
-
-
-
-
-
+
diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.scss b/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.scss
index 87258dacb..5426ff16b 100644
--- a/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.scss
+++ b/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.scss
@@ -1,5 +1,47 @@
+@import "assets/styles/helper";
+
+.tab-container {
+ padding: 1%;
+ margin: 1%;
+}
+
+.mat-h3 {
+ margin-top: 10px !important;
+ font-weight: 300;
+ color: $status-approved;
+}
+
+.mat-elevation-z1 {
+ margin: 1em 0 1.5em 0;
+}
+
+.interestCarts {
+ float:right;
+}
+
table {
width: 100%;
+
+ tr.incentives-row {
+ height: 0;
+
+ > td {
+ padding: 0;
+ }
+
+ .incentives {
+ overflow: hidden;
+ }
+
+ .mat-card {
+ border-radius: 0;
+
+ > h4 {
+ font-weight: 500;
+ margin: 0.5em 0 0;
+ }
+ }
+ }
}
.mat-elevation-z1 {
diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.ts b/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.ts
index 4e663f609..e661df60b 100644
--- a/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.ts
+++ b/src/app/products/saving-products/saving-product-stepper/saving-product-preview-step/saving-product-preview-step.component.ts
@@ -1,11 +1,13 @@
-import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
+import { Accounting } from 'app/core/utils/accounting';
+import { OptionData } from 'app/shared/models/option-data.model';
@Component({
selector: 'mifosx-saving-product-preview-step',
templateUrl: './saving-product-preview-step.component.html',
styleUrls: ['./saving-product-preview-step.component.scss']
})
-export class SavingProductPreviewStepComponent implements OnInit {
+export class SavingProductPreviewStepComponent implements OnInit, OnChanges {
@Input() savingProductsTemplate: any;
@Input() accountingRuleData: any;
@@ -17,9 +19,56 @@ export class SavingProductPreviewStepComponent implements OnInit {
paymentFundSourceDisplayedColumns: string[] = ['paymentTypeId', 'fundSourceAccountId'];
feesPenaltyIncomeDisplayedColumns: string[] = ['chargeId', 'incomeAccountId'];
- constructor() { }
+ accountingMappings: any = {};
+ accountingRule: OptionData;
+
+ constructor(private accounting: Accounting) { }
ngOnInit() {
+ this.setCurrentValues();
+ }
+
+ ngOnChanges(changes: SimpleChanges): void {
+ this.setCurrentValues();
+ }
+
+ setCurrentValues(): void {
+
+ if (this.isCashOrAccrualAccounting()) {
+ this.accountingRule = this.accounting.getAccountingRuleFrom(this.savingProduct.accountingRule);
+
+ const assetAccountData = this.savingProductsTemplate.accountingMappingOptions.assetAccountOptions || [];
+ const incomeAccountData = this.savingProductsTemplate.accountingMappingOptions.incomeAccountOptions || [];
+ const expenseAccountData = this.savingProductsTemplate.accountingMappingOptions.expenseAccountOptions || [];
+ const liabilityAccountData = this.savingProductsTemplate.accountingMappingOptions.liabilityAccountOptions || [];
+
+ this.accountingMappings = {
+ 'savingsReferenceAccount': this.accounting.glAccountLookUp(this.savingProduct.savingsReferenceAccountId, assetAccountData),
+ 'overdraftPortfolioControl': this.accounting.glAccountLookUp(this.savingProduct.overdraftPortfolioControlId, assetAccountData),
+ 'savingsControlAccount': this.accounting.glAccountLookUp(this.savingProduct.savingsControlAccountId, liabilityAccountData),
+ 'transfersInSuspenseAccount': this.accounting.glAccountLookUp(this.savingProduct.transfersInSuspenseAccountId, liabilityAccountData),
+ 'escheatLiability': this.accounting.glAccountLookUp(this.savingProduct.escheatLiabilityId, liabilityAccountData),
+ 'interestOnSavingsAccount': this.accounting.glAccountLookUp(this.savingProduct.interestOnSavingsAccountId, expenseAccountData),
+ 'writeOffAccount': this.accounting.glAccountLookUp(this.savingProduct.writeOffAccountId, expenseAccountData),
+ 'incomeFromFeeAccount': this.accounting.glAccountLookUp(this.savingProduct.incomeFromFeeAccountId, incomeAccountData),
+ 'incomeFromPenaltyAccount': this.accounting.glAccountLookUp(this.savingProduct.incomeFromPenaltyAccountId, incomeAccountData),
+ 'incomeFromInterest': this.accounting.glAccountLookUp(this.savingProduct.incomeFromInterestId, incomeAccountData)
+ };
+
+ if (this.isAccrualAccounting()) {
+ this.accountingMappings['feesReceivableAccount'] = this.accounting.glAccountLookUp(this.savingProduct.feesReceivableAccountId, assetAccountData);
+ this.accountingMappings['penaltiesReceivableAccount'] = this.accounting.glAccountLookUp(this.savingProduct.penaltiesReceivableAccountId, assetAccountData);
+ this.accountingMappings['interestPayableAccount'] = this.accounting.glAccountLookUp(this.savingProduct.interestPayableAccountId, liabilityAccountData);
+ }
+ }
+ }
+
+ isCashOrAccrualAccounting(): boolean {
+ return this.accounting.isAccrualAccountingRuleId(this.savingProduct.accountingRule);
+ }
+
+ isAccrualAccounting(): boolean {
+ return this.accounting.isAccrualAccounting(this.savingProduct.accountingRule);
}
}
diff --git a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.html b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.html
index 1b54379dc..ec8038944 100644
--- a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.html
+++ b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.html
@@ -201,145 +201,103 @@
-
- Type:
- {{ savingProduct.accountingRule.value }}
-
+
+
+
+
-
+
Advanced Accounting Rules
-
{{'labels.heading.Assets' | translate}}
-
-
-
-
+
-
{{'labels.heading.Income' | translate}}
-
-
-
-
-
-
+
-
{{'labels.heading.Expenses' | translate}}
-
-
-
-
+
Fund Sources for Payment Channels
-
{{'labels.heading.Liabilities' | translate}}
-
-
-
-
-
-
+
-
+
+ Payment Type |
+
+ {{ paymentFundSource.paymentType.name }}
+ |
+
-
Advanced Accounting Rules
+
+ Fund Source |
+
+ ({{ paymentFundSource.fundSourceAccount.glCode }}) {{ paymentFundSource.fundSourceAccount.name }}
+ |
+
-
+
|
+
|
-
+
-
Fund Sources for Payment Channels
+
-
+
-
- Payment Type |
-
- {{ paymentFundSource.paymentType.name }}
- |
-
+
Fees to Specific Income Accounts
-
- Fund Source |
-
- ({{ paymentFundSource.fundSourceAccount.glCode }}) {{ paymentFundSource.fundSourceAccount.name }}
- |
-
+
-
-
+
+ Fees |
+
+ {{ feesIncome.charge.name }}
+ |
+
-
+
+ Income Account |
+
+ ({{ feesIncome.incomeAccount.glCode }}) {{ feesIncome.incomeAccount.name }}
+ |
+
-
+
+
-
+
-
Fees to Specific Income Accounts
+
-
+
-
- Fees |
-
- {{ feesIncome.charge.name }}
- |
-
+
Penalties to Specific Income Accounts
-
- Income Account |
-
- ({{ feesIncome.incomeAccount.glCode }}) {{ feesIncome.incomeAccount.name }}
- |
-
+
-
-
+
+ Penalty |
+
+ {{ penaltyIncome.charge.name }}
+ |
+
-
+
+ Income Account |
+
+ ({{ penaltyIncome.incomeAccount.glCode }}) {{ penaltyIncome.incomeAccount.name }}
+ |
+
-
+
+
-
-
-
Penalties to Specific Income Accounts
-
-
-
-
- | Penalty |
-
- {{ penaltyIncome.charge.name }}
- |
-
-
-
- Income Account |
-
- ({{ penaltyIncome.incomeAccount.glCode }}) {{ penaltyIncome.incomeAccount.name }}
- |
-
-
-
-
-
-
-
-
+
diff --git a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.scss b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.scss
index e71120a64..27927fffa 100644
--- a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.scss
+++ b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.scss
@@ -3,10 +3,6 @@
.tab-container {
padding: 1%;
margin: 1%;
-
- div: {
- margin-top: 3px;
- }
}
.mat-h3 {
@@ -14,3 +10,53 @@
font-weight: 300;
color: $status-approved;
}
+
+.interestCarts {
+ float:right;
+}
+
+table {
+ width: 100%;
+
+ tr.incentives-row {
+ height: 0;
+
+ > td {
+ padding: 0;
+ }
+
+ .incentives {
+ overflow: hidden;
+ }
+
+ .mat-card {
+ border-radius: 0;
+
+ > h4 {
+ font-weight: 500;
+ margin: 0.5em 0 0;
+ }
+ }
+ }
+}
+
+.mat-elevation-z1 {
+ margin: 1em 0 1.5em 0;
+}
+
+h2, h3, h4 {
+ margin: 0;
+ font-weight: 500;
+}
+
+span {
+ margin: 0.5em 0;
+}
+
+mat-divider {
+ margin: 0 0 0.5em 0;
+}
+
+.margin-t {
+ margin-top: 1em;
+}
diff --git a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.ts b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.ts
index 85ea528c3..9adab5d2d 100644
--- a/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.ts
+++ b/src/app/products/saving-products/view-saving-product/saving-product-general-tab/saving-product-general-tab.component.ts
@@ -1,5 +1,6 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
+import { Accounting } from 'app/core/utils/accounting';
@Component({
selector: 'mifosx-saving-product-general-tab',
@@ -13,7 +14,8 @@ export class SavingProductGeneralTabComponent implements OnInit {
paymentFundSourceDisplayedColumns: string[] = ['paymentTypeId', 'fundSourceAccountId'];
feesPenaltyIncomeDisplayedColumns: string[] = ['chargeId', 'incomeAccountId'];
- constructor(private route: ActivatedRoute) {
+ constructor(private route: ActivatedRoute,
+ private accounting: Accounting) {
this.route.data.subscribe((data: { savingProduct: any }) => {
this.savingProduct = data.savingProduct;
});
@@ -21,4 +23,13 @@ export class SavingProductGeneralTabComponent implements OnInit {
ngOnInit() {
}
+
+ isCashOrAccrualAccounting(): boolean {
+ return this.accounting.isCashOrAccrualAccounting(this.savingProduct.accountingRule);
+ }
+
+ isAccrualAccounting(): boolean {
+ return this.accounting.isAccrualAccounting(this.savingProduct.accountingRule);
+ }
+
}
diff --git a/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.html b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.html
new file mode 100644
index 000000000..59c8655b2
--- /dev/null
+++ b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.html
@@ -0,0 +1,59 @@
+
+
+
+ Type:
+ {{ accountingRule.value }}
+
+
+
+
+
{{'labels.heading.Assets' | translate}}
+
+
+
+
+
+
+
+
+
+ {{'labels.heading.Liabilities' | translate}}
+
+
+
+
+
+
+
+
+
+ {{'labels.heading.Income' | translate}}
+
+
+
+
+
+
+
+ {{'labels.heading.Expenses' | translate}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.scss b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.scss
new file mode 100644
index 000000000..683cea090
--- /dev/null
+++ b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.scss
@@ -0,0 +1,59 @@
+@import "assets/styles/colours";
+
+.container {
+ padding: 1%;
+ margin: 1%;
+ width: 100%;
+}
+
+table {
+ width: 100%;
+
+ tr.incentives-row {
+ height: 0;
+
+ > td {
+ padding: 0;
+ }
+
+ .incentives {
+ overflow: hidden;
+ }
+
+ .mat-card {
+ border-radius: 0;
+
+ > h4 {
+ font-weight: 500;
+ margin: 0.5em 0 0;
+ }
+ }
+ }
+}
+
+.mat-h4 {
+ margin-top: 10px !important;
+ font-weight: 200;
+ color: $status-approved;
+}
+
+.mat-elevation-z1 {
+ margin: 1em 0 1.5em 0;
+}
+
+h2, h3, h4 {
+ margin: 0;
+ font-weight: 500;
+}
+
+span {
+ margin: 0.5em 0;
+}
+
+mat-divider {
+ margin: 0 0 0.5em 0;
+}
+
+.margin-t {
+ margin-top: 1em;
+}
diff --git a/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.spec.ts b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.spec.ts
new file mode 100644
index 000000000..8c71cc91f
--- /dev/null
+++ b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ViewSavingsAccountingDetailsComponent } from './view-savings-accounting-details.component';
+
+describe('ViewSavingsAccountingDetailsComponent', () => {
+ let component: ViewSavingsAccountingDetailsComponent;
+ let fixture: ComponentFixture
;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ ViewSavingsAccountingDetailsComponent ]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(ViewSavingsAccountingDetailsComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.ts b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.ts
new file mode 100644
index 000000000..4ccbafe94
--- /dev/null
+++ b/src/app/shared/accounting/view-savings-accounting-details/view-savings-accounting-details.component.ts
@@ -0,0 +1,28 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { Accounting } from 'app/core/utils/accounting';
+import { OptionData } from 'app/shared/models/option-data.model';
+
+@Component({
+ selector: 'mifosx-view-savings-accounting-details',
+ templateUrl: './view-savings-accounting-details.component.html',
+ styleUrls: ['./view-savings-accounting-details.component.scss']
+})
+export class ViewSavingsAccountingDetailsComponent implements OnInit {
+
+ @Input() accountingRule: OptionData;
+ @Input() accountingMappings: any[] = [];
+
+ constructor(private accounting: Accounting) { }
+
+ ngOnInit(): void {
+ }
+
+ isCashOrAccrualAccounting(): boolean {
+ return this.accounting.isCashOrAccrualAccounting(this.accountingRule);
+ }
+
+ isAccrualAccounting(): boolean {
+ return this.accounting.isAccrualAccounting(this.accountingRule);
+ }
+
+}
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
index 7cb5fdb27..823029010 100644
--- a/src/app/shared/shared.module.ts
+++ b/src/app/shared/shared.module.ts
@@ -45,6 +45,7 @@ import { TransactionPaymentDetailComponent } from './transaction-payment-detail/
import { StepperButtonsComponent } from './steppers/stepper-buttons/stepper-buttons.component';
import { GlAccountSelectorComponent } from './accounting/gl-account-selector/gl-account-selector.component';
import { GlAccountDisplayComponent } from './accounting/gl-account-display/gl-account-display.component';
+import { ViewSavingsAccountingDetailsComponent } from './accounting/view-savings-accounting-details/view-savings-accounting-details.component';
/**
* Shared Module
@@ -96,7 +97,8 @@ import { GlAccountDisplayComponent } from './accounting/gl-account-display/gl-ac
TransactionPaymentDetailComponent,
StepperButtonsComponent,
GlAccountSelectorComponent,
- GlAccountDisplayComponent
+ GlAccountDisplayComponent,
+ ViewSavingsAccountingDetailsComponent
],
exports: [
FileUploadComponent,
@@ -126,7 +128,8 @@ import { GlAccountDisplayComponent } from './accounting/gl-account-display/gl-ac
TransactionPaymentDetailComponent,
StepperButtonsComponent,
GlAccountSelectorComponent,
- GlAccountDisplayComponent
+ GlAccountDisplayComponent,
+ ViewSavingsAccountingDetailsComponent,
]
})
export class SharedModule { }
diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json
index ab0a13ac2..9370a1bfd 100644
--- a/src/assets/translations/cs-CS.json
+++ b/src/assets/translations/cs-CS.json
@@ -474,6 +474,7 @@
"Transfer Client": "Převést klienta",
"Transfer Clients": "Převod klientů",
"Unassign Staff": "Zrušit přidělení personálu",
+ "Undo": "vrátit",
"Undo Rejection": "Zrušit odmítnutí",
"Undo Transfer": "Vrátit zpět převod",
"Update Default Savings": "Aktualizovat výchozí úspory",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Doby odkladu úroků",
"Interest Method": "Zájmová metoda",
"Interest Outstanding": "Neuvěřitelný zájem",
+ "Interest Payable": "Zájem päyable",
"Interest Posted": "Zájem zveřejněn",
"Interest Posting Period": "Období účtování úroků",
"Interest Posting period": "Úrokové období zveřejnění",
diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json
index 33de38b57..2da85d559 100644
--- a/src/assets/translations/de-DE.json
+++ b/src/assets/translations/de-DE.json
@@ -474,6 +474,7 @@
"Transfer Client": "Client übertragen",
"Transfer Clients": "Kunden übertragen",
"Unassign Staff": "Personalzuweisung aufheben",
+ "Undo": "Rückgängig machen",
"Undo Rejection": "Ablehnung rückgängig machen",
"Undo Transfer": "Übertragung rückgängig machen",
"Update Default Savings": "Standardeinsparungen aktualisieren",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Zinsschonfristen",
"Interest Method": "Zinsmethode",
"Interest Outstanding": "Ausstehende Zinsen",
+ "Interest Payable": "Interesse päylierbar",
"Interest Posted": "Interesse gepostet",
"Interest Posting Period": "Zinsbuchungszeitraum",
"Interest Posting period": "Zinsbuchungszeitraum",
diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json
index ded9ae1ab..7ead816a5 100644
--- a/src/assets/translations/en-US.json
+++ b/src/assets/translations/en-US.json
@@ -474,6 +474,7 @@
"Transfer Client": "Transfer Client",
"Transfer Clients": "Transfer Clients",
"Unassign Staff": "Unassign Staff",
+ "Undo": "Undo",
"Undo Rejection": "Undo Rejection",
"Undo Transfer": "Undo Transfer",
"Update Default Savings": "Update Default Savings",
@@ -1398,6 +1399,7 @@
"Interest Grace Periods": "Interest Grace Periods",
"Interest Method": "Interest Method",
"Interest Outstanding": "Interest Outstanding",
+ "Interest Payable": "Interest Payable",
"Interest Posted": "Interest Posted",
"Interest Posting Period": "Interest Posting Period",
"Interest Posting period": "Interest Posting period",
diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json
index f6a691cf8..069a31a0b 100644
--- a/src/assets/translations/es-MX.json
+++ b/src/assets/translations/es-MX.json
@@ -474,6 +474,7 @@
"Transfer Client": "Transferir cliente",
"Transfer Clients": "Transferir Clientes",
"Unassign Staff": "Desasignar personal",
+ "Undo": "Deshacer",
"Undo Rejection": "Deshacer rechazo",
"Undo Transfer": "Deshacer transferencia",
"Update Default Savings": "Actualizar ahorros predeterminados",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Períodos de gracia de intereses",
"Interest Method": "Método de interés",
"Interest Outstanding": "Interés pendiente",
+ "Interest Payable": "Intereses a pagar",
"Interest Posted": "Interés publicado",
"Interest Posting Period": "Período de contabilización de intereses",
"Interest Posting period": "Periodo de contabilización de intereses",
diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json
index ab9847f07..549959bc8 100644
--- a/src/assets/translations/fr-FR.json
+++ b/src/assets/translations/fr-FR.json
@@ -474,6 +474,7 @@
"Transfer Client": "Client de transfert",
"Transfer Clients": "Transférer des clients",
"Unassign Staff": "Annuler l'affectation du personnel",
+ "Undo": "annuler",
"Undo Rejection": "Annuler le rejet",
"Undo Transfer": "Annuler le transfert",
"Update Default Savings": "Mettre à jour les économies par défaut",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Délais de grâce des intérêts",
"Interest Method": "Méthode d'intérêt",
"Interest Outstanding": "Intérêts impayés",
+ "Interest Payable": "Intérêts payables",
"Interest Posted": "Intérêt affiché",
"Interest Posting Period": "Période de comptabilisation des intérêts",
"Interest Posting period": "Période de comptabilisation des intérêts",
diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json
index f0585cbcb..cf3c4a401 100644
--- a/src/assets/translations/it-IT.json
+++ b/src/assets/translations/it-IT.json
@@ -474,6 +474,7 @@
"Transfer Client": "Trasferisci cliente",
"Transfer Clients": "Trasferisci clienti",
"Unassign Staff": "Annulla assegnazione del personale",
+ "Undo": "Disfare",
"Undo Rejection": "Annulla rifiuto",
"Undo Transfer": "Annulla trasferimento",
"Update Default Savings": "Aggiorna i risparmi predefiniti",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Periodi di grazia degli interessi",
"Interest Method": "Metodo degli interessi",
"Interest Outstanding": "Interessi in sospeso",
+ "Interest Payable": "Interesse päyable",
"Interest Posted": "Interesse pubblicato",
"Interest Posting Period": "Periodo di registrazione degli interessi",
"Interest Posting period": "Periodo di registrazione degli interessi",
diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json
index a24fe901d..2552529a4 100644
--- a/src/assets/translations/ko-KO.json
+++ b/src/assets/translations/ko-KO.json
@@ -474,6 +474,7 @@
"Transfer Client": "클라이언트 이전",
"Transfer Clients": "클라이언트 이전",
"Unassign Staff": "직원 할당 해제",
+ "Undo": "실행 취소",
"Undo Rejection": "거부 취소",
"Undo Transfer": "전송 취소",
"Update Default Savings": "기본 절감액 업데이트",
@@ -1400,6 +1401,7 @@
"Interest Grace Periods": "이자 유예 기간",
"Interest Method": "이자방식",
"Interest Outstanding": "미결제 이자",
+ "Interest Payable": "관심있는 관심",
"Interest Posted": "게시된 관심",
"Interest Posting Period": "이자 공시 기간",
"Interest Posting period": "이자 공시 기간",
diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json
index 214715ada..628f46d36 100644
--- a/src/assets/translations/lt-LT.json
+++ b/src/assets/translations/lt-LT.json
@@ -474,6 +474,7 @@
"Transfer Client": "Perkelti klientą",
"Transfer Clients": "Klientų perkėlimas",
"Unassign Staff": "Atšaukti personalo priskyrimą",
+ "Undo": "Anuliuoti",
"Undo Rejection": "Anuliuoti atmetimą",
"Undo Transfer": "Anuliuoti perkėlimą",
"Update Default Savings": "Atnaujinkite numatytuosius taupymo elementus",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Palūkanų lengvatinis laikotarpis",
"Interest Method": "Palūkanų metodas",
"Interest Outstanding": "Susidomėjimas išskirtinis",
+ "Interest Payable": "Mokėtinos palūkanos",
"Interest Posted": "Paskelbtas susidomėjimas",
"Interest Posting Period": "Interesų skelbimo laikotarpis",
"Interest Posting period": "Interesų paskelbimo laikotarpis",
diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json
index 381cfdd82..ca22a847e 100644
--- a/src/assets/translations/lv-LV.json
+++ b/src/assets/translations/lv-LV.json
@@ -474,6 +474,7 @@
"Transfer Client": "Pārsūtīt klientu",
"Transfer Clients": "Pārsūtīt klientus",
"Unassign Staff": "Atcelt personāla piešķiršanu",
+ "Undo": "Atsaukt",
"Undo Rejection": "Atsaukt noraidījumu",
"Undo Transfer": "Atsaukt pārsūtīšanu",
"Update Default Savings": "Atjauniniet noklusējuma ietaupījumus",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Procentu labvēlības periodi",
"Interest Method": "Interešu metode",
"Interest Outstanding": "Interese Izcila",
+ "Interest Payable": "Procenti Päyable",
"Interest Posted": "Interese publicēta",
"Interest Posting Period": "Interešu publicēšanas periods",
"Interest Posting period": "Interešu publicēšanas periods",
diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json
index 645285d13..8bcb58717 100644
--- a/src/assets/translations/ne-NE.json
+++ b/src/assets/translations/ne-NE.json
@@ -474,6 +474,7 @@
"Transfer Client": "ग्राहक स्थानान्तरण",
"Transfer Clients": "ग्राहक हस्तान्तरण",
"Unassign Staff": "कर्मचारी नियुक्ति रद्द गर्नुहोस्",
+ "Undo": "पूर्वकार्य",
"Undo Rejection": "अस्वीकार अनडू गर्नुहोस्",
"Undo Transfer": "स्थानान्तरण अनडू गर्नुहोस्",
"Update Default Savings": "पूर्वनिर्धारित बचत अद्यावधिक गर्नुहोस्",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "ब्याज अनुग्रह अवधिहरू",
"Interest Method": "ब्याज विधि",
"Interest Outstanding": "बकाया ब्याज",
+ "Interest Payable": "ब्याज päyy",
"Interest Posted": "चासो पोस्ट गरियो",
"Interest Posting Period": "रुचि पोस्टिङ अवधि",
"Interest Posting period": "ब्याज पोस्टिङ अवधि",
diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json
index ad24e51bd..a7a0664f9 100644
--- a/src/assets/translations/pt-PT.json
+++ b/src/assets/translations/pt-PT.json
@@ -474,6 +474,7 @@
"Transfer Client": "Cliente de transferência",
"Transfer Clients": "Transferir clientes",
"Unassign Staff": "Cancelar atribuição de equipe",
+ "Undo": "Desfazer",
"Undo Rejection": "Desfazer rejeição",
"Undo Transfer": "Desfazer transferência",
"Update Default Savings": "Atualizar economia padrão",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Períodos de carência de juros",
"Interest Method": "Método de juros",
"Interest Outstanding": "Juros pendentes",
+ "Interest Payable": "Juros a pagar",
"Interest Posted": "Interesse Postado",
"Interest Posting Period": "Período de postagem de juros",
"Interest Posting period": "Período de postagem de juros",
diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json
index 94b2ff2e1..46cd30000 100644
--- a/src/assets/translations/sw-SW.json
+++ b/src/assets/translations/sw-SW.json
@@ -475,6 +475,7 @@
"Transfer Clients": "Wateja wa Uhamisho",
"Unassign Staff": "Batilisha Wafanyikazi",
"Undo Rejection": "Tendua Kukataliwa",
+ "Undo": "Tengeneza",
"Undo Transfer": "Tendua Uhamisho",
"Update Default Savings": "Sasisha Akiba Chaguomsingi",
"Upload": "Pakia",
@@ -1399,6 +1400,7 @@
"Interest Grace Periods": "Vipindi vya Neema vya Riba",
"Interest Method": "Mbinu ya Maslahi",
"Interest Outstanding": "Maslahi Bora",
+ "Interest Payable": "Riba inaelezewa",
"Interest Posted": "Nia Imetumwa",
"Interest Posting Period": "Kipindi cha Kuchapisha Riba",
"Interest Posting period": "Kipindi cha Kuchapisha Riba",