====== Especificação funcional: Pessoas ====== ===== Resumo ===== O cadastro de pessoas gerencia os dados de todas as pessoas para as quais podem ser registrados títulos a pagar e a receber. Através deste módulo será possível incluir, excluir, alterar e visualizar os dados de pessoas. ===== Descrição ===== O cadastro de pessoas é necessário para que possam ser registrados títulos a pagar e a receber no sistema. Para que uma pessoa possa ter um título vinculado a ela é necessário que esta pessoa esteja cadastrada e ativa no sistema (campo Situação definido como Ativa). ==== Dados da pessoa ==== |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ | **Pessoa** ||||| |Tipo |Tipo de pessoa (física ou jurídica) | Texto | 15 | Sim | |Razão Social/Nome |Razão social (pessoa jurídica) ou Nome (pessoa física) da pessoa | Texto | 60 | Sim | |Nome Fantasia/Apelido |Nome fantasia (pessoa jurídica) ou Apelido (pessoa física) da pessoa | Texto | 60 | Não | |CNPJ/CPF |CNPJ (pessoa jurídica) ou CPF (pessoa física) da pessoa | Texto | 18 | Não | |Insc. Estadual/RG |Inscrição estadual (pessoa jurídica) ou RG (pessoa física) da pessoa | Texto | 18 | Não | |Grupo |Grupo ao qual a pessoa pertence | Texto | 20 | Não | |Situação |Indica a situação da pessoa no sistema | Texto | 07 | Sim | |Código interno |Campo livre que pode ser usado para definir um código interno para cada pessoa | Texto | 30 | Não | |Limite de crédito |Valor limite para o lançamento de títulos a receber para a pessoa | Numérico | 11 | Não | |Limite disponível |Diferença entre o limite de crédito e a soma dos títulos a receber da pessoa (calculado automaticamente)| Numérico | 11 | Não | |Centro de custo padrão |Centro de custo que será atribuído automaticamente nos títulos da pessoa | -- | -- | Não | |Data de Cadastro |Data do cadastro da pessoa no sistema (atribuído automaticamente) | Data | -- | Não | |Observações |Informações adicionais sobre a pessoa | Texto | 2000 | Não | |Isenta de cobrança |Indica que os títulos dessa pessoa não devem ser cobrados (Módulo de cobrança) | -- | -- | Sim | | **Endereços** ||||| |Tipo |Tipo de endereço: Geral (endereço principal), Comercial, Residencial e Correspondência | Texto | 45 | Sim | |Logradouro |Endereço da pessoa | Texto | 80 | Sim | |Número |Número do logradouro da pessoa | Texto | 05 | Não | |Complemento |Complemento do endereço da pessoa | Texto | 80 | Não | |Bairro |Bairro da pessoa | Texto | 30 | Não | |Município |Município da pessoa | Texto | 60 | Não | |UF |Iniciais da UF da pessoa | Texto | 02 | Não | |País |País da pessoa | Texto | 60 | Não | |Cep |Cep do endereço da pessoa | Número | 09 | Não | | **Contatos** ||||| |Tipo |Tipo do contato: principal ou adicional (atribuído automaticamente) | Texto | 09 | Sim | |Nome |Nome do contato | Texto | 60 | Não | |Cargo |Cargo do contato | Texto | 30 | Não | |Telefone |Telefone do contato | Texto | 18 | Não | |Fax |Fax do contato | Texto | 18 | Não | |Celular |Celular do contato | Texto | 18 | Não | |Email |Email do contato | Texto | 50 | Não | === Endereços alternativos e contatos === Cada pessoa poderá ter uma lista de endereços alternativos e contatos. Para cada contato poderá ser adicionado um e-mail e ativada/desativada a opção de enviar e-mails automáticos. Caso esta opção esteja ativa, qualquer e-mail enviado automaticamente para essa pessoa será enviado tanto para o e-mail principal quanto para o e-mail cadastrado no contato. ==== Funcionalidades ==== === Lista de pessoas === A lista de pessoas deverá ser exibida através de uma grade de dados, contendo todas as pessoas cadastradas no sistema. Os registros desta grade deverão estar coloridos de acordo com a situação de cada pessoa, sendo que as ativas devem ser exibidas na cor preta, enquanto as inativas devem ser exibidas na cor cinza. === Cadastro === Qualquer pessoa pode ser cadastrada no sistema, desde que sejam definidos seu tipo (física ou jurídica) e seu nome. === Exclusão e alteração === Qualquer pessoa pode ter seus dados alterados. Quanto a exclusão, apenas pessoas que não estiverem vinculadas a nenhum título poderão ser excluídas. === Visualização === Qualquer pessoa pode ser visualizada, independente de sua situação. ==== Ferramentas ==== === Mesclar Pessoas === A ferramenta Mesclar Pessoas permite que o usuário unifique dois cadastros referentes a mesma pessoa. Para isso, o usuário deverá selecionar os dois cadastros idênticos e decidir qual dos dois irá manter. Antes disso, o usuário poderá atualizar o cadastro que deseja manter arrastando os dados entre os dois cadastros selecionados. Após decidir qual cadastro deverá ser mantido, o sistema irá modificar os vínculos dos cadastros com as demais partes do sistema e irá excluir o cadastro que foi rejeitado. Após esta operação, o cadastro que foi mantido no sistema será aberto para que o usuário possa fazer outros ajustes (se necessário) que não foram realizados automaticamente. **Observação:** O sistema irá atualizar automaticamente apenas os dados da pessoa, do contato principal e do endereço principal. As listas de contatos e endereços adicionais dos dois cadastros serão somadas, mas contatos e endereços repetidos não serão mesclados automaticamente. === Localizar Pessoas inativas === A ferramenta Localizar Pessoas inativas permite que o usuário localize as pessoas que estão cadastradas no sistema mas que não estão ativas de acordo com os seguintes critérios: * **Sem movimentações**: Pessoas que estão cadastradas mas que não possuem nenhum título vinculado (inclusive as pessoas com situação inativa); * **Sem movimentações nos últimos seis meses**: Pessoas que estão cadastradas e que possuem vínculos financeiros (títulos a pagar ou a receber), mas esses vínculos foram movimentados (emitidos, vencidos, pagos ou recebidos) a mais de seis meses; * **Sem movimentações no último ano**: Pessoas que estão cadastradas e que possuem vínculos financeiros (títulos a pagar ou a receber), mas esses vínculos foram movimentados (emitidos, vencidos, pagos ou recebidos) a mais de um ano; Após selecionar o critério de localização, o sistema irá fazer uma busca e preencher uma lista com as pessoas que satisfaçam o critério estabelecido. O usuário poderá então marcar as pessoas desejadas e realizar uma das duas ações: - **Excluir as pessoas marcadas**: Exclui definitivamente o cadastro de todas as pessoas marcadas (apenas se estas pessoas estiverem sem movimentações); - **Marcar como inativas**: Modifica a situação das pessoas marcadas para Inativa. **Observação:** A exclusão das pessoas é irreversível. A definição da situação como inativa pode ser revertida, mas para isso será necessário editar manualmente cada pessoa. === Importar pessoas === A ferramenta de importação de pessoas permite extrair dados de pessoas vinculados a notas fiscais eletrônicas (NF-e) ou conhecimentos de transporte eletrônicos (CT-e). Os tipos de pessoa que podem ser extraídos são: * NF-e: * Emitente * Destinatário * Transportador * CT-e: * Emitente * Tomador * Expedidor * Recebedor * Remetente * Destinatário O sistema deve fornecer quatro origens para a importação de pessoas: Um arquivo ou múltiplos arquivos de NF-e e um arquivo ou múltiplos arquivos de CT-e. Definindo a origem e selecionando o arquivo XML ou a pasta onde os arquivos estão armazenados, o sistema deverá exibir uma lista com todas as pessoas extraídas do(s) arquivo(s) selecionados. Ao processar o(s) arquivo(s), o sistema não deve carregar pessoas duplicadas. Para isso, o sistema irá verificar se o documento da pessoa que está sendo importada (CPF ou CNPJ) já existe na lista de pessoas a importar. Caso exista, a pessoa é ignorada. Devido a essa funcionalidade, caso existam várias pessoas iguais em arquivos XML diferentes, os dados dessa pessoa irão sempre corresponder à primeira ocorrência dessa pessoa encontrada pelo sistema, e não ao cadastro mais completo/correto. O sistema também deve identificar, através do documento (CPF ou CNPJ), as pessoas que já estão cadastradas no sistema. Caso encontre alguma, essa pessoa deve constar na lista de forma destacada e, caso o usuário selecione essa pessoa para ser importada, o sistema irá substituir os dados pré cadastrados pelos dados da pessoa que está sendo importada. Após o preenchimento da lista pelo sistema, o usuário deverá ter a opção de marcar quais pessoas serão importadas e quais serão ignoradas. Para facilitar esse processo, além de permitir a marcação direta de cada pessoa, o sistema deve prover atalhos para marcar todas as pessoas, desmarcar todas ou inverter a marcação. Além disso, o sistema deve permitir a marcação de todas as pessoas de um mesmo tipo (destinatário, tomador, ...). === Histórico da pessoa === O Histórico da Pessoa é um relatório que exibe todos os títulos vinculados à uma pessoa específica em um determinado período. Para gerar o histórico, o sistema deve permitir que uma pessoa seja selecionada e um período seja informado. Além disso, o usuário deverá ter as opções de filtrar os títulos por operação (títulos a pagar ou a receber) e informar se quer ou não incluir os títulos já quitados. === Filtrar contato === Essa opção filtra os dados do grid pelo nome do contato vinculado a pessoa. ===== Configurações e preferências do usuário ===== * **Validar CPF/CNPJ:** Verifica se o documento é válido caso esta opção esteja marcada nas configurações do sistema. * **Verifica a ocorrência de números de documento (CPF/CNPJ) iguais:** Caso esta opção esteja marcada, o sistema exibe uma mensagem de aviso ao tentar incluir uma pessoa cujo número do CPF/CNPJ já tenha incidência no sistema. ===== Pontos de verificação ===== ==== Cadastro ==== * Uma pessoa só pode ser incluída se todos os campos obrigatórios estiverem preenchidos; * Uma pessoa só pode ser excluída se não estiver vinculada a algum título; * Caso um cep seja informado no cadastro, o mesmo deverá ser validado com relação a sua UF. Caso não seja informada UF o cep não será validado. * Caso a configuração de "Verificar a ocorrência de números de documento(CPF/CNPJ) iguais" esteja habilitada, o sistema deverá bloquear o cadastro ou alteração de documentos semelhantes no sistema. ==== Mesclar Pessoas ==== * Após mesclar dois cadastros de pessoa, todos os títulos referentes ao cadastro rejeitado devem estar vinculados ao cadastro que foi mantido; * Os dados do cadastro que foi mantido devem estar atualizados de acordo com os ajustes realizados pelo usuário antes da mesclagem; * As listas de contatos adicionais e endereços adicionais devem ser somadas após a mesclagem; * O campo Observações do cadastro que foi mantido deve conter os dados dos dois cadastros; * O cadastro que foi rejeitado deve ser excluído do sistema após a mesclagem; * O sistema deverá abrir o cadastro que foi mantido no sistema para que o usuário possa alterar manualmente os dados; * Se o usuário cancelar a alteração manual dos dados, realizada após a mesclagem, a mesclagem não deve ser desfeita ou cancelada. ==== Localizar Pessoas inativas ==== * Ao localizar pessoas sem movimentações, o sistema deve trazer todas as pessoas encontradas, independente da sua situação (ativas ou inativas); * A opção de excluir as pessoas marcadas somente deve estar ativa se o critério de localização for //Pessoas sem movimentações//; * Ao localizar pessoas inativas por um determinado período, apenas as pessoas ativas devem ser exibidas na lista; * Apenas as pessoas marcadas na lista devem sofrer a ação escolhida pelo usuário; * Após o usuário realizar uma ação, o sistema deve refazer a busca pelo mesmo critério e listar as demais pessoas que não foram marcadas; * Caso alguma exceção seja causada pela validação da pessoa na persistência, o sistema deverá exibir a mensagem de advertência informando o erro. ==== Importar pessoas ==== * Cada pessoa só deve constar uma vez na lista de pessoas a importar, independente de quantas vezes essa pessoa aparece nos documentos fiscais; * Pessoas que já estão cadastradas devem aparecer em destaque na lista (e desmarcadas para importação); * Pessoas ainda não cadastradas devem vir marcadas para importação por padrão; * O tipo da pessoa (emitente, tomador, ...) deve constar no campo "Grupo" da pessoa; * O usuário deve ser capaz de marcar/desmarcar qualquer pessoa da lista para importação; * O usuário deve ser capaz de marcar todas as pessoas de um mesmo grupo automaticamente; * O usuário deve ser capaz de ordenar a lista de pessoas por qualquer coluna. ==== Histórico da Pessoa ==== * Os títulos não quitados exibidos devem ter a data de vencimento dentro do período selecionado, independente da data em que foram realizadas as outras operações(competência, baixa, ...); * Os títulos quitados exibidos devem ter a data de pagamento dentro do período selecionado, independente da data em que foram realizadas as outras operações (competência, baixa, ...); * Somente os títulos da operação selecionada deverão ser exibidos no histórico (de acordo com a opção do usuário); * Os títulos já quitados devem ser exibidos apenas quando o usuário optar por incluir esta informação no histórico; * As opções de filtros "Títulos a Pagar" e "Títulos a Receber" devem vir selecionadas por padrão; * Os títulos já quitados, quando exibidos, devem ser incluídos em uma listagem própria. ===== Observações ===== Nenhuma. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~