diff --git a/.changeset/fix-analytics-sheets-respect-filters.md b/.changeset/fix-analytics-sheets-respect-filters.md new file mode 100644 index 0000000..af02dff --- /dev/null +++ b/.changeset/fix-analytics-sheets-respect-filters.md @@ -0,0 +1,5 @@ +--- +"mpesa2csv": patch +--- + +Fix analytics sheets ignoring active export filters (e.g. exclude charges, sort order). diff --git a/src/services/xlsxService.ts b/src/services/xlsxService.ts index 95b84bc..62063b2 100644 --- a/src/services/xlsxService.ts +++ b/src/services/xlsxService.ts @@ -112,54 +112,49 @@ export class XlsxService { }); } - // Add Charges/Fees sheet if requested + // Add Charges/Fees sheet if requested. + // Always uses the unfiltered statement so the sheet has data even when + // "filter out charges" is active on the main sheet. if (options?.includeChargesSheet) { addChargesSheet(workbook, statement); } - // Add Financial Summary sheet if requested + // All remaining analytics sheets use filteredStatement so active filters + // (e.g. exclude charges, sort order) are consistently reflected. if (options?.includeSummarySheet) { - addFinancialSummarySheet(workbook, statement); + addFinancialSummarySheet(workbook, filteredStatement); } - // Add Monthly/Weekly Breakdown sheet if requested if (options?.includeBreakdownSheet) { - addMonthlyWeeklyBreakdownSheet(workbook, statement); + addMonthlyWeeklyBreakdownSheet(workbook, filteredStatement); } - // Add Daily Balance Tracker sheet if requested if (options?.includeDailyBalanceSheet) { - addDailyBalanceTrackerSheet(workbook, statement); + addDailyBalanceTrackerSheet(workbook, filteredStatement); } - // Add Transaction Amount Distribution sheet if requested if (options?.includeAmountDistributionSheet) { - addTransactionAmountDistributionSheet(workbook, statement); + addTransactionAmountDistributionSheet(workbook, filteredStatement); } - // Add Top Contacts sheet if requested if (options?.includeTopContactsSheet) { - addTopContactsSheet(workbook, statement); + addTopContactsSheet(workbook, filteredStatement); } - // Add Money In sheet if requested if (options?.includeMoneyInSheet) { - addMoneyInSheet(workbook, statement); + addMoneyInSheet(workbook, filteredStatement); } - // Add Money Out sheet if requested if (options?.includeMoneyOutSheet) { - addMoneyOutSheet(workbook, statement); + addMoneyOutSheet(workbook, filteredStatement); } - // Add Recurring Transactions sheet if requested if (options?.includeRecurringTransactionsSheet) { - addRecurringTransactionsSheet(workbook, statement); + addRecurringTransactionsSheet(workbook, filteredStatement); } - // Add Time-of-Day Activity sheet if requested if (options?.includeTimeOfDaySheet) { - addTimeOfDayActivitySheet(workbook, statement); + addTimeOfDayActivitySheet(workbook, filteredStatement); } const buffer = await workbook.xlsx.writeBuffer();