I’ve been able to use Tiller to build a budget, have to say I’m really impressed with the tool so far; it’s significantly more powerful than the mints and rocketmoneys with it’s spreadsheet integration.
One challenge I’m dealing with is how to deal with “big box” expenses. A significant amount of our income goes to Amazon/Target/Walmart, and the only visibility I have into them with Tiller is to be able to categorize them by store. I don’t have any deeper granularity into the contents of the orders (of course this isn’t the fault of Tiller, it’s just how the transactions show up). I know that a good amount of our non-discretionary spending happens here, and I’m trying to split it out. I’m looking for recommendations for best to do that in a way that I can integrate it with my Tiller sheet.
If I had the ability to download Amazon orders and scan receipts into a CSV of some kind I think that could work.
- Are there any recommended tools to get more granular information out of these like a receipt scanner / software tool to download Amazon transactions that the community is currently using? I know the Amazon API has changed several times, I’d like to know what the current solutions are.
- Assuming I can get this data, what’s the correct way to manually import the data into the sheet? Should I configure it to ignore the credit card transactions so they aren’t double counted and count the granular data?
Not sure about Walmart, but there is an Amazon workflow you can check out:
Update on Importing Amazon Returns & Refunds into Google Sheets (May 2023)
Scanning in receipts would be a game changer. Right now I just look on my Costco and Walmart apps, add up whatever isn’t “groceries” and split the transaction in my sheet to categorize the rest as clothes or household (or whatever else is applicable.)
Target I just guess, I don’t use an app or have their card or anything like that. If I know half of it was beauty supplies and half was snacks I might split it up 50/50 but it’s seldom fresh enough in my mind to remember it granularly. It definitely could be improved.
I personally prefer to manipulate the transaction data that was pulled into my sheets over manually importing but I can see how splitting/tags/etc. could get cumbersome if there was a large data set you’re trying to account for.
The csv workflow worked beautifully for Amazon, I’ll experiment with splitting transactions. Sources like target prove the most difficult. I’m a software developer and Walmart has always had fantastic technology offerings, it’s possible they have similar export possibilities for order data. Target proves the most difficult, I’m going to experiment with a reader that can potentially parse pdfs of orders and convert to cabs for upload. Will report back with anything useful I can put together.
For my grocery store tracking thing I’m working on, I actually used AI to generate a table that I copy/paste. I get a receipt via email and then I paste it into AI and ask to format into a table and make some simple calculations. That might be a one off option for Walmart.
At least for amazon, I’ve started making sure I only buy stuff in the same category on one reciept. I have prime so unless I need to hit the minimum or something I’ll just do separate orders. I don’t think there’s any slick way to do this yet.
I can’t completely automate it because of the manual data request with Amazon, but I wrote a little tool that will actually handle the Amazon Fresh and Whole Foods orders that show up in the order history. It’ll aggregate all of them into a single order based on the order ID so I’m able to categorize the line-item as a grocery item in the transactions in the Tiller sheet. So I think I’ve got a nice workflow for Amazon.
The bigger issue is Target. I’m working to write a tool to scan either the order receipt that’s available on their site in pdf form, or to scan a receipt so it’s itemized, and in theory the same approach could be used for target. It would convert this to an output CSV that can be uploaded in a similar manner to Amazon. Need some more time to dig into this one.
Very impressed with Tiller so far though.
Glad to see that you’ve been able to work through these issues. I suspect scanning in the Target receipt will split that out nicely for you. We’re glad you are impressed with Tiller.
I’ve been able to take things a step further and write a utility with Python that will read Target invoices saved to a directory in a PDF format, then builds a text prompt and uploads to OpenAI’s GPT API. It does a marvelous job converting the raw (and ugly) text to an aggregated CSV that I’m planning to upload via the same community tool that allows for uploading CSVs. I believe this is a generic enough solution that it will work for any big box store that allows for the export of invoices in the form of a PDF. I can share with the community if anyone is interested, but of course this requires knowledge of a cli, python, and an OpenAI account with an API token.
Note: GPT API is also not free and will charge based on usage. My usage is very limited however, so the cost I expect to remain very low.
This sounds super cool!
Are you just using the Basic Bank CSV option from the CSV importer in Tiller Community Solutions for this?
Hi Heather, haven’t had a chance to test the upload but should work fine assuming the upload accepts csv data in the format of the bank template sheet. Pretty easy from my side to map the columns gpt gives me (and I control that anyway), to the expected columns that the upload ingests.
Will verify and report back.
Sounds really cool, @eriknelson. I think OCR (or email receipts) + AI will be a gamechanger for ingesting fussy, ugly raw charge data. I’m excited to see what you put together on this. It has been a gap for detailed personal finance forever.
Another issue is Costco, but I’m trialing the same pattern to pull in the scanned receipt. The receipts are probably more friendly to the OCR and the AI since it’s better structured and more predictable. Slow going with life in the way but I’d like to post a video demonstrating its usefulness. Fortunately the code can easily sit behind a site or API to be able to integrate it into a more user friendly workflow than the raw CLI commands I’m currently using.
Does tiller itself have any kind of API that would allow me to programatically trigger a fetch of latest transactions and monitor the process or something similar? What about for transaction retrieval?
I can integrate with my google sheet but a more direct and structured API would be excellent. I’d like to be able to automate notifications when I am approaching budget category limits or other reports, in addition to being able to build something like an app that I can easily check for remaining budget.
I do the same thing Morgan, by reviewing the purchases in my apps. I use the Target debit card and their app, so I have digital receipts from them. Their app shows online orders separate from in-store orders. Sam’s Club is set up similar to Target too. I use Excel instead of Sheets so I utilize tags & notes since I can’t split transactions yet. It’s not too cumbersome since I usually have 2-3 tags per 1 transaction. Definitely takes more time but I’d rather get a whole picture than just knowing I spend $$$ at Target/Sam’s/Amazon every month.
Good questions, @eriknelson. Presently, we do not have any public APIs to fetch and interact with data. As for automating notifications, @albano.mike, just shared an interesting solution you could build off.