Leave balance wrongly calculated

I am using v12.9.3 at the moment. And I realized that the Employee Leave Balance report is giving wrong figures. For example, we allocated 10 days of annual leave (+ 3 days carried over from last year) to a person in the beginning of the year. We see the Annual Leave opening is 13, Annual Leave Allocated is 13, Annual Leave expired is 3 (after 3 months not used), Annual Leave taken is 0, but the Annual Leave balance is 23, which is 13 + 13 - 3!

And we also have employee allocated with 10 days leave in the beginning of the year and leave used is 5, but the balance will be 10 + 10 - 5 = 15.

And the leave calculation in the Leave Application form is slightly better. It shows the correct leave allocation. However, those expired leave is wrongly deducted. If a user has no expired leave, then it will be OK.

I am showing the same example here. The user has 10 days leave allocation. Expired leave is not added (10+3) but the expired leave is being shown as used leave and deducted from the allocated leave (10), and the available leave is 7 now. It is supposed to be 10.

We have already fixed this please update and check again.