You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**`prettyjson`** - Formats the summary tables nicely
79
+
-**`prettyjson`** - Formats the year by year tables nicely
80
80
81
81
The core logic is surprisingly simple - it's mostly string manipulation and basic math.
82
82
@@ -85,9 +85,8 @@ The core logic is surprisingly simple - it's mostly string manipulation and basi
85
85
1.**Reads filenames** - Splits on " - " and validates the date/amount format
86
86
2.**Groups by year** - Extracts the year from each date
87
87
3.**Tracks reimbursements** - Looks for `.reimbursed.` in the filename
88
-
4.**Warns about mismatched files** - Lists files that don't match the expected pattern
89
-
5.**Generates reports** - Summary tables plus three different ASCII charts
90
-
6.**Does the math** - Calculates the yearly totals for expenses and reimbursements
88
+
4.**Warns about mismatched files** - Identifies files that don't follow the naming convention and explains what's wrong (missing date, invalid amount format, etc.)
89
+
5.**Generates reports** - Creates visual ASCII charts (expenses by year, reimbursements by year, and side-by-side comparison) plus detailed summary statistics
91
90
92
91
## Usage
93
92
@@ -96,10 +95,15 @@ The easiest way is to install as a global package from [npm](https://www.npmjs.c
Most Expensive Year: 2022 ($250.00 [41.7%], 3 receipts [33.3%])
172
187
```
173
188
{: .nolineno}
174
189
175
-
If you have files that don't match the expected naming pattern, you'll see a warning at the top of the output:
190
+
If you have files that don't match the expected naming pattern, you'll see a warning at the top of the output (and an "Invalid Receipts" count in the summary statistics):
176
191
177
192
```text
178
193
⚠️ WARNING: The following files do not match the expected pattern:
0 commit comments