I would argue that, categorically, tracking the balances of external entities isn't useful or meaningful, at least for personal finance. (I don't know enough about business finance to form an opinion.)
I'm considering "external entities" here to mean accounts that aren't yours. A bank account or a credit card or a mortgage are yours, in the sense that it matters to you in some way what their balances are. Most expenses (by number of transactions, maybe not by total amount) are not that.
To offer a concrete example, I pay my ISP about $80 per month for an internet connection. Double entry accounting would have me move money into an "account" representing my ISP, so I can answer the question of how much money I've paid them over the whole time I've used them. That isn't a question I have ever needed to ask, nor do I expect to, but if I do, it would be answerable with a single query over a single-entry transaction list. Until then, the extra effort spent on double-entry accounting would be entirely wasted.
edit: I missed the context that the person you replied to was working on a very business-sounding accounting thing. I'll leave this here in case it inspires more relevant examples.
Double entry accounting doesn't require you to track expenses related to your ISP. All it requires is an expense account. Whether you decide to open sub-accounts in order to track some expenses specifically, it's entirely up to you.
This way you can see your expenses on an “expenses” account regardless of where they came from. No need to scan for multiple sources, because they all end up on a single account. This is a beauty of accounting, you define not how, but what. You bought a tv?
debit: My stuff / tv
credit: Bank / account
sum: $1000
Your tv broke?
debit: Expenses / Breakage
credit: My stuff / tv
sum: <a remaining cost of
tv, depending on
amortization scheme>
With single entry you either cannot do that, or have to scan all tables and invent a special field that represents type of an operation, in this case isExpense or shard tables by that criterion.
This requires you to know up front which expenses you want to track, though. If you don't, and you change your mind later, you get to do that table scan anyway, so you may as well actually record the metadata that makes it possible.
edit: I read what you're describing here as a single entry system if you just read "expense account" as "expense type"; double entry would be if you physically recorded each of those in two places. It's entirely possible we're arguing about semantics.
I don't care how much I'm spending at a particular restaurant[1], but I do care about how much I'm spending on food I cook myself vs eating out/ordering in so I've got Expenses:Groceries and Expenses:Eating Out. And sometimes batteries make it into my grocery bill because I was there and you know what, it's really not an issue for me.
You get to keep track of what matters to you and what doesn't, you can dump into Expenses:Misc
[1] others would, and so would have separate accounts for specific restaurants
> That isn't a question I have ever needed to ask, nor do I expect to, but if I do, it would be answerable with a single query over a single-entry transaction list.
How would you pick out just the transactions that were to your ISP? Unless you want to manually review the transaction log, you need something consistent you can refer to in your query: like an account name (or a transaction description, but that feels easier to accidentally be inconsistent with).
Technically you could bunch up all payments to service providers under a "services" account, or just a "household expenses" account, or even a general "money gone" account.
However, I have often found that when I do that, inevitably someone asks, "so how much of our expenditures this year were for the internet connection?" and then it would have been really useful to have that ISP account.
I'm considering "external entities" here to mean accounts that aren't yours. A bank account or a credit card or a mortgage are yours, in the sense that it matters to you in some way what their balances are. Most expenses (by number of transactions, maybe not by total amount) are not that.
To offer a concrete example, I pay my ISP about $80 per month for an internet connection. Double entry accounting would have me move money into an "account" representing my ISP, so I can answer the question of how much money I've paid them over the whole time I've used them. That isn't a question I have ever needed to ask, nor do I expect to, but if I do, it would be answerable with a single query over a single-entry transaction list. Until then, the extra effort spent on double-entry accounting would be entirely wasted.
edit: I missed the context that the person you replied to was working on a very business-sounding accounting thing. I'll leave this here in case it inspires more relevant examples.