Skip to content

The iPhone companion

Beancount Desktop Companion (on your Home Screen, just Beancount) is a small iPhone app with one job: jot down a transaction the moment it happens, so that it is not forgotten by the time you sit at your Mac.

It is deliberately not Beancount Desktop on a phone. It has no reports, it never sees your ledger and there is no server or sync service. The two apps exchange two small files, and you decide how they travel: AirDrop, Files, iCloud Drive, mail…

  1. Mac → iPhone: the context. On the Mac, File ▸ Export for iPhone… creates a .bcdcontext file with the names your ledger uses: accounts, payees, tags, links, metadata, currencies. Export the context

  2. iPhone: import it. AirDrop it to the phone and it opens in the Companion, which now autocompletes with your real accounts and payees.

  3. iPhone: capture drafts. Out and about, add a draft each time you pay for something. Drafts live only on the phone. Capture drafts

  4. iPhone → Mac: the drafts. Back home, Send to Mac creates a .bcddrafts file. AirDrop it to the Mac.

  5. Mac: import them. Import Drafts writes them straight into the ledger, in date order, as one commit. Import drafts

Repeat step 1 now and then — when you have opened new accounts or have new regular payees — so the phone’s suggestions stay current. It is never required: the Companion works with an old context, and even with none.

  • The context file holds names, not balances. It does include, for each payee, its last transaction (that is what lets the phone pre-fill a draft), so it does contain some amounts. Treat both files as being as private as your ledger.
  • On the iPhone, the context and the drafts are stored inside the app with full file protection: encrypted while the phone is locked.
  • Nothing is uploaded anywhere by either app.