diff --git a/ledger/file.go b/ledger/file.go index b590b77..2d9e928 100644 --- a/ledger/file.go +++ b/ledger/file.go @@ -4,6 +4,7 @@ import ( "fmt" "io" "os" + "sort" "unicode" ) @@ -89,6 +90,10 @@ func (files Files) Deltas(like ...Like) (Deltas, error) { if err != nil { return nil, err } + sort.Slice(transactions, func(i, j int) bool { + return fmt.Sprintf("%s %s", transactions[i].date, transactions[i].description) < fmt.Sprintf("%s %s", transactions[j].date, transactions[j].description) + }) + result := make(Deltas, 0, len(transactions)*2) for _, transaction := range transactions { sums := map[string]float64{}