import { unique } from 'fyo/utils'; import { getData } from '../FinancialStatements/FinancialStatements'; class BalanceSheet { async run({ fromDate, toDate, periodicity }) { let asset = await getData({ rootType: 'Asset', balanceMustBe: 'Debit', fromDate, toDate, periodicity, accumulateValues: true, }); let liability = await getData({ rootType: 'Liability', balanceMustBe: 'Credit', fromDate, toDate, periodicity, accumulateValues: true, }); let equity = await getData({ rootType: 'Equity', balanceMustBe: 'Credit', fromDate, toDate, periodicity, accumulateValues: true, }); const rows = [ ...asset.accounts, asset.totalRow, [], ...liability.accounts, liability.totalRow, [], ...equity.accounts, equity.totalRow, [], ]; const columns = unique([ ...asset.periodList, ...liability.periodList, ...equity.periodList, ]); return { rows, columns }; } } export default BalanceSheet;