FJFrigo · Faturamento · menu2333 — Saídas / Vendas

Validações da Venda

A maior tela do faturamento: é ela que emite a saída, gera os títulos a receber e alimenta a NF-e. As regras de gravação, as travas de alteração e o que muda com o país e o tipo de faturamento.

Tela: Saídas / Vendas (2333) Gravar gera: produtos, parcelas e títulos Autoridade: o backend — a tela é espelho

Bloqueia

Recusa e não grava. statuscode 400 com a frase abaixo.

Aviso

Comportamento que surpreende sem ser erro.

Uma gravação, quatro tabelas

Cabeçalho, produtos, parcelas e os títulos a receber — tudo na mesma transação.

O centro de custo vem do produto

Cada parcela vira um título por centro de custo, rateado. Produto sem centro derruba a gravação.

A

O que a gravação faz

Para quem atende

Gravar uma venda não grava só o cabeçalho: regrava a grade de produtos inteira, monta as parcelas e gera os títulos a receber — tudo numa transação só.

As parcelas viram vários títulos. Cada parcela é rateada por centro de custo, na proporção do valor dos produtos de cada centro — então uma parcela pode gerar três títulos. É por isso que a grade de parcelas mostra menos linhas do que os títulos que aparecem no financeiro, e por isso produto sem centro de custo derruba a gravação.

O centro de custo sai do cadastro do produto, e a coluna muda com o tipo de faturamento: transferências usam a coluna de transferência, os demais a de venda. Com o centro de custo preenchido no tipo de faturamento (tipo_faturamento.idcentro_custo), ele vale para todos os produtos, em qualquer país, e o histórico é o do tipo (idhist_padrao) ou, sem ele, o de venda do produto. Desde 13/09/2026 — no Paraguai o tipo 1171 tinha centro 10101 e histórico 100137 fixos no código.

Data de emissão leva a hora; data de saída vai à meia-noite. Não é detalhe: a listagem filtra por data de saída.

B

Campos obrigatórios

Na ordem em que são conferidos
Bloqueia

Informe a data de emissão.

Informe a data de saída.

Todos
Bloqueia

Campo [Emitente] em branco.

Sem tipo de faturamento.

Informe a moeda.

O tipo de faturamentoDecide quase tudo o mais nesta tela — centro de custo dos títulos, se gera frete, se exige pedido. Sem ele nada é calculado.

Todos
C

Datas

Saída adiantada
Bloqueia

Data de saída muito adiantada.

QuandoA data de saída passa de um número fixo de dias à frente da data do servidor — não da data do computador de quem lança.

Por que do servidorUma máquina com a data errada geraria saída no futuro sem ninguém perceber.

Todos
D

Moeda, exportação e planta

Muda com o país e com o tenant
Bloqueia

No Brasil só é permitida a moeda real.

QuandoQualquer venda no Brasil com moeda diferente do real.

Brasil
Bloqueia

Não permitido pedido de exportação em moeda local.

QuandoFora do Brasil, venda de exportação (tipo de venda EX) na moeda local da filial.

ParaguaiBolívia
Bloqueia

Sin planta !

QuandoVenda de exportação (tipo 113) sem planta, com a chave VENDA_EXPORTACAO_SEM_PLANTA de system_config valendo "1" — ou sem a chave cadastrada, que é o padrão do sistema antigo (exige). Mudou em 12/09/2026: era só na filial BFC-USA; o sistema antigo trocou pela chave e o porte acompanhou.

ConferirSELECT valor_string FROM system_config WHERE chave = 'VENDA_EXPORTACAO_SEM_PLANTA' — em central vale 0 (não exige).

AtençãoA planta é um lookup e a chave dela não é o id do emitente: é o próprio código da planta. Digitar um id de emitente ali não resolve.

Todos
E

Produtos e centro de custo

A recusa mais comum na gravação
Bloqueia

Produto ALCATRA RESFRIADA sem centro de custo - não será permitido prosseguir.

QuandoUm produto da grade não tem centro de custo no cadastro do produto — na coluna que aquele tipo de faturamento usa.

ConferirCadastro do produto: centro de custo de venda, ou de transferência quando o tipo é transferência.

SairÉ cadastro, não lançamento. Sem ele o rateio dos títulos não tem para onde ir.

Todos
Bloqueia

Esse complemento precisa de pedido: PELE BOVINA SALGADA

QuandoBrasil, tipo de faturamento marcado como complemento, produto com PELE na descrição e a venda sem pedido de origem.

