Disclaimer: es ist gut möglich, dass ich nicht verstehe, was du genau meinst. Deine Beschreibung, wie das nachzustellen ist, ist leider recht unvollständig.
Ich muss zugeben, dass ich es sinnvoller finde, wenn mir das Program ungültige Angaben um die Ohren haut, anstatt sie still und heimlich anzupassen. MySQL hat auch so die Angewohnheit, ungültige Eingaben einfach in etwas zu wandeln, von dem es denkt, dass es sie speichern kann. Wie bizarr das in Summe ist und welche komischen Sachen dadurch passieren können: https://www.youtube.com/watch?v=emgJtr9tIME
Wenn ich nichts angebe, dann sage ich de facto »liebes Programm, mach du dir Gedanken, mir ist's egal«. Also sollte kivitendo einfach die nächste freie Nummer wählen (oder welcher Algorithmus auch immer das sein mag).
Wenn ich aber als Benutzer eine Artikelnummer vorgebe, so sollte das Programm entweder meinen Wunsch erfüllen oder mir genau sagen, warum es das nicht machen kann. Das ist der Modus »ich weiß es besser als du«.