diff --git a/packages/server/src/services/FinancialStatements/GeneralLedger/GeneralLedger.ts b/packages/server/src/services/FinancialStatements/GeneralLedger/GeneralLedger.ts index d61fe9a50..e5ec99fb3 100644 --- a/packages/server/src/services/FinancialStatements/GeneralLedger/GeneralLedger.ts +++ b/packages/server/src/services/FinancialStatements/GeneralLedger/GeneralLedger.ts @@ -14,6 +14,7 @@ import { GeneralLedgerRepository } from './GeneralLedgerRepository'; import { FinancialSheetStructure } from '../FinancialSheetStructure'; import { flatToNestedArray } from '@/utils'; import Ledger from '@/services/Accounting/Ledger'; +import { calculateRunningBalance } from './_utils'; /** * General ledger sheet. @@ -21,11 +22,10 @@ import Ledger from '@/services/Accounting/Ledger'; export default class GeneralLedgerSheet extends R.compose( FinancialSheetStructure )(FinancialSheet) { - tenantId: number; - query: IGeneralLedgerSheetQuery; - baseCurrency: string; - i18n: any; - repository: GeneralLedgerRepository; + private query: IGeneralLedgerSheetQuery; + private baseCurrency: string; + private i18n: any; + private repository: GeneralLedgerRepository; /** * Constructor method. @@ -51,17 +51,6 @@ export default class GeneralLedgerSheet extends R.compose( this.i18n = i18n; } - /** - * Calculate the running balance. - * @param {number} amount - Transaction amount. - * @param {number} lastRunningBalance - Last running balance. - * @param {number} openingBalance - Opening balance. - * @return {number} Running balance. - */ - calculateRunningBalance(amount: number, lastRunningBalance: number): number { - return amount + lastRunningBalance; - } - /** * Entry mapper. * @param {ILedgerEntry} entry - @@ -79,16 +68,19 @@ export default class GeneralLedgerSheet extends R.compose( entry.debit, entry.accountNormal ); - return this.calculateRunningBalance(amount, lastRunningBalance); + return calculateRunningBalance(amount, lastRunningBalance); } /** - * - * @param entry - * @param runningBalance - * @returns + * Maps the given ledger entry to G/L transaction. + * @param {ILedgerEntry} entry + * @param {number} runningBalance + * @returns {IGeneralLedgerSheetAccountTransaction} */ - private entryMapper(entry: ILedgerEntry, runningBalance: number) { + private transactionMapper( + entry: ILedgerEntry, + runningBalance: number + ): IGeneralLedgerSheetAccountTransaction { const contact = this.repository.contactsById.get(entry.contactId); const amount = Ledger.getAmount( entry.credit, @@ -155,7 +147,7 @@ export default class GeneralLedgerSheet extends R.compose( .map((entryPair: [number, ILedgerEntry]) => { const [runningBalance, entry] = entryPair; - return this.entryMapper(entry, runningBalance); + return this.transactionMapper(entry, runningBalance); }); } diff --git a/packages/server/src/services/FinancialStatements/GeneralLedger/_utils.ts b/packages/server/src/services/FinancialStatements/GeneralLedger/_utils.ts new file mode 100644 index 000000000..916b895c9 --- /dev/null +++ b/packages/server/src/services/FinancialStatements/GeneralLedger/_utils.ts @@ -0,0 +1,13 @@ +/** + * Calculate the running balance. + * @param {number} amount - Transaction amount. + * @param {number} lastRunningBalance - Last running balance. + * @param {number} openingBalance - Opening balance. + * @return {number} Running balance. + */ +export function calculateRunningBalance( + amount: number, + lastRunningBalance: number +): number { + return amount + lastRunningBalance; +}