Sistema de Controle de Estoque
Contents
Usuário/Acesso ao Sistema
O sistema deverá armazenar o cadastro dos usuário que podem acessar o sistema. Este cadastro deve conter: nome completo, telefone, e-mail, usuário e senha. Não existirá duplicações de nome de usuário ou e-mail. Para realizar qualquer operação no sistema o usuário deverá autenticar-se. A autenticação deverá ser solicitada na abertura do sistema e será válida até o seu fechamento ou até uma solicitação para encerrar a sessão de trabalho. A senha deverá ser armazenada criptografada. Se o usuário esquecer sua senha o sistema deverá gerar uma nova e enviar para o e-mail cadastrado.
Cadastro de Produtos
Os produtos deverão ser cadastrados com os seguintes dados: código de barras, nome do produto, estoque mínimo, margem de lucro, medida (kg, g, ml, L, etc) e quantidade na unidade. Não poderá existir produtos com mesmo código de barra ou nome. Os valores de “medida” e “quantidade na unidade” serão preenchidos conforme o seguinte exemplo: se o produto Ração é geralmente comprado em sacos de 20kg então o valor de “medida” será “kg” e o valor de “quantidade na unidade” será 20.
Entrada no Estoque
A entrada de produtos no estoque pode-se dar por unidade (quantidade de sacos de ração) ou por valores na medida (kg de ração). No momento da inserção o usuário deve informar qual a forma que deseja utilizar. Para dar entrada em qualquer produto o usuário necessita informar o número da nota fiscal de compra e valor de compra e o sistema deve registrar a data e o usuário que executou a operação.
Baixa no Estoque
A saída dos produtos só será possível através da venda. Para realizar a venda o usuário deverá pesquisar e selecionar os produtos a serem vendidos e informar a quantidade em unidades ou na medida de cada um. (Caso a linguagem suporte, no momento da venda deverá ser exibida a foto do produto.) Só será aceito pagamento em dinheiro. O preço de venda será calculado conforme a margem de lucro, o valor de compra e o estoque, como na fórmula:
Preço de Venda = ((estoque * preço de compra médio do estoque + quantidade entrada * novo preço de compra) / estoque+quantidade entrada)*(1+margem de lucro do produto)
Deve ser possível definir as seguintes permissões de usuário: tem ou não acesso ao cadastro de produtos, tem ou não acesso ao cadastro de usuários, pode ou não dar entrada no estoque, pode ou não efetuar uma venda.
Os seguintes relatórios devem ser disponibilizados para consulta:
- Lista de produtos cadastrados com seus respectivos preços de venda.
- O cabeçalho deve conter o nome do programa e a data de geração.
- Deve-se listar código, nome do produto e preço de venda do produto na unidade monetária atual. O usuário pode optar por exibir ou não a margem de lucro.
- Lista de produtos cadastrados com estoque maior que um valor informado pelo usuário.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO PRODUTOS COM ESTOQUE MAIOR QUE N”, substituindo N pelo número informado pelo usuário.
- Deve-se listar código de barras, nome do produto, estoque e valor do estoque (preço de compra médio * estoque).
- Lista de produtos cadastrados com estoque menor que o estoque mínimo (anteriormente cadastrado em cada produto).
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO PRODUTOS COM ESTOQUE MENOR QUE O MÍNIMO”.
- Deve-se listar código de barras, nome do produto, estoque e valor do estoque (preço de compra médio * estoque).
- Lista de produtos vendidos nos últimos N dias, sendo N um número informado pelo usuário.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO PRODUTOS VENDIDOS NOS ÚLTIMOS N DIAS”, sendo N o número informado pelo usuário.
- Deve-se listar código de barras, nome do produto, estoque e valor do estoque (preço de compra médio * estoque).
Observações Gerais
Caso a linguagem dê suporte, todas as páginas dos relatórios devem ser numeradas da seguinte forma: Página “P de X”, sendo P a página atual e X a última página. Começar contagem em 1 a partir da primeira pagina.
O estoque deve ser listado conforme uma das opções abaixo a critério dos desenvolvedores:
- N e MK, sendo N unidades “inteiras”, M a fração e K a unidade de medida.
- MK, sendo M a fração e K a unidade de medida.