Primeiro commit

O problema estava na diretiva ng-options do Angular JS que retornava os indices a partir do 0 com a seguinte linha:
ng-options="fornecedor.id as fornecedor.nome for fornecedor in fornecedores"

Quando detectei esse comportamento do angular, a única forma que consegui resolver na hora foi adicionando +1 ao id passado, porém, procurando a solução descobri que a forma correta de montar a lista nesse caso seria assim:

ng-options="fornecedor.nome for fornecedor in fornecedores track by fornecedor.id"

Dessa forma o problema foi corrigido.