You will be able to get an assistant to put a category on each transaction without asking it to add anything up.
Write your category list in a note before you open the assistant, and decide now what each category means. A request like "categorise my spending and tell me where my money went" asks the assistant to do two jobs at once: labelling each transaction, which it does well, and adding up totals, which it does badly. The method below gives it only the labelling and leaves the adding to your spreadsheet.
If the assistant invents the categories, they will come out differently each month, and a budget is only useful if you can compare one month with the last. A fixed list solves that, and it should be short. A suggested set of ten is food, transport, housing, bills, insurance, subscriptions, shopping, family, health and other. If eating is where your attention goes, split food into groceries and eating out.
Add one more category called transfer, for money moving between your own accounts. Lesson 2.3, Check the labels and fix the rules, explains how this category works.
Give each category a one-line definition wherever there is any doubt. For example, family covers money sent to parents or siblings, gifts and red packets. Bills covers phone, internet, utilities and town council. The model follows definitions far better than it guesses what you meant, so a few lines here save you corrections later.
Priya, who is budgeting their own spending, pasted a cleaned March file into an assistant and asked it to categorise the spending and say where the money went. The reply was a neat summary: food about S$740, transport about S$210, shopping about S$380 (all invented example figures), plus a suggestion to cut back on eating out.
It looked like a finished budget. Then Priya realised there was no way to see which rows went into each number, whether every row had been counted, or whether the totals had been added correctly, and they wrote a better request.
The request has three parts, in this order: your category list with its definitions, then the rows, then the instruction. Priya's instruction said that the data is one month of card transactions with date, description and amount, and asked the assistant to add a fourth column called category, use only the categories in the list, return every row in the same order and format, output the result as CSV, add or remove nothing, include no totals, and write CHECK instead of guessing whenever it was not reasonably sure of a category.
Each part of the instruction has a job. Using only your categories keeps the labels consistent. Keeping the same order and format means you can paste the result straight back into your spreadsheet next to the original rows. CSV gives you output a spreadsheet can read. Asking for nothing added or removed makes it easier to spot a missing row, which can happen on long lists.
Long inputs are where rows get dropped or labels drift partway through. If your month runs to a few hundred rows, send batches of about fifty, repeating the same category list and instruction each time. Smaller batches also make the row-count check quicker.
When the result comes back, compare its row count with your cleaned file before you do anything else. If you sent 87 rows and got 85 back, find the missing two first.
A model told to label every row will label every row, even when it has no idea what a row is. It might label a transfer to someone's initials as shopping, or call a one-word merchant name food because food is common. Guessed labels look exactly like confident labels, so you cannot tell them apart in the output.
The CHECK instruction gives the model an honest way out, and it changes the result. The rows that come back as CHECK are typically PayNow transfers, unfamiliar merchants and payments that could be two things. You would have needed to look at those rows anyway, and CHECK flags them for you instead of burying them among confident labels.
Sorting them is quick for you and impossible for the assistant, because you know what an ambiguous payment was. You know what S$60 to "J LIM" was for, an example of a payment the assistant has no way to place. Go through the CHECK rows yourself and give each one a category from your list, then paste the whole result into the spreadsheet beside the original rows.
Priya's first attempt shows the problem with totals in a chat. As lesson 1.1, What an assistant is actually doing when you ask about money, explains, unless the assistant is visibly running code, it writes digits the way it writes words, by predicting them. Adding forty or eighty amounts in a paragraph is a multi-step sum, and those predictions drift along the way. A wrong total reads the same whether it is off by a few dollars or by a few hundred. A number in a paragraph also cannot be traced back to its rows, while a spreadsheet total can be traced in seconds.
In this module, totals come from SUMIF or a pivot table, built in lesson 2.4, Build a month's budget from your own data, so every figure points back to rows you can see. Some assistants will run code and show it if you ask, which is far better than a figure in prose. You still need the labelled rows in your own sheet for next month, so it is simpler to get the labels from the assistant and do the adding in the spreadsheet, where you can check it.
Your next step is to send your own cleaned month through with your fixed list and the CHECK rule, then paste what comes back into a new tab beside the original.
Give an assistant your cleaned month and a fixed category list. Paste the labelled rows it returns into a new tab in your spreadsheet.
Junxiong-WFG Organisation is an authorised representative of AIA Financial Advisers Private Limited (Reg. No. 201715016G).