πŸ“’

Statement Filer

Credit card statements β†’ categorized workbook β†’ Google Drive

Drive not connected
πŸ“„

Drop your statement PDFs here

One card at a time. Amex and CIBC supported today.

Apply your review decisions

Open the workbook this app filed into Drive, fill in the COMMENTS column on the Review sheet with the category you want, save it, then load it back here. The app recodes those rows, rebuilds the summary and redraws every highlighted statement.

You need the same statement PDFs loaded on the Process tab first, so the highlighted files can be redrawn. If you've just done a run in this session, they're already loaded.

Your rules

This is the brain of the app: which merchant maps to which category, the out-of-GTA meals rule, which merchants always go to Review. Edit it here, or download it and commit it to your repo so it travels with the app.

Your merchant list is kept out of GitHub. The repo is public, so the copy of rules.json there ships with an empty merchant map. Use Import a rules file to load my-rules.json β€” it's stored in this browser and never uploaded. Do that once per browser you use.

One-time setup

  1. Put this folder in a GitHub repo. Create a repo called statement-filer, upload every file from this folder, then go to Settings β†’ Pages and set the source to Deploy from a branch β†’ main β†’ / (root). A minute later your app is live at https://<your-username>.github.io/statement-filer/.
  2. Make a Google OAuth Client ID so the app can write to your Drive. Go to console.cloud.google.com β†’ create a project β†’ APIs & Services β†’ enable the Google Drive API β†’ Credentials β†’ Create credentials β†’ OAuth client ID β†’ application type Web application. Under Authorized JavaScript origins add https://<your-username>.github.io. Copy the Client ID.
  3. Paste the Client ID into the app using the βš™ button, top right. It's stored in your browser only β€” it is not a password and it is safe to keep in a public repo, but the app doesn't put it there for you.
  4. Publish the consent screen or add yourself as a test user. While the app is in "Testing" mode, only accounts listed under Audience β†’ Test users can sign in. Add your own Gmail address there.

What it does with your Drive

The app asks for permission to see and manage your Drive files. It needs the broad scope because it has to find your existing Annual Audit … Sep folder β€” an app-only scope cannot see folders it didn't create. It only ever writes inside Annual Audit … Sep / Credit Card Statements /. Your statements are read inside your own browser tab and go straight to your Drive; there is no server in the middle, and nothing is stored anywhere else.

Where files land

Annual Audit 2026 Sep
└── Credit Card Statements
    └── Amex
        └── Q3 2026
            β”œβ”€β”€ Q3 2026 Amex Transactions.xlsx
            β”œβ”€β”€ Abridged Statements/
            β”‚   └── (the statements you dropped)
            └── Expenses Summary/
                β”œβ”€β”€ Amex Q3 2026 Meals.pdf
                β”œβ”€β”€ Amex Q3 2026 Business Travel.pdf
                └── … one per category

Settings