Brasil
Bloqueia

Produto 10057: % de IVA inválido.

QuandoO % de IVA da linha é negativo. Só é conferido na linha nova ou alterada (produto e % diferentes do que está gravado).

Todos
Bloqueia

Produto 10057: valor de IVA inválido na exportação.

QuandoFora do Brasil, venda de exportação (EX) com % de IVA diferente de zero, e a filial não é transportadora.

Conferirfilial.transportadora — desde 12/09/2026; antes era a razão social com TRANSP.

ParaguaiBolívia
Bloqueia

Produto 10057: percentual de IVA inválido.

QuandoMercado interno (MI) fora da filial transportadora: no Paraguai, % diferente de 0, 5 ou 10 — e no tipo 113 qualquer % diferente de zero; na Bolívia, % diferente de 0 ou 13. Desde 12/09/2026 sem exceção de EL NIDO (que aceitava 5 e 10 no 113).

ConferirO % de IVA da linha e filial.transportadora.

ParaguaiBolívia
Aviso

Linha de valor zero nem sempre é descartada

ComportamentoProduto zerado sempre sai da grade; total zerado só sai se não houver ICMS, ICMS-ST nem acréscimo no cabeçalho — e, no Brasil, se o CST não terminar em 90.

Por que importaUm item que "sumiu" ao gravar pode ter caído nessa regra; e um item de valor zero que permaneceu também está correto.

Todos
Aviso

Cada produto pode virar duas linhas gravadas

ComportamentoA venda grava o tipo de produto 1, e cada produto vira duas linhas — a do tipo 1 e uma cópia idêntica do tipo 2. Desde 12/09/2026 é sempre o 1; antes a razão social com UNIAO C gravava só o tipo 2, e aí a venda não gerava parcela nem frete.

No atendimentoVer a grade "duplicada" numa consulta ao banco é o esperado; a tela mostra só as do tipo 1.

Todos
F

Parcelas e valor líquido

O fechamento
Bloqueia

Valor das parcelas (12500.00) diferente do valor total líquido (12480.00).

QuandoA soma das parcelas não bate com o líquido, comparados em duas casas.

Atenção ao líquidoNo Brasil ele soma ainda o ICMS ST dos itens, o frete e o seguro — e na importação, o próprio ICMS; no Chile soma o IVA dos itens; no Paraguai e na Bolívia não soma nada disso. É a diferença que costuma explicar parcelas que "não fecham por pouco".

Todos
Bloqueia

Campo [Valor das Parcelas] em branco.

QuandoTodas as parcelas zeradas, numa filial cujo tipo de produto gera financeiro. Onde o tipo é 2, a venda não gera parcelas e a regra não roda.

Todos
G

Pedido de origem e frete

Recusas específicas
Token

Sem romaneio, não é permitido - informe um token de autorização sem romaneio.

QuandoBrasil, venda sem romaneio em filial distribuidora com exige_romaneio_venda ligada e que não é loja, nos tipos 113, 114, 1120, 1121, 1123, 1138, 1194, 11107, 11151 e 11156 — salvo produto com SEBO, SANGUE, COURO ou DESPOJO na descrição. Desde 12/09/2026; antes eram sete cidades de exceção (NOVA IGUA, RIO DE J, CASCAVEL, SAO PAU, BARUERI, IBIUNA, RECIFE) e o apelido LOJA.

SairInformar o romaneio, ou um token da tela 46 (vale uma gravação).

Conferirfilial.exige_romaneio_venda — sem a coluna no banco, o romaneio não é exigido.

Brasil
Bloqueia

Pedido já usado no faturamento [100534874]

QuandoO pedido de origem já virou outra venda. O número da venda que o consumiu vem na mensagem.

ComportamentoGravar a venda marca o pedido de origem como faturado. Na filial com filial.sistema_industrial WEB, o embarque do pedido fecha junto (embarque_finalizado). Até 13/09/2026 isso valia em nove cidades (COLORADO, NOVA LO, PAICANDU, CAJURU, MARINGA, VENCESLAU, NIOAQUE, TARAUACA, NOVA CA).

A partir de quandoA regra vale para saídas a partir de uma data de corte — vendas antigas não são reprocessadas por ela.

Todos
Bloqueia

Somente valor ocioso informado - preencha o valor do frete principal.

QuandoO valor do frete ocioso (caminhão que voltou vazio) foi informado sem o frete principal.

Todos
Aviso

O frete pode inverter de lado

