I find I really want to add an additional, orthogonal layer to the account hierarchy. Quicken and Quickbooks lets you do this, but I'm not sure what the best way is in Ledger. I wish I could do something like this:
2018-08-28 Home Depot
Expenses:Raw Materials/Client A:Phase 1 $42.87
Expenses:Raw Materials/Client B:Phase 2 $37.50
Liabilities:Credit Card:Chase
2018-08-28 Western Tool & Supply
Expenses:Tooling/Client A $53.01
Liabilities:Credit Card:Chase
And you could constrain queries like this (perhaps with a command line option to distinguish projects and accounts with the same name):
$ ledger "Client A"
$ 95.88 Expenses
$ 42.87 Raw Materials
$ 53.01 Tooling
-----------
$ ledger "Client B"
$ 37.50 Expenses:Raw Materials
-----------
$ 37.50
Any suggestions? Thanks!