You can get this behavior with --sort d in argument or ledgerrc or setting LEDGER_SORT=d in your environment. Or merge files sorted by date with ledger -f file1 -f file2 --sort d print. I agree the default sorting is quite jarring, but practically every single time if some entry is out of place chronologically, for me it's because I input-ed the wrong date and the default sort makes more sense. The reason I have hledger installed is for check ordereddates.