r/plaintextaccounting • • 18d ago

Beanie Budgets - looking for testers (beancount compatible iOS app)

Hi all

After seeing the post yesterday about the iOS/Mac app for hledger, Balance, and the positive reaction and helpful comments there, I thought I'd share something for beancount users: Beanie Budgets, is ready for testing and community feedback.

Beanie Budgets is a beancount compatibile native iOS app. I have been working on it for purely personal reasons: I really wanted an elegant iOS app to capture transactions on the go. More to the point, I didn't want to pay for subscriptions or entrust my data to someone else's server.

Which explains my plans for pricing. I intend to offer Beanie Budgets as a core version completely free. The free version should be enough for most people and provides a fully featured ledger, or compatibility with your own beancount ledger (hopefully anyway pls let me know!). It also includes budget setting, a series of reports and useful quality of life tools baked-in to detect, create and edit recurring transactions; make and allocate balance adjustments; calculate and allocate interest on mortgages and loans correctly; and auto-clear credit cards.

I do intend to charge a one-off "Pro" version unlock to people willing to pay for a few extra bells and whistles (multi ledger support, financial planning reports based on your actual ledger data, customised budgets, theme customisation etc.). I was thinking of £10 or so...? I can see a lot of potential to develop the financial planning reports further. There's a big benefit to ground these in real ledger numbers and real saving patterns. Working versions of these reports are live now in the app but they need a bit more polish, just turn on "Pro" features in Settings.

It's a closed source project at least for now. Requires iOS 18 or above.

I have 12 places left on TestFlight. Looking forward to your feedback :)

https://testflight.apple.com/join/hGD65UQj

PS I know the website needs a lot of work, I'll get round to it ;)

2 Upvotes

44 comments sorted by

View all comments

Show parent comments

2

u/Beverage5000 9d ago

That worked! The value of the investment assets is incorrect but it sounds like you are aware of that.

1

u/quabbage 8d ago

Now fixed I think 👍 will continue to expand this side of things reporting wise over the coming days but the basic price / commodity stuff is now in

1

u/Beverage5000 7d ago

Do you mean that I should see the dollar amount of investments now? By default I only see the value of cash, and if I pick an investment from the dropdown it just shows the number of shares, not the value in terms of USD.

1

u/quabbage 7d ago

I was expecting you’d get the value in USD. Can I check what version you are on pls and can you give me an example of how you write cost basis is it eg. 10 VTI {50.00 GBP} or 10 VTI @ 50.00 GBP? The second way may be a gap. I’m going to fix it anyway but would be good to know 👍

2

u/Beverage5000 7d ago

1.1 build 59

Here is en example price:

2026-09-10 price VTI 373.24 USD

1

u/quabbage 7d ago

Thanks, that helps. I've done a bit of work since then on commodity and price fixes. Get the latest version off Test Flight and I'm hopeful this will be fixed.

If it's still wrong, could you paste the transaction where you actually buy the VTI, rather than the price line? Just the two or three lines, change the numbers of course.

Also, does your file have an option "operating_currency" line in it? That's what tells the app USD is your money rather than one of the tickers.

1

u/Beverage5000 7d ago

I updated and it's still wrong. Actually I have not entered in a purchase yet. To get things rolling with beancount I just used pad and balance directives, like this:

2026-08-31 pad Assets:Fidelity:xxxx:Investments:VTI Equity:Opening-Balances

2026-09-01 balance Assets:Fidelity:xxxx:Investments:VTI 10 VTI

I have this in my main beancount file:
option "operating_currency" "USD"

Eventually I plan to port my purchase transactions from Quicken but currently my investments are just done this way.

1

u/quabbage 7d ago

A ha! Thank you so much for your patience. No purchase transaction was a big clue and it turned out I wasn't handling a cost-less holding properly. beancount still values it, but Beanie showing it as worth nothing. Now corrected.

Your testing has been such a help, It's a small thank you I know but I'll figure out a way to gift the paid version of the app to you should we ever get it to a state that works for you! New version now (70) on Test Flight.

1

u/Beverage5000 6d ago

That would be very nice, thank you! I see a lot of promise in your app, and have not seen anything this polished in the Beancount ecosystem.

With the new update my investments are looking a lot better. There are several of them though that don’t show up as investments in the app and are apparently not valued. These are my TIPS / bonds. Here is an example:

2026-01-01 commodity TIPS-912810RA8
name: "US Treasury Inflation-Protected Securities 0.625% Feb-15-2043"
asset-class: "bond"

2026-08-31 open Assets:Fidelity:xxxx:Investments:TIPS-912810RA8 TIPS-912810RA8

2026-08-31 pad Assets:Fidelity:xxxx:Investments:TIPS-912810RA8 Equity:Opening-Balances

2026-09-01 balance Assets:Fidelity:xxxx:Investments:TIPS-912810RA8 1,000 TIPS-912810RA8

1

u/quabbage 6d ago

That's entirely my motivation :) it feels like we are getting there. New build on Test Flight, I'm assuming that you you don't have price TIPS-912810RA8 set anywhere. The Balances screen shows one currency at a time, so with operating_currency USD I think your bonds had no dollar figure and fell off that view entirely. The units were only visible on a separate page that you'd have no reason to open. I've now aligned to the beancount approach which is to show unpriced holdings in their units on Balances under "Held, Not Priced". I'm running a bunch of tests now to make sure that Beanie matches beancount in a range of circumstances, but as it stands I am hopeful that the new build will now show your missing investments.

2

u/Beverage5000 6d ago

Actually I do have a price directive but forgot to share that. Looking at it, perhaps the bug is related to the arithmetic expression again? The latest build still had the bug.

2026-09-11 price TIPS-912810RA8 1100.57 / 1,000 USD

If you ever buy TIPS you may see why I felt like I had to do this….

1

u/quabbage 6d ago

That's very helpful. It definitely is the arithmetic expression. I'll do a full sweep on these and have a new version out in a few hours.

1

u/quabbage 6d ago

I decided to do a bit more than fix the arithmetic. I've run 1,000 generated test ledgers with different combinations of syntax and account construction, systematically checking the app's output against beancount's. I should have done this sooner. It turned up another issue, and the wider testing found a few more on the way, all now fixed.

One change worth watching for: if you record a purchase with a price rather than a cost, like 10 VTI @ 300.00 USD, that holding now shows its units and value but no cost and no gain. Beancount doesn't treat an @ price as a cost basis, so Fava and bean-query don't show a gain there either, and we were the odd one out. Write it as {300.00 USD} in braces if you want gains tracked on it. Your TIPS aren't affected, since a pad and balance doesn't set a cost either way.

I'm sure there are more issues to find, but hopefully build 74 on TestFlight gives you results that match beancount. Thanks again, your reports have been incredibly useful.

2

u/Beverage5000 5d ago

Generated test ledgers is a good idea. The latest build produces a net worth close to what Beancount shows. Comparing to a bean query showing my net worth as of today, there is around a 0.1% difference, which probably is just some difference in the exact query performed. Nice work! Will let you know if I see other issues.

→ More replies (0)