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.

Reply via email to