ComportamentoNo tipo de faturamento 1139 o título de frete vira a receber, e quem deve é o emitente, não a transportadora. O centro de custo também troca entre mercado interno e exportação.

Todos
H

Alterar e excluir

Três travas
Bloqueia

Não é possível alterar: já existe baixa nos títulos desta venda.

QuandoAlgum título gerado pela venda já foi pago. Regravar apagaria e refaria os títulos, levando a baixa junto.

Todos
Bloqueia

Esse lançamento já possui número de NF autorizada no fisco - não será permitido excluir.

QuandoA NF-e da venda já foi autorizada pela SEFAZ. O caminho é cancelar a nota no fisco primeiro.

Brasil
Aviso

Excluir devolve o pedido para a fila

ComportamentoAo excluir a venda, o pedido de origem volta a ficar disponível para ser faturado. Sem isso ele ficaria preso para sempre.

Todos
I

Dados da fatura e tipo de faturamento

As ações da grade
Bloqueia

A Fatura da venda está bloqueada: ligue USA_FATURA_VENDA = 1 nas Config. Globais (41) para liberar.

QuandoO botão Fatura da grade (tipo de faturamento e dados da fatura) só funciona com system_config.USA_FATURA_VENDA = 1. Sem a chave, ou com outro valor, o botão fica cinza e o servidor recusa as duas gravações. Vale na Venda (2333) e na Remessa (2337).

Sistema antigoNão tem essa trava — decisão do usuário em 26/09/2026.

Todos
Bloqueia

Sem motivo de cancelamento.

Cuidado — a lógica é invertidaNa janela de dados da fatura, só a opção "gravar" grava; qualquer outra escolha limpa documento, timbrado e código de controle — e aí o motivo passa a ser obrigatório.

Todos
Bloqueia

Número de fatura já está em uso no faturamento […]

QuandoO número informado já pertence a outra venda.

Todos
Aviso

Trocar o tipo de faturamento mexe nos títulos

ComportamentoO tipo é parte da chave dos títulos. Ao trocá-lo, o sistema atualiza os títulos das parcelas e derruba a contabilização das tabelas da venda. Não é só mudar um campo do cabeçalho.

Todos
I·2

Carregar o pedido e o romaneio

Ao escolher o pedido ou o romaneio na inclusão

Escolher o pedido (ou o romaneio, que é o id do pedido) preenche cabeçalho, produtos e parcelas. Estas recusas saem nesse momento, antes de gravar.

Bloqueia

Pedido não encontrado! Não será permitido prosseguir.

QuandoO número informado não é de nenhum pedido.

Todos
Bloqueia

Este pedido foi excluído! Não será permitido prosseguir.

QuandoO pedido está excluído.

Todos
Bloqueia

Este pedido não foi autorizado! Não será permitido prosseguir.

QuandoO pedido não foi autorizado na tela de pedidos (2332).

SairAutorizar o pedido no 2332.

Todos
Bloqueia

Pedido feito há mais de 7 dias! Não será permitido prosseguir.

QuandoFilial distribuidora, pedido emitido há mais de 7 dias.

EscapaOs tipos 11105, 11109 e 11111, e o pedido autorizado por usuário de grupo ADM.

Todos
Bloqueia

Este pedido não teve preço autorizado! Não será permitido prosseguir.

QuandoNo Brasil, a alçada de preço do pedido é ADM ou GER e ninguém autorizou o preço (botão Aut. Preço do 2332).

Brasil
Bloqueia

Cliente com pendência - dias de tolerância: 5, dias em atraso: 12.

QuandoNo Brasil, tipo de faturamento 114: o cliente tem título em atraso há mais dias que a tolerância dele (emitente.tolerancia_atraso, 2 quando zerada; +3 na segunda, +1 no sábado, +2 no domingo).

EscapaO cliente do grupo: emitente cujo grupo está marcado como intercompany (grupo_emitente.intercompany). Desde 13/09/2026; antes era o nome do cliente com BETAM, NOSTRO ou BMG. Emitente sem grupo é conferido.

Brasil
Bloqueia

O romaneio desta filial vem do sistema de indústria (…), que não está integrado a esta tela - informe o pedido e os produtos.

QuandoA filial não usa o romaneio local (as caixas do embarque 233B). O romaneio é local em filial do Brasil distribuidora ou com filial.sistema_industrial INTERNO, sem banco de indústria externo (host_ind). Até 13/09/2026 eram distribuidora, ALL PAR, COLINA ou NOVA ESP.

