No, this doesn't solve the problem, because:
1. You're bleeding money. Saving a buck or two because you fire someone who bought toothpaste is nothing compared to rehiring and knowledge transfer.
2. You're eroding trust. If I was an innocent and honest employee, I would now be scared to submit an expense report. Please, don't bother with "you have nothing to fear" bullshit. You see someone get fired for an expense mistake and naturally you don't think it's worth it for a 10 dollar meal. Same reason a ton of employees don't take time off.
In actuality, they made the problem much worse. Objectively. If their goal was to save money they absolutely aren't doing that.