I used a command-line tool, aichat <https://github.com/sigoden/aichat>, to pipe transactions to GPT-4 and categorize expenses. I gave it the following input (generated according to Booking Amazon Purchases <https://reds-rants.netlify.app/personal-finance/booking-amazon-purchases/> ):
2022-08-19 * "Amazon.com" "Beginning Drawing Atelier: An Instructional Sketchbook" Assets:Zero-Sum-Accounts:Amazon-Purchases -24.71 USD 2022-09-14 * "Amazon.com" "Amazon Basics Clear Sheet Protectors for 3 Ring Binder, 8.5 x 11 Inch, 200-Pack" Assets:Zero-Sum-Accounts:Amazon-Purchases -18.16 USD 2022-10-05 * "Amazon.com" "Bosch Rear Wiper Blade H307 /3397011429 Original Equipment Replacement- 12\" (Pack of 1)" Assets:Zero-Sum-Accounts:Amazon-Purchases -11.6 USD 2023-01-26 * "Amazon.com" "Duxtop 1600W Single Burner Electric Cooktop, Electric Hot Plate for Cooking, Electric Stove with Sensor Touch Control, Portable Infrared Burner with T" Assets:Zero-Sum-Accounts:Amazon-Purchases -69.43 USD 2023-01-26 * "Amazon.com" "PILOT Parallel Caligraphy Pens, Assorted Point Sizes and Colors, 6 Count (12722)" Assets:Zero-Sum-Accounts:Amazon-Purchases -32.44 USD 2023-02-28 * "Amazon.com" "Laptop Stand, Laptop Holder Riser Computer Stand, Adjustable Aluminum Foldable Portable Notebook Stand, Compatible with MacBook Air Pro, HP, Lenovo, D" Assets:Zero-Sum-Accounts:Amazon-Purchases -14.29 USD Using the following prompt and command: cat amz.beancount | aichat add categorized expense postings to balance each of the following transactions, preserving the included zero sum posting. do not use spaces in account names > out.beancount I got these results: 2022-08-19 * "Amazon.com" "Beginning Drawing Atelier: An Instructional Sketchbook" Assets:Zero-Sum-Accounts:Amazon-Purchases -24.71 USD Expenses:Art:Instructional-Sketchbook 2022-09-14 * "Amazon.com" "Amazon Basics Clear Sheet Protectors for 3 Ring Binder, 8.5 x 11 Inch, 200-Pack" Assets:Zero-Sum-Accounts:Amazon-Purchases -18.16 USD Expenses:Office-Supplies:Sheet-Protectors 2022-10-05 * "Amazon.com" "Bosch Rear Wiper Blade H307 /3397011429 Original Equipment Replacement- 12\" (Pack of 1)" Assets:Zero-Sum-Accounts:Amazon-Purchases -11.6 USD Expenses:Car:Maintenance 2023-01-26 * "Amazon.com" "Duxtop 1600W Single Burner Electric Cooktop, Electric Hot Plate for Cooking, Electric Stove with Sensor Touch Control, Portable Infrared Burner with T" Assets:Zero-Sum-Accounts:Amazon-Purchases -69.43 USD Expenses:Kitchen:Appliances 2023-01-26 * "Amazon.com" "PILOT Parallel Caligraphy Pens, Assorted Point Sizes and Colors, 6 Count (12722)" Assets:Zero-Sum-Accounts:Amazon-Purchases -32.44 USD Expenses:Art:Calligraphy-Pens 2023-02-28 * "Amazon.com" "Laptop Stand, Laptop Holder Riser Computer Stand, Adjustable Aluminum Foldable Portable Notebook Stand, Compatible with MacBook Air Pro, HP, Lenovo, D" Assets:Zero-Sum-Accounts:Amazon-Purchases -14.29 USD Expenses:Office-Supplies:Laptop-Stand There was some trial and error that resulted in the final prompt. At first, it removed the zero-sum postings and only output expenses. The expense accounts had spaces in their names (e.g. "Expenses:Office Supplies:Laptop Stand"). There is still room for improvement (I don't really care to have an account for laptop stands). Overall, it looks very helpful. Perhaps a good workflow is to use GPT to categorize a small batch of expenses, manually correct them, and then use smart_importer <https://github.com/beancount/smart_importer> to handle the rest. If anyone else has tips please share! On Saturday, April 1, 2023 at 1:53:46 AM UTC-4 Red S wrote: > Great idea. Talk about drudgery! > > On Friday, March 31, 2023 at 12:35:09 AM UTC-7 bl...@furius.ca wrote: > > I haven't tried yet but my hope is that gpt would be great at writing test > code. Can you imagine? > > On Fri, Mar 31, 2023, 01:03 Red S <redst...@gmail.com> wrote: > > Fantastic! Hooray for reducing drudgery! > > It's apparently quite effective at using code from existing github > projects. I love the code explanations in natural language. > > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to beancount+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/38f90ec4-fea3-4794-98de-4d90f28c960dn%40googlegroups.com.