user64911: Simple question but I can’t find the answer again.
Where is the code which rejects transactions when the value of inputs is below the value of outputs (because I think to recall that check works like this) ?
And what’s the exact error message which is sent to the log in that case ?

user90837: Below is the code that checks that the inputs consumed are greater than the output
const CAmount value_out = tx.GetValueOut();
if (nValueIn < value_out) {
    return state.DoS(100, false, REJECT_INVALID, "bad-txns-in-belowout", false,
        strprintf("value in (%s) < value out (%s)", FormatMoney(nValueIn), FormatMoney(value_out)))

You can find it here. 

64911: <p>Simple question but I can’t find the answer again.<br>
Where is the code which rejects transactions when the value of inputs is below the value of outputs (because I think to recall that check works like this) ?</p>

<p>And what’s the exact error message which is sent to the log in that case ?</p>
 90837: <p>Below is the code that checks that the inputs consumed are greater than the output</p>

<pre><code>const CAmount value_out = tx.GetValueOut();
if (nValueIn &lt; value_out) {
    return state.DoS(100, false, REJECT_INVALID, "bad-txns-in-belowout", false,
        strprintf("value in (%s) &lt; value out (%s)", FormatMoney(nValueIn), FormatMoney(value_out)))
</code></pre>

<p>You can find it <a href="https://github.com/bitcoin/bitcoin/blob/master/src/consensus/tx_verify.cpp#L187" rel="nofollow noreferrer">here</a>. </p>
