| RN14.1 | Toda operação sobre uma Pessoa vinculada a um Fornecedor (inserir, atualizar, ativar/inativar) exige que o Fornecedor já exista, localizado por CNPJ. |
| RN14.3 | Ao inserir uma Pessoa pela busca por CPF: se já existir uma Pessoa (cadastro global) com o mesmo CPF e do mesmo tipo, ela é reaproveitada e apenas vinculada ao novo Fornecedor — o cadastro de Pessoa não é duplicado. |
| RN14.6 | A edição de uma Pessoa altera o cadastro compartilhado dela: como a mesma Pessoa pode estar vinculada a mais de um Fornecedor, editar Nome, CPF, E-mail ou Telefone por um vínculo propaga a mudança para todos os Fornecedores que compartilham essa Pessoa. |
| RN14.8 | Inserir e Atualizar uma Pessoa disparam, de forma síncrona, a criação/atualização do usuário do fornecedor correspondente; falha nessa integração impede que o vínculo/pessoa seja salvo. |
| RN14.9 | Não existe exclusão física do vínculo entre Fornecedor e Pessoa, só ativação/inativação — e o status é do vínculo, não da Pessoa: a mesma Pessoa pode estar ativa em um Fornecedor e inativa em outro. |
| RN14.11 | O formulário de Pessoa exige buscar pelo CPF antes de liberar os demais campos; encontrada uma Pessoa existente, o CPF fica bloqueado. |
| RN58.1 | A entidade Fornecedor não tem campo de status/ativação — a única forma de "desativar" é excluir (hard delete), sem inativação lógica. |
| RN58.2 | CNPJ aceita o formato numérico tradicional (14 dígitos) ou o novo alfanumérico da IN RFB 2.229/2024. |
| RN58.3 | CNPJ é obrigatório e único, validado de forma assíncrona e reforçado por índice único no banco. |
| RN58.4 | CNPJ é imutável após a criação. |
| RN58.5 | Razão social, nome fantasia, e-mail, telefone e sigla são obrigatórios tanto no Inserir quanto no Atualizar. |
| RN58.6 | Endereço é opcional como bloco, mas assim que qualquer campo é preenchido, CEP/logradouro/número/bairro/município/UF passam a ser obrigatórios — só o complemento continua opcional. |
| RN58.7 | Ao inserir/atualizar, a Administração propaga sincronamente o cadastro para Convênios (e Contratos, quando habilitado) antes de persistir localmente; falha na resposta aborta a operação. |
| RN58.8 | Ao inserir um Fornecedor com o módulo Contratos habilitado, existe um bug conhecido na integração: uma condição invertida no código pode causar falha na inserção mesmo quando a resposta da propagação para Contratos é bem-sucedida (ajuste já sinalizado como pendente no código). |
| RN58.9 | Na exclusão, dispara evento de sincronização usando o CNPJ; falha na resposta aborta a exclusão. Não há verificação de dependências (usuários, pessoas vinculadas) antes de excluir. |
| RN58.11 | A listagem de fornecedores não expõe botão de exclusão — a exclusão continua acessível só via API direta. |
| RN58.12 | O preenchimento automático de endereço por CEP sobrescreve logradouro/bairro/município/UF em maiúsculas; falha da consulta é silenciosa e não bloqueia o preenchimento manual. |
| RN67.1 | O vínculo de um Usuário com um Fornecedor é identificado pela combinação Usuário + Fornecedor — o mesmo usuário não pode ter dois registros para o mesmo fornecedor. |
| RN67.2 | Ao inserir um Usuário pela aba do Fornecedor, o sistema verifica se já existe um vínculo com o mesmo e-mail ou CPF para aquele fornecedor — pela tela, a duplicidade sempre falha. |
| RN67.3 | Se já existir um Usuário Externo (de outro fornecedor) com o mesmo e-mail ou CPF, o cadastro é reaproveitado — cria-se apenas o novo vínculo com este fornecedor, sem duplicar o Usuário; assim, um usuário externo pode ficar vinculado a múltiplos fornecedores. |
| RN67.4 | Todo novo vínculo entre Usuário e Fornecedor nasce com status Ativo. |
| RN67.5 | O e-mail de boas-vindas só é disparado quando o Usuário é criado nessa inserção — se o cadastro foi reaproveitado (RN67.3) para vincular a mais um fornecedor, nenhum e-mail é reenviado. |
| RN67.6 | Se faltar configuração para o envio do e-mail de boas-vindas, o Usuário e o vínculo já ficam salvos mesmo assim — só o envio do e-mail falha, retornando erro. |