# Modo de Venda



# Configuração dos modos de vendas

<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;">GERENCIAMENTO DE PROJETOS</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>  
Configuração dos modos de vendas</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.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;">**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;">05/09/2025</span>

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

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

O aplicativo de vendas mobile **GV** será reformulado para atender diferentes cenários de operação comercial, desde representantes externos até pontos de venda em mercados, feiras e quiosques. Para isso, o sistema passará a contar com **modos de venda específicos**, que se adaptam ao perfil de cada cliente, e com a possibilidade de ativar o **Modo Ficha**, recurso que permite a impressão de fichas individuais por produto para retirada posterior.  
Essa evolução tem como objetivo oferecer mais flexibilidade, padronização dos fluxos e atender tanto operações assistidas por vendedores quanto modelos de autoatendimento.

***Comportamento Atual***

Atualmente, o app GV possui um fluxo único de vendas, voltado ao uso por representantes comerciais. Nesse modelo, o usuário precisa selecionar cliente e vendedor, buscar produtos por listagem ou código de barras, montar o carrinho, aplicar descontos e finalizar a venda com diferentes opções de pagamento.  
Esse comportamento não atende adequadamente cenários como **mini-mercados, feiras, eventos, quiosques ou autoatendimento**, onde a jornada do usuário precisa ser mais simples, rápida e sem etapas adicionais. Além disso, não existe a funcionalidade de emissão de **fichas individuais por produto**, recurso essencial em operações de consumo imediato, como bares, lanchonetes e eventos.

***Comportamento Esperado***

Com a reformulação, o app GV contará com três **modos de venda configuráveis**:

1. **Representante** – fluxo completo, com seleção de cliente e vendedor, carrinho editável, descontos e múltiplas formas de pagamento.
2. **PDV** – fluxo rápido para mercados de condomínio ou pequenos varejos, sem cliente, com inclusão de produtos apenas via código de barras, pagamento direto no TEF e sem divisão de pagamento.
3. **Touch (Catálogo/Autoatendimento)** – fluxo visual em grade, ideal para quiosques e autoatendimento, sem cliente e sem descontos, com tela de descanso personalizada.

Além disso, o **Modo Ficha** poderá ser ativado em qualquer fluxo, permitindo a emissão de fichas individuais por produto junto com o comprovante, atendendo especialmente operações de feiras, eventos e quiosques.

O resultado esperado é um aplicativo mais **versátil, escalável e alinhado às diferentes necessidades de operação dos clientes**, permitindo maior adoção e competitividade do produto.

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

[![Fluxo config modo venda.jpg](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/scaled-1680-/fluxo-config-modo-venda.jpg)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/fluxo-config-modo-venda.jpg)

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

- - - - - -

##### [***Protótipo de Tela:*** ](https://www.figma.com/design/CA2GjWd7CVf0Lmn0K14AYo/Fluxo-de-Vendas---Gerencie-Vendas?node-id=2544-1924&t=IYsafmZLJAc1emR7-0)

[![Android.png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/scaled-1680-/android.png) ](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/android.png)[![Android (1).png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/scaled-1680-/android-1.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-09/android-1.png)

- - - - - -

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

##### Configurações do App GV

***1. Modo de Venda (obrigatório)***

Define o fluxo principal que será carregado ao abrir o app:

- **Venda Representante (Valor default)**
- **Venda PDV**
- **Venda Touch**

*(No caso de feiras/eventos, o administrador escolhe Representante ou Touch, dependendo da operação)*

- - - - - -

***2. Modo Ficha (opcional, pode ser combinado)***

- **Ativo:** Após o pagamento, além do comprovante, o sistema imprime **fichas individuais por produto**.
- **Inativo:** Emite apenas comprovante padrão.

- - - - - -

***3.** **Venda /Orçamento***

- Define o vendedor padrão do dispositivo (necessário sincronizar vendedores do GA para selecioar um vendedor padrão)
- Define o percentual máximo de desconto permitido

- - - - - -

***4. Parâmetros do sistema***

*Define configurações que serão utilizadas durante a venda*

- Alterar vendedor na venda/orçamento?
- Bloqueia clientes de outros vendedores?
- Bloqueia descontos na venda?
- Altera preço de venda dos itens?
- Preenchimento numérico reverso (moeda)?
- Bloqueia acesso a Dashboard?

- - - - - -

***5.** **Métodos de Pagamento Permitidos (opcional por fluxo)***

- Dinheiro
- Cartão (TEF integrado)
- PIX
- Boleto
- Outros
- **Dividir pagamento (on/off)?**
- **Integração com POS Smart?**

*(Exemplo: no PDV de mercadinho → só cartão TEF; no Representante → todos; no Touch → só cartão/PIX)*

- - - - - -

<span style="text-decoration: line-through;">***6. Configuração de Impressão (por dispositivo)***</span>

- <span style="text-decoration: line-through;">**Impressora ativa:** Sim/Não</span>
- <span style="text-decoration: line-through;">**Tipo de impressão:**</span>
    
    
    - <span style="text-decoration: line-through;">Cupom fiscal</span>
    - <span style="text-decoration: line-through;">Comprovante simples</span>
    - <span style="text-decoration: line-through;">Fichas individuais</span>
- <span style="text-decoration: line-through;">**Número de vias:** 1, 2, etc.</span>

- - - - - -

***7. Tela de Descanso***

- **Ativar tela de descanso:** Sim/Não
    
    
    - Com a tela de descanso **desabilitada**, o comportamento padrão deve ser usar o logo do sistema GerencieVendas.
    - Com a tela de descanso **habilitada**, o comportamento da tela de descanso pode aceitar 3 opções.
- **Imagem genérica:** Uma imagem pré-selecionada pelo sistema - Não abre o upload de arquivos.
- **Logo da empresa:** Arquivo .SVG com o logo da Empresa do Cliente. Abre o upload de arquivos.
- **Anúncio/promocional:** Abre o upload de arquivos - Arquivo .JPEG/.PNG
- **Banner:** Com o formato do dispositivo. Abre o upload de arquivos.

*(Ex.: PDV e Touch voltam sempre para tela de descanso; Representante não precisa.)*

##### Configurações do App GV

**Modo venda** = representante  
**Modo ficha** = desativado  
**Vendedor padrão para o aparelho** = vazio  
**Percentual max de desconto** = zerado para a situação em que o vendedor não pode aplicar desconto e diferente de zero quando ele puder dar desconto na venda.

**Permissões referentes a ações do sistema**

- Alterar vendedor na venda/orçamento = desativado
- Bloqueia clientes de outros vendedores = ativado
- Bloqueia descontos na venda = ativado
- Alterar preço de venda dos itens = desativado
- Preenchimento numérico reverso (moeda) = desativado
- Bloqueia acesso a Dashboard = desativado

**Métodos de Pagamento**  
Selecione os métodos de pagamento permitidos:

- Dinheiro = ativo
- Cartão (TEF) = ativo
- Outros = ativo
- PIX = ativo
- Boleto = ativo

**Permitir divisão de pagamento**  
Permite que o pagamento seja dividido em múltiplas formas.

- Ativado

**Integração com POS Smart**  
Configurações de pagamento terceiros:

- Receber PIX via integração POS = desativado
- Receber via Integração TEF = desativado
- Não mostrar Teclado numérico virtual = desativado

**Tela de descans**o = não

##### ***Critérios de Aceitação***

- **Dado** que o modo de venda configurado é **Representante**,  
    **quando** acessar as configurações,  
    **então** o sistema deve **ocultar apenas a configuração “Tela de descanso”** e **exibir todas as demais**.
- **Dado** que o modo de venda configurado é **PDV**,  
    **quando** acessar as configurações,  
    **então** o sistema deve **ocultar a configuração “Percentual de desconto”**, **ocultar as “Parametrizações do sistema”** e **exibir a configuração “Tela de descanso”**.
- **Dado** que o modo de venda configurado é **Touch**,  
    **quando** acessar as configurações,  
    **então** o sistema deve **ocultar a configuração “Percentual de desconto”**, **ocultar as “Parametrizações do sistema”** e **exibir a configuração “Tela de descanso”**.
- **Dado** que o usuário altera o modo de venda,  
    **quando** salvar a configuração,  
    **então** o backend deve persistir a configuração correta e o frontend deve refletir automaticamente quais opções devem ser exibidas ou ocultas.

- - - - - -

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

***1. Modo Representante***

- O sistema **deve** exigir a seleção de **cliente** e **vendedor** antes de iniciar a venda.
- O sistema **deve** permitir buscar produtos por **listagem com categorias** ou por **código de barras**.
- O sistema **deve** permitir edição de quantidade, preço unitário, desconto e acréscimo no carrinho.
- O sistema **deve** apresentar uma **tela de resumo da venda** antes da finalização.
- O sistema **deve** permitir **divisão do pagamento em múltiplas formas** (ex.: parte PIX, parte cartão).
- O sistema **não deve** permitir avançar para o pagamento sem seleção de cliente.
- O sistema **deve** emitir **comprovante impresso** após o pagamento.

***2. Modo PDV***

- O sistema **deve** iniciar na **tela de descanso**.
- O sistema **deve** incluir automaticamente um produto no carrinho ao bipar um código de barras.
- O sistema **não deve** permitir inclusão de produtos manualmente por listagem ou pesquisa.
- O sistema **não deve** permitir aplicação de desconto ou acréscimo.
- O sistema **não deve** permitir divisão do pagamento.
- O sistema **deve** direcionar o usuário para o fluxo de pagamento TEF após finalização.
- O sistema **deve** exibir status de pagamento (**sucesso/falha**) após retorno da maquininha.
- O sistema **deve** imprimir o comprovante e retornar automaticamente para a tela de descanso.

***3. Modo Touch (Catálogo / Autoatendimento)***

- O sistema **deve** iniciar na **tela de descanso** configurada (imagem genérica, logo ou publicidade).
- O sistema **deve** permitir navegação de produtos em **grade** com categorias exibidas em carrossel (superior ou lateral).
- O sistema **deve** permitir inclusão de itens no carrinho por toque.
- O sistema **não deve** permitir busca por código de barras, aplicação de desconto ou acréscimo.
- O sistema **não deve** permitir divisão do pagamento.
- O sistema **deve** direcionar o cliente ao pagamento após seleção dos itens.
- O sistema **deve** retornar à tela de descanso automaticamente após a finalização da venda.

***4. Modo Ficha (configuração aplicável a qualquer fluxo)***

- - O sistema **deve**, quando ativo, emitir **fichas individuais por produto** junto ao comprovante de venda.
    - O sistema **deve** gerar uma ficha para cada unidade do produto vendido.
        
        
        - Ex.: 3 refrigerantes → 3 fichas.
    - O sistema **deve** incluir em cada ficha:
        
        
        - Nome do produto
        - Quantidade (sempre 1)
        - Código/identificador do pedido
        - QR Code ou código de barras para conferência (quando configurado).
    - O sistema **não deve** permitir finalizar o pedido sem que todas as fichas sejam impressas corretamente.
    - O sistema **deve** retornar automaticamente para o fluxo normal após a impressão das fichas.

- - - - - -

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

***1. Descrição de mudanças na base de dados, ou integração de API, ou arquivo que deva ser gerado.***

©SOFTEN SISTEMAS 2025

# Sincronizar tabela de complementos e variações de produtos

##### <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 **variações (grades)** e/ou **complementos**.

O objetivo desta melhoria é: Ampliar a sincronização GA → GV para incluir as tabelas **ProdutoVariacaoItem** e **ProdutoComplemento** na sincronização e garantir que a busca via código de barras e listagem por categorias sejam aprimoradas para atender às necessidades específicas dos segmentos de varejo, atacado e food-service.

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

<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></tbody></table>

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

- - - - - -

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

*Não há*

##### ***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).


##### ***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.
- Implementar leitura de código de barras da variação

1. 

©SOFTEN SISTEMAS 2025

# Incluir complementos durante o fluxo da venda

<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>

O objetivo desta melhoria é: Permitir no GV a seleção de variações e complementos no fluxo de venda.

**2. Processo**

[![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%;">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></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.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.



- 

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

**GV (Mobile)**

- 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.

##### ***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

