Tiller AI AutoCat

Hi @heather thanks for checking this out! Sorry it’s not working for you.

Can you go into Extensions → Apps Script and click on the ai_autocat.gs file in the left hand side. Then make sure “categorizeUncategorizedTransactions” is selected in the top bar and click on Run.

Then you’ll see the debug output show up – send that to me and I’ll have a better sense of what’s happening.

I think I had the same issue at first, @heather… and so did, @peter. The likely cause is that your OpenAI account doesn’t have credits. (You can see this in the log of the Apps Script editor— the script executes successfully but a log message provides a debug link.)

Make sure there is a balance in there, wait at least 15’ (they don’t seem to allow access immediately after adding to your balance), then try again.

Have been meaning to say, @cps, that I got this running and it is really awesome. Thank you for sharing.

Thanks @randy!

Have some ideas on how this could be even more robust with some additional pre-processing of the full description, but it would be so much better if this was just part of the Tiller extension. @heather if you guys are looking at this seriously I’d love to help.

That is a generous offer, @cps, and the team has been pretty inspired by what you pulled together with this share.

As you saw in the update @heather shared, we’re locked in on some different pitches for the next 6 weeks… but seeing AI-categorization work well out of the box has us thinking on doing more with this technology in 2024.

2 Likes

Excited you are looking into it – please do let me know if I can help.

It appears that the Tiller AI provides the category for the first 50 rows or so. Is that true ?

It will do a max of 50 uncategorized transactions per run. You can just run it again to do more.

1 Like

Awesome work, Thank you so much!!

How can I modify it so it won’t change the description, only the category?

I keep getting the following error! It worked yesterday when I set it up but now it isn’t.

It’s not really designed for that as a configuration option, but if you comment out these lines of code it should do the trick:

var descRangeString = descriptionColumnLetter + transactionRow;

try {
var descRange = sheet.getRange(descRangeString);
descRange.setValue(transactionList[i][“updated_description”]);
} catch (error) {
Logger.log(error);
}

1 Like

Great work! This will work well for me, allowing Auto-Cat to do my normal auto-categories when the transactions are auto-filled. Then allowing AI-AutoCat to get the rest. I’m just wondering if something like this could also provide suggestions to add to the Categories tab as well.

Theoretically, but I think that’s such a personal thing (and sometimes with some pretty person-specific categories) that I’m not as confident that will actually get you what you want.

I just updated the Github repo with a new search methodology to find prior matching transactions and add Gemini support (which is like 20x cheaper than openAI with no noticeable degradation in quality at least for me).

Would encourage folks to update who are using it and let me know if you notice anything funky.

2 Likes

I will definitely give it ago! Admittedly I loved this whole thing so much as it takes away a major pain point of mine that keeps me from be organized with my finances, but I also didn’t want to use ChatGPT every time so I modified it a bit, even named it Catalyst for funsies. Even migrated it to Excel, but abandoned when I found Sheets had more templates for things.

Anyways what I added was when it does the initial query of ChatGPT it not only does the changes to the Transactions, but will add to an AutoCat Rules sheet with a regex. My aim was to have sort of a cache of previous runs with AI AutoCat so that AutoCat can knock out what’s cached and then I can run GPT on items missed.

2 Likes

Hi there! I switched to Gemini today, and am getting repeated errors saying “Exception: The data you entered in cell violates the data validation rules set on this cell.”, which causes the script to stop running prematurely.

After looking at the logs, it looks like it is attempting to update some categories as “To Be Categorized”, even though that isn’t a category I have. I added that as a valid category, and now it runs smoothly.

You can do that, or the category it uses when it doesn’t know is configurable if you’d like to change it to something else. It’s a constant in the code.