GonzaloZiadi / CostcoWrapped

Parse your Costco receipts
16 stars 4 forks source link

Costco Wrapped

A script to parse your Costco receipts (PDFs) and create a CSV with all the items you bought.

See the post on my blog that inspired this.

If there's interest, I'll continue to work on this. The final goal would be to have a Costco version of Spotify Wrapped.

How to use

  1. Download your PDF receipts from Costco.
  2. Save them all in a folder called costco-receipt-pdfs.
  3. Place the folder in the same directory as index.js.
  4. Run npm install to install the necessary dependencies.
  5. Run npm run start or node index.js.
  6. Take the ouputted CSV (out/costco-receipts.csv) and import it into Excel or Google Sheets and play around with it. See my spreadsheet if you're looking for inspiration.

How it works

index.js is the entry point. See that file for an explanation of how it works.

There are helper classes within the src directory.

The most important of these is CostcoReceiptParser. This is the file that handles parsing the Costco receipt PDF. It's fed each line of the PDF and returns all of the transactions as well as metadata such as the date, total items sold, tax, etc.

This file is heavily commented to explain how it works.

The rest of the helper classes are fairly small and contain comments as well.