Running with a stack build of up-to-date master.
Transaction modifiers seem to interact oddly with inferred amounts. The following works as expected:
= ^expenses:groceries
[budget:groceries] *-1
[assets:bank:checking] *1
10/7 * MARKET
expenses:groceries:food $20
assets:bank:checking
$ hledger -ffoo.ledger reg --auto
2018/10/07 MARKET ex:groceries:food $20 $20
[budget:groceries] $-20 0
[as:bank:checking] $20 $20
assets:bank:checking $-20 0
But the following does not:
= ^expenses:groceries
[budget:groceries] *-1
[assets:bank:checking] *1
10/7 * MARKET
expenses:groceries:food
assets:bank:checking $-20
$ hledger -ffoo.ledger reg --auto
hledger: could not balance this transaction - can't have more than one balanced virtual posting with no amount (remember to put 2 or more spaces before amounts)
2018/10/07 * MARKET
expenses:groceries:food
[budget:groceries]
[assets:bank:checking]
assets:bank:checking $-20