Conferirfilial.distribuidora, filial.sistema_industrial (WEB é recusado, INTERNO é local) e filial.host_ind.

Brasil
Bloqueia

Romaneio não encontrado ou não terminado, tente novamente!

QuandoO romaneio não tem caixas embarcadas.

Brasil
J

Permissões — as travas de campo

Manutenção › Acesso dos Grupos (444)

Esta tela não trava a gravação inteira por permissão: ela trava campos. Conforme a venda venha de romaneio ou de pedido, alguns campos da grade chegam desabilitados — e o servidor recusa se eles mudarem.

RegraLibera o quê
FATURAMENTO_VENDA_MANUT_PRODUTOS Peso bruto e peso líquido em venda vinda de romaneio; e o valor total em venda de pedido, no Brasil, no tipo de faturamento 114
FATURAMENTO_VENDA_MANUT_PARCELAS A grade de parcelas da venda sem pedido, em qualquer país (até 13/09/2026, só no Brasil). Na Remessa (2337) a regra não existe

Quando cada campo fica travado

CampoTrava quando
Peso bruto e líquido A venda vem de romaneio e o usuário não tem ..._MANUT_PRODUTOS — em qualquer filial (COLINA ficava fora até 13/09/2026)
Valor unitário A venda vem de pedido — e aí trava para quem tem a regra (qualquer país) e também, no Brasil, para quem não tem. Só fica editável fora do Brasil e sem a regra
Valor total Brasil, venda de pedido, tipo 114 e sem a regra. Na Bolívia, nas filiais 1, 2, 3 e 14, ele é sempre travado
Parcelas Em toda venda vinda de pedido, tenha a regra ou não; e, sem pedido, para quem não tem ..._MANUT_PARCELAS. Até 13/09/2026 a trava do pedido era só em CONCEPCION e a da regra só no Brasil
Bloqueia

Sem permissão para alterar o valor unitário dos produtos nesta venda — é preciso a regra FATURAMENTO_VENDA_MANUT_PRODUTOS.

Sem permissão para alterar as parcelas desta venda — é preciso a regra FATURAMENTO_VENDA_MANUT_PARCELAS.

Venda com pedido não altera as parcelas - elas vêm do pedido.

QuandoUm campo travado mudou numa alteração. A tela desabilita esses campos, então a recusa alcança chamada feita por fora dela.

O que não é travadoIncluir ou remover linha da grade: as regras travam campo, não a composição. Item novo e item removido passam.

PermissãoA regra nomeada na própria mensagem. Usuário master passa em ambas.

Todos

Duas peculiaridades do sistema antigo, mantidas de propósito:

· O valor unitário de venda vinda de pedido trava nos dois sentidos — para quem tem a regra e, no Brasil, para quem não tem. No fonte, a linha que trava para quem tem substituiu um teste por razão social, e a inversão veio junto. O efeito prático é coerente: em venda de pedido o preço vem do pedido autorizado.
· A condição de tipo na trava de peso é sempre verdadeira no fonte (compara com dois valores usando "ou"), então ela não filtra tipo nenhum. Mantida assim: "corrigi-la" afrouxaria a trava em dois tipos de faturamento.

Uma trava do sistema antigo que aqui não existe: a de venda criada a partir de XML da SEFAZ importado — lá ela desabilita até o produto da linha. A importação de XML não foi portada, então nenhuma venda daqui nasce assim; quando ela entrar, essa trava entra junto.

Outras regras cadastradas que nada consulta, nem aqui nem no sistema antigo: FATURAMENTO_VENDA_AUTORIZACAO, FATURAMENTO_VENDA_EXCLUIR_BOLETO, FATURAMENTO_VENDA_MANUT_TIPO_PAGAMENTO e FATURAMENTO_VENDA_SALVAR_PRODUTO_SEM_TRIBUTACAO.

K

Como o erro chega na tela

Para o QA reproduzir e reportar

Toda resposta sai com HTTP 200; quem diz o que aconteceu é o statuscode no corpo — 400 para as recusas deste documento.

Tudo numa transação: cabeçalho, produtos, parcelas e títulos. Uma recusa no meio não deixa venda pela metade.

O formulário reenvia as 84 colunas do cabeçalho, mesmo as que não aparecem na tela (despacho, romaneio, dados fiscais). Ao testar por API, mandar só o que a tela mostra zera o resto.

Ao abrir chamado, copie o código de ocorrência de 8 caracteres dos erros inesperados.

Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.