# Nova Página

<table border="1" id="bkmrk-%C2%A0-projeto%2Fsistema%3Age" style="border-collapse: collapse; width: 100.123%; height: 68px;"><tbody><tr style="border-style: solid;"><td rowspan="3" style="width: 26.6667%; height: 68px; border-color: black; border-top-style: hidden; border-left-style: hidden; border-bottom-style: hidden;">  
 ![Softensistemas Logo](https://www.softensistemas.com.br/assets/img/logo.webp)

</td><td style="width: 49.9999%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Projeto/Sistema:**</span>  
<span style="color: #000000;">MVP Gerencie Vendas</span></td><td class="align-center" style="width: 23.3333%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do *Template:***</span>  
<span style="color: #000000;">1.2</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Processo:**</span>  
<span style="color: #000000;">Sincronização de tabelas de complementos e variações</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do Documento:**</span>  
<span style="color: #000000;">1.0</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Responsável(eis):** </span>  
<span style="color: #000000;">Jalile Cornachioni</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Data:** </span>

<span style="color: #000000;">26/08/2025</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">**1. Introdução**</span>

Hoje, a sincronização de produtos do **Gerencie Aqui (GA – retaguarda)** para o **Gerencie Vendas (GV – mobile)** considera apenas a tabela principal de produtos, o que impede o usuário do app de selecionar corretamente **variações (grades)** e **complementos**.  
Além disso, a busca via **código de barras** e a organização da listagem por **categorias** não atendem plenamente às necessidades de **varejo, atacado e food-service**.

O objetivo desta melhoria é:

1. Ampliar a sincronização GA → GV para incluir **ProdutoVariacaoItem** e **ProdutoComplemento**.
2. Permitir no GV a seleção de variações e complementos no fluxo de venda.
3. Garantir a volta das vendas GV → GA com consistência.
4. Viabilizar emissão de documentos fiscais no GA a partir das vendas sincronizadas.
5. Registrar logs completos, tratar erros e exceções.
6. Ajustar usabilidade: busca, código de barras e listagem por categorias.

##### <span style="color: #000000;">**2. Processo**</span>

[![Fluxograma - adaptação totem.jpg](https://docs.softensistemas.com.br/uploads/images/gallery/2025-08/scaled-1680-/fluxograma-adaptacao-totem.jpg)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-08/fluxograma-adaptacao-totem.jpg)

<table cellpadding="9" cellspacing="0" id="bkmrk-processo-envolvidos-" style="width: 100%;" width="100%"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Processo**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 19%;" width="19%"><span style="font-size: small; color: #000000;">**Envolvidos**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Entrada**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black; width: 27%;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Saída**</span>

</td></tr><tr><td style="width: 27%;">Sincronização de Produtos (GA → GV)</td><td style="width: 19%;">GA (Retaguarda), GV (Mobile)</td><td style="width: 27%;">Produtos, Variações, Complementos</td><td style="width: 27%;">Tabelas locais do GV atualizadas, Logs</td></tr><tr><td style="width: 27%;">Venda no GV (Mobile)</td><td style="width: 19%;">Usuário (Vendedor), GV</td><td style="width: 27%;">Produto selecionado, variação, complementos</td><td style="width: 27%;">Pedido registrado no GV</td></tr><tr><td style="width: 27%;">Sincronização de Vendas (GV → GA)</td><td style="width: 19%;">GV, GA</td><td style="width: 27%;">Pedidos com produtos + variações + complementos</td><td style="width: 27%;">Pedidos integrados no GA, Logs</td></tr><tr><td style="width: 27%;">Emissão Fiscal (GA)</td><td style="width: 19%;">GA, SEFAZ</td><td style="width: 27%;">Pedidos recebidos</td><td style="width: 27%;">NF-e ou NFC-e emitidas, Logs</td></tr><tr><td style="width: 27%;">Cenários de Erro e Exceção</td><td style="width: 19%;">GA, GV</td><td style="width: 27%;">Erros de sincronização, inconsistências</td><td style="width: 27%;">Mensagens ao usuário, Logs, Marcações de inconsistência</td></tr></tbody></table>

#### **Especificação Funcional**

- - - - - -

##### ***Protótipo de Tela:***

##### ***Descrição dos Campos:***

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 843px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">Campo</span>

</td><td style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span>

</td><td style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">100</span>

</td><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span>

</td><td style="width: 119px; border-style: solid; border-color: black;">-

</td><td style="width: 201px; border-style: solid; border-color: black;">-

</td></tr></tbody></table>

##### ***Regras de Interface:***

***1. Exemplo de regras do campo:*** Descrição das regras de interface ou de tela. Eventos em campos ou botões, bloqueios ou desbloqueios e outras alterações.

##### ***Regras de Negócio:***

**1. Sincronização de Produtos (GA → GV)**

- Produtos simples, com variação e com complemento devem ser enviados.
- Alterações/exclusões no GA devem refletir no GV.
- Logs devem registrar quantidade enviada, recebida e erros (ex.: produto sem NCM, variação sem item).

**2. Venda no GV (Mobile)**

- Usuário deve conseguir vender produtos simples, com variação e com complementos.
- Seleção de variação deve ser obrigatória quando o produto exigir.
- Complementos devem ser opcionais.
- Código de barras:
- - Item principal → abre seleção de variação.
    - Variação → identifica direto.
    - Código duplicado → lista opções.
    - Código inexistente → mensagem “Produto não encontrado” e registro em log.

**3. Sincronização de Vendas (GV → GA)**

- Todos os pedidos devem ser integrados sem perda de dados.
- Pedido no GA deve refletir fielmente produto + variação + complemento.
- Alterações no GA (quantidade, forma de pagamento, preço) devem ser aceitas.
- Logs devem registrar número de pedidos recebidos, integrados e rejeitados.

**4. Emissão Fiscal (GA)**

- Deve ser possível gerar NF-e e NFC-e a partir dos pedidos recebidos.
- Dados fiscais devem respeitar CFOP, NCM, CST/CSOSN e tributações.
- Em caso de rejeição (ex.: falta de NCM), sistema deve permitir correção e reemissão.
- Logs devem registrar emissões, rejeições e correções.

**5. Cenários de Erro e Exceção**

- Produto inativo → não deve aparecer no GV.
- Venda offline no GV → deve ser armazenada localmente e enviada quando houver rede.
- Pedido duplicado → não deve ser integrado em duplicidade no GA.
- Pedido com valor divergente (preço atualizado no GA após venda) → pedido deve ser recebido e marcado como “inconsistente”.

- 

##### ***Questões Técnicas:***

**GA (Retaguarda)**

- Ajustar API de sincronização de produtos para enviar também:
    
    
    - `ProdutoVariacaoItem`
    - `ProdutoComplemento`
- Incluir no payload de produto:
    
    
    - Código de barras do item principal.
    - Código de barras da variação (quando existir).
- Garantir que exclusões, inativação ou alterações em produtos/variações/complementos sejam refletidas na próxima sincronização.

**GV (Mobile)**

- Adaptar sincronização local para gravar produtos + variações + complementos.
- Ajustar listagem de produtos por categorias:
    
    
    - Exibir **apenas itens principais**.
    - Variações devem ser exibidas **após seleção do item principal**.
    - Complementos devem aparecer como **etapa opcional posterior**.
- Implementar busca inteligente:
    
    
    - Busca por nome do produto.
    - Busca por variação (ex.: “camiseta azul P”).
- Implementar leitura de código de barras:
    
    
    - Se bipar código do **item principal** → abrir seleção de variação.
    - Se bipar código da **variação** → lançar direto no carrinho.
    - Se código for duplicado → exibir lista de opções.

**GA (Recebimento das Vendas)**

- Ajustar integração para receber pedidos com:
    
    
    - Produto principal.
    - Variação selecionada.
    - Complementos escolhidos.
- Permitir edição no pedido (quantidade, forma de pagamento, preço).
- Gerar documentos fiscais:
    
    
    - **NF-e** (para atacado/distribuição).
    - **NFC-e** (para varejo/food-service).
- Implementar fila de reenvio em caso de falha na SEFAZ.

##### ***Cenários de Teste***

1. **Food-Service:** Pizza Média + borda recheada → venda no GV, sincronização, edição no GA, emissão de NFC-e.
2. **Atacado:** Cerveja pack 12 unid → venda no GV, sincronização, alteração de preço no GA, emissão de NF-e.
3. **Varejo:** Camiseta Polo G Azul → venda no GV, sincronização, alteração de forma de pagamento no GA, emissão de NFC-e.
4. **Erros:**
    
    
    1. Produto sem NCM → rejeição fiscal.
    2. Código de barras duplicado → exibir lista de escolha.
    3. Venda offline → reenvio após reconexão.

©SOFTEN SISTEMAS 2025