Since August last year I've photographed every grocery receipt and run it through OCR on my laptop. A small Python script matches the line items to a list of about 60 things I buy regularly (oats, eggs, one particular loaf, tinned tomatoes, coffee) and works out what that same basket would have cost each month.
My basket is up 9.4% over 14 months. The official figure for the same period was lower, which surprised me until I looked at what drove mine: coffee and olive oil did most of the damage, and I drink a lot of one and cook with a lot of the other.
OCR turned out to be the easy part. Matching is where the time went. The same product appears under four different abbreviations depending on which till printed it, and pack sizes change quietly, so everything is tracked by unit price rather than item price.
No link yet. It's about 400 lines of Python and a SQLite file, and I want to strip out my address and loyalty card number before I put it anywhere. Happy to answer questions about the matching.