I think the biggest challenge is that negative numbers are fundamentally a hack in this context. You don't have negative $100 in your bank account, and you don't pay negative $100 for something. Instead, you are $100 in debt or you receive $100, which is qualitatively different. Such qualitative differences should be represented using the type system.
Overdrafting accounts or negative balance in a bank account has nothing to do with what I was talking about.
A negative number in my comment is just the "from" part of a flow.
Just like in engineering, if you consider a dam, you can talk about the outflow as "-100 L/min" to indicate that the dam looses 100 litres per minute, for instance.
That does not mean that the litres of water anywhere ever becomes negative.
You do not say using negative numbers in engineering is a hack just because some numbers (like volume of water in the dam) is constrained to be positive.
In accounting one instead talks about the dam being debited 100 L and the electric plant being credited 100 L. That is basically just a different way of spelling "minus". It is the same thing just using different words.
And it is of course entirely possible to overdraft an account by debiting too much and get an invalid state entirely without negative numbers.
Negative numbers are actually a "hack" (or useful invention) in engineering and everywhere else too. They don't actually "exist", it is an abstraction similar to imaginary numbers and real numbers. But all of these are useful.