You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Due for payment 2026-04-01] [Due for payment 2026-03-30] [$250] Tax - Tax is no longer valid error shown in IOU details after editing tax rate value #73033
Version Number: 9.2.34-0 Reproducible in staging?: Y Reproducible in production?: Y If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Action Performed:
Sign in to ND
Create a workspace, enable Taxes in More features
Open Taxes page, add a new tax rate, setting the tax value to something greater than 0
Navigate to the workspace chat and create an expense, selecting the tax rate from step 3
Verify that the tax rate and tax amount are displayed correctly in the expense details
Navigate to the workspace settings and change the value for the used tax rate
Navigate to the expense details and observe the Tax field and the Tax amount field
Expected Result:
The previous tax rate and amount are displayed in the Tax field and Tax amount field for the existing expense details after updating the tax value. There is an error on the rate tax rate field telling you it's no longer valid. Changing the tax rate resolves the error and updates the amount.
Actual Result:
dTax field shows the updated value, but there is an error "Tax no longer valid". The tax amount does not change accordingly to a new value. After selecting a different tax rate and returning to the updated one the error is not shown and the amount is calculated correctly
Workaround:
Unknown
Platforms:
Select the officially supported platforms where the issue was reproduced:
Android: App
Android: mWeb Chrome
iOS: App
iOS: mWeb Safari
iOS: mWeb Chrome
Windows: Chrome
MacOS: Chrome / Safari
MacOS: Desktop
Platforms Tested:
On which of our officially supported platforms was this issue tested:
Android: App
Android: mWeb Chrome
iOS: App
iOS: mWeb Safari
iOS: mWeb Chrome
Windows: Chrome
MacOS: Chrome / Safari
MacOS: Desktop
Screenshots/Videos
Add any screenshot/video evidenceBug6980011_1760985190594.Tax_rate_not_valid.mp4
@zsgreenwald@heyjennahay@MonilBhavsar I see you worked on tax tracking. Is this a bug? I am not sure we want to automatically update the tax amount for existing expenses if you change the rate.
Perhaps the bug is that we do update the tax rate for existing expenses, and we should instead show the prior rate + amount (with the violation) unless you change the toggle the rate or something?
Hmm I'm not sure if we actually considered this scenario.
If the tax rate use is disabled then I would expect to see the "Rate not valid" violation
Given the underlying tax rate itself is still active and just the amount is changed, I would expect that for editable expenses, the tax amount would be updated
Testing this in OldDot it also seems totally broken 😅
The tax rate IS updated but to a totally random one, neither the existing or the default
The tax amount isn't updated
The default tax message incorrectly states the default rate is one other than the one set in the workspace
My gut tells me that if a rate is changing that the user will create a new tax rate rather than modify the existing one which is probably why we never came across this bug before.
That said, I think we should treat the "old" version of the rate like an invalid tax rate so:
Flag tax rate as being invalid
Don't change the amount
Flag the tax amount as also being invalid (maybe?)
To resolve, the user should re-select the rate from the list then we set the "new" version of the tax rate and re-calculate the tax amount
Which is effectively what we do now in ND.
The alternative is that we just update according to the new tax rate amount on expenses where it is allowed (i.e. prior to approval) and don't show that the expense had a different one applied. As long as updates are restricted to editable expenses then I don't think it's a huge problem and maybe would remove some confusion from users.
📣 @hasib711! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:
Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
That said, I think we should treat the "old" version of the rate like an invalid tax rate so:
Flag tax rate as being invalid
Don't change the amount
Flag the tax amount as also being invalid (maybe?)
To resolve, the user should re-select the rate from the list then we set the "new" version of the tax rate and re-calculate the
tax amount. Which is effectively what we do now in ND.
This makes sense to me and is what I was thinking here. To do this, we'd just need to not change the tax rate / amount on existing expenses when you update the rate, and continue showing the violation.
changed the title [-]Tax - Tax is no longer valid error shown in IOU details after editing tax rate value[/-][+][$250] Tax - Tax is no longer valid error shown in IOU details after editing tax rate value[/+]on Oct 23, 2025
Yes. It was quite an involved issue with a lot of discussion to align on the correct solution, so it felt reasonable to me not to reduce based on that. Let me know if you have concerns with that @mallenexpensify
Activity
melvin-bot commentedon Oct 20, 2025
Triggered auto assignment to @joekaufmanexpensify (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.joekaufmanexpensify commentedon Oct 21, 2025
@zsgreenwald @heyjennahay @MonilBhavsar I see you worked on tax tracking. Is this a bug? I am not sure we want to automatically update the tax amount for existing expenses if you change the rate.
Perhaps the bug is that we do update the tax rate for existing expenses, and we should instead show the prior rate + amount (with the violation) unless you change the toggle the rate or something?
heyjennahay commentedon Oct 21, 2025
Hmm I'm not sure if we actually considered this scenario.
If the tax rate use is disabled then I would expect to see the "Rate not valid" violation
Given the underlying tax rate itself is still active and just the amount is changed, I would expect that for editable expenses, the tax amount would be updated
Testing this in OldDot it also seems totally broken 😅
My gut tells me that if a rate is changing that the user will create a new tax rate rather than modify the existing one which is probably why we never came across this bug before.
That said, I think we should treat the "old" version of the rate like an invalid tax rate so:
Which is effectively what we do now in ND.
The alternative is that we just update according to the new tax rate amount on expenses where it is allowed (i.e. prior to approval) and don't show that the expense had a different one applied. As long as updates are restricted to editable expenses then I don't think it's a huge problem and maybe would remove some confusion from users.
Thoughts @joekaufmanexpensify @MonilBhavsar @zsgreenwald ?
hasib711 commentedon Oct 21, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Update tax amount when tax rate was changed.
What is the root cause of that problem?
When the report information is displayed, we consider it to reflect the updated transaction.
However, we do not input the updated transaction.
App/blob/main/src/components/ReportActionItem/MoneyRequestView.tsx
Line 117
App/blob/main/src/pages/home/report/ReportActionItemContentCreated.tsx
Line 184
What changes do you think we should make in order to solve the problem?
We need to input the updated transaction
What alternative solutions did you explore? (Optional)
melvin-bot commentedon Oct 21, 2025
📣 @hasib711! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:
Format:
hasib711 commentedon Oct 21, 2025
Contributor details
Your Expensify account email: hasibupwork711@gmail.com
Upwork Profile Link: https://www.upwork.com/freelancers/~015950e9572980f803
melvin-bot commentedon Oct 21, 2025
✅ Contributor details stored successfully. Thank you for contributing to Expensify!
joekaufmanexpensify commentedon Oct 22, 2025
This makes sense to me and is what I was thinking here. To do this, we'd just need to not change the tax rate / amount on existing expenses when you update the rate, and continue showing the violation.
joekaufmanexpensify commentedon Oct 23, 2025
Updated OP to reflect that
melvin-bot commentedon Oct 23, 2025
Job added to Upwork: https://www.upwork.com/jobs/~021981443480364943722
[-]Tax - Tax is no longer valid error shown in IOU details after editing tax rate value[/-][+][$250] Tax - Tax is no longer valid error shown in IOU details after editing tax rate value[/+]165 remaining items
joekaufmanexpensify commentedon Mar 30, 2026
That's reasonable, I am good with that 👍
joekaufmanexpensify commentedon Mar 30, 2026
Regression test issue: https://github.com/Expensify/Expensify/issues/618015
joekaufmanexpensify commentedon Mar 30, 2026
Payment Summary
joekaufmanexpensify commentedon Mar 30, 2026
@huult $250 sent and contract ended
joekaufmanexpensify commentedon Mar 30, 2026
@thesahindia please request payment at your earliest convenience. Closing as this is otherwise all set 👍
mallenexpensify commentedon Mar 30, 2026
Did the PR from here cause a regression? If so, pay should be reduced. If not, provide reasoning. @huult @thesahindia
huult commentedon Mar 31, 2026
@thesahindia is currently OOO, so I’ll step in to help collect and re-share the relevant information.
These are regression issues caused by our PR:
#85652
#85730
#85729
He is explained in this comment: #73033 (comment)
FYI @mallenexpensify
joekaufmanexpensify commentedon Mar 31, 2026
Yes. It was quite an involved issue with a lot of discussion to align on the correct solution, so it felt reasonable to me not to reduce based on that. Let me know if you have concerns with that @mallenexpensify
garrettmknight commentedon Jul 28, 2026
$250 approved for @thesahindia