- 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 |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| pages | ||
| public/img | ||
| App.jsx | ||
| api.js | ||
| index.css | ||
| main.jsx | ||