BillTracker/services
null 831f617893 v0.26.0: dual-column XLSX import parser
- detectAllHeaderSets() finds multiple header groups per row (left 1st / right 15th)
- isBlankRowForHeaderSet() checks blanks per column range for dual layouts
- parseSheetRows() scans rows 0-4 for header row, processes each set independently
- analyzeRow() computes due_day from date/label/pattern with fallback to defaultDueDay
- Cell type validation allows 's' (shared formula) type
- Non-numeric amounts (auto, double pay, past due) become detected labels
- Day patterns (1st, 15th, 24th) parsed as due_day values
- Security: bounds validation in isBlankRowForHeaderSet, anchored regex, label sanitization
2026-05-11 22:13:37 -05:00
..
auditService.js v0.20.6: Audit logging for critical operations 2026-05-10 00:03:12 -05:00
authService.js v0.22.2: Session Token Rotation on Auth Events 2026-05-10 03:55:14 -05:00
backupScheduler.js initial commit 2026-05-03 19:51:57 -05:00
backupService.js push 2026-05-09 13:03:36 -05:00
billsService.js refactor: extract bills.js business logic into services/billsService.js (Phase 1) 2026-05-11 12:12:31 -05:00
cleanupService.js initial commit 2026-05-03 19:51:57 -05:00
notificationService.js fix: HIGH+MEDIUM batch — 10 fixes (v0.24.0) 2026-05-10 15:25:47 -05:00
oidcService.js push 2026-05-04 23:34:24 -05:00
spreadsheetImportService.js v0.26.0: dual-column XLSX import parser 2026-05-11 22:13:37 -05:00
statusRuntime.js initial commit 2026-05-03 19:51:57 -05:00
statusService.js fix: prevent duplicate payment prompts 2026-05-11 16:04:21 -05:00
userDbImportService.js push 2026-05-04 20:12:57 -05:00