Operar o PDV offline#
Esta página explica o que continua funcionando quando a internet cai, o que fica na fila esperando a conexão, como ler o painel de carga e o estado da fila, e em que momento chamar a retaguarda. É para o operador que está com o cliente na frente e para o supervisor da loja.
Antes de começar
- Para operar offline, o terminal precisa ter recebido a carga ao menos uma vez. Um PDV que nunca sincronizou não tem catálogo, e sem catálogo ele não abre o caixa.
Passo a passo#
AReconhecer que o caixa está offline#
- O rodapé da tela mostra o resumo dos periféricos e, quando aplicável, o estado online.
- A mensagem do caixa muda:
Venda finalizada offline. Sincronizacao pendente. - No painel do operador, o perfil aparece como Operador offline enquanto a identidade autenticada está viva no cache local.
Operador offline não quer dizer "sem operador". O rodapé da pele Touch mostra Operador offline quando a sessão veio do cache; o caixa continua vendendo normalmente.
BContinuar vendendo#
- Lance os itens normalmente. Leitura, totalização, desconto e pagamento são 100% locais.
- Finalize a venda. Ela é gravada no banco local com um UUID e entra na fila.
- Entregue o cupom ao cliente.
- Se o indicador fiscal estiver pendente, veja Fiscal no caixa: a venda não é bloqueada por isso.
CLer o painel Carga do servidor#
- Abra Status do PDV.
- Localize o painel Carga do servidor e leia o selo:
| Selo | Significa |
|---|---|
| Completa (verde) | o caixa recebeu todas as tabelas e opera offline |
| Parcial N/M (laranja) | já opera com o essencial; o resto chega no próximo ciclo |
| Aguardando (vermelho) | o caixa ainda não pode operar |
- Abaixo do selo vem a frase do estado atual e a linha
Última atualização: dd/mm/aaaa hh:mm. - Cada linha da lista mostra uma tabela e o que chegou:
| Item | Obrigatório? | O que mostra |
|---|---|---|
| Catálogo de produtos | sim | N itens ou aguardando do servidor |
| Operadores | sim | N operador(es) ou aguardando do servidor |
| Perfis e permissões | sim | N perfil(is) ou usando padrão local |
| Configuração da loja | sim | limites, balança e atalhos ou usando padrão local |
| Contingência fiscal | não | pronta para emitir ou aguardando pacote fiscal |
| Periféricos | não | N configurado(s) ou padrão local |
| Promoções | não | N ativa(s) ou nenhuma ativa |
DEntender o que entra na fila#
| O que acontece offline | Vai para a fila? |
|---|---|
| Venda finalizada | sim, com idempotência por UUID |
| Cancelamento de venda e de cupom | sim, como evento |
| Sangria, suprimento, recebimento e pagamento de despesa | sim, como evento do livro de operações |
| Movimentos do caixa e do turno | sim |
| NFC-e em contingência | sim, aguardando transmissão |
| Login e logout de operador, autorizações, testes de periférico | sim, no histórico local |
| Leitura de item, totalização e pagamento | não — é tudo local e não precisa subir |
O login do operador funciona offline desde que aquele operador já tenha sido sincronizado ao menos uma vez: o PDV autentica primeiro no cache local e nem toca no servidor. O servidor entra depois, como atualização em segundo plano.
EConferir o estado da sincronização#
- No painel do operador, clique em Sincronizar para forçar um ciclo agora.
- Leia a mensagem de resultado, que soma o que subiu:
N venda(s) sincronizada(s)N operacao(oes) sincronizada(s)N NFC-e transmitida(s)/N NFC-e conciliada(s)N DANFE fiscal liberado(s)N pendencia(s) aguardando internet ou retaguardaN NFC-e aguardando SEFAZ- e, quando não há nada:
Nenhuma pendencia sincronizada
- Abra Status operacional e confira as origens do que o terminal está usando: Permissoes, Configuracao, Checkout, Limite desconto, Fidelidade, Treinamento e Auditoria local (
Sem pendencias,1 evento pendenteouN eventos pendentes).
FSaber quando escalar para a retaguarda#
Chame a retaguarda quando qualquer destes for verdade:
- Aparece
Credencial deste caixa foi revogada. Refaça o pareamento na retaguarda. - O painel Carga do servidor fica em Aguardando mesmo com a rede funcionando.
- A fila cresce ciclo após ciclo e o contador de pendências não cai.
- Existe DANFE fiscal aguardando impressão ou NFC-e em revisão.
- O caixa entrou em modo seguro. Nesse caso, vá direto para Recuperar o PDV.
Campos e o que significam#
| Texto na tela | O que significa |
|---|---|
Venda finalizada offline. Sincronizacao pendente. | a venda foi gravada no caixa e está na fila |
Venda finalizada e sincronizada. | a venda subiu para a retaguarda |
N pendencia(s) aguardando internet ou retaguarda | a fila tentou e não conseguiu; vai tentar de novo |
Nenhuma pendencia sincronizada | não havia nada a subir neste ciclo |
N evento local pendente / N eventos pendentes | eventos do livro local ainda não enviados |
Sem pendencias | o livro local está em dia |
Credencial deste caixa foi revogada. Refaça o pareamento na retaguarda. | o token do terminal foi invalidado; é preciso parear de novo |
agora (junto do nome do operador) | a sessão veio do servidor |
Operador offline | a sessão veio do cache local; a venda continua permitida |
Resultado esperado#
- Vender, cancelar, dar desconto, receber, sangrar, suprir e apurar turno funcionam sem internet.
- O cupom sai na impressora mesmo offline (a impressão é local).
- A fila sobe em ciclos automáticos e a mensagem de cada ciclo diz o que foi sincronizado.
- Um ciclo de sincronização também aproveita para: enviar o livro de operações depois das vendas, sincronizar segurança e permissões, ressincronizar o pacote fiscal e atualizar o catálogo — o catálogo em intervalos maiores.
Se algo der errado#
| Sintoma | Causa provável | O que fazer |
|---|---|---|
Aguardando a carga do servidor — … ao tentar abrir o caixa | o terminal nunca recebeu a carga, ou o catálogo não chegou | confira a rede e sincronize; sem catálogo o caixa não opera |
| O catálogo está Parcial, mas aparecem produtos faltando | a carga não terminou de chegar | aguarde o próximo ciclo; itens ausentes são cadastro ou carga, não venda |
Produto não encontrado: <código> em item que a loja vende | o catálogo local está desatualizado | sincronize; se persistir, confira o cadastro na retaguarda |
| Login de operador recusado offline | esse operador nunca foi sincronizado neste terminal | conecte o terminal e faça um login online desse operador |
Credencial deste caixa foi revogada. Refaça o pareamento na retaguarda. | o terminal foi revogado ou perdeu a credencial | refaça o pareamento — veja Instalar e atualizar |
| A fila não diminui e o contador de pendências cresce | servidor inacessível, ou um lançamento sendo recusado | confira a rede; se a contagem de recusas subir, chame a retaguarda com a mensagem exibida |
| Nada sincroniza, mas a internet funciona | endereço do servidor ou certificado do servidor | confira com quem administra o servidor; não contorne o certificado |
| Vendas de treinamento aparecem como bloqueadas | o terminal está em modo treinamento | é o comportamento esperado: treinamento não é transmitido |
| O livro local acusa pendência que não sobe | evento fora de ordem na retaguarda | chame a retaguarda; o evento é reenviado quando a dependência chega |
Como funciona por dentro#
- Idempotência por UUID. Cada venda e cada evento nascem com um identificador próprio. A retaguarda aceita o mesmo lote e responde
recebidaouduplicada— reenviar não duplica dinheiro nem nota. É por isso que insistir na sincronização é seguro. - Ordem importa. O livro de operações sobe depois das vendas, porque a linha do livro tende a referenciar uma venda que precisa existir no servidor primeiro.
- Recuo progressivo. Eventos que falharam não são retentados a cada segundo: existe um intervalo crescente entre tentativas, para não martelar o servidor nem consumir a loja.
- Cadeia de auditoria local. Os eventos locais são encadeados: cada um guarda o resumo do anterior. Isso detecta linha apagada ou conteúdo editado. O limite é honesto e está registrado no código — a chave que assina mora no mesmo banco cifrado do aparelho, então a cadeia encarece adulteração casual, não substitui perícia.
- A âncora fecha a ponta. Existe um registro fora da tabela de eventos com o último elo da cadeia. Sem ele, apagar o último evento seria indetectável — a cadeia continuaria fechando até onde sobrou.
- Trocar a credencial não é adulteração. Se o terminal for pareado de novo, os eventos antigos foram assinados por outra chave. O PDV marca isso como ponto de emenda e conta, em vez de acusar fraude.
- A conferência da cadeia roda no fechamento do caixa. Ela não bloqueia o fechamento: o que ela faz é avisar. Travar deixaria a loja sem operar e esconderia o problema.
O que é de fábrica e o que a sua loja pode ter mudado#
| Ponto | Padrão de fábrica | Como fica diferente |
|---|---|---|
| Ciclos de sincronização e recuo progressivo | os intervalos vivem no ciclo de sincronização do aplicativo | a versão instalada pode ter intervalos diferentes — o comportamento não depende de configuração de loja |
| Contador de pendências | no perfil Mercado o resumo aparece no rodapé do caixa | na pele Touch a mesma informação aparece em outro lugar da tela |
| Eventos aceitos pela retaguarda | o contrato prevê os eventos de turno e de jornada | uma retaguarda de versão anterior pode responder de forma diferente |
Os valores vigentes da sua loja ficam em Administração › Parâmetros; a tabela completa está em Parâmetros e valores padrão.