advpl-specialist
Processos de Negocio

Modulo de Faturamento (FAT)

Documentacao completa do modulo de Faturamento (SIGAFAT) do TOTVS Protheus - ciclo de vendas, pedidos, liberacao, NF-e e integracoes

Modulo de Faturamento (FAT)

Visao Geral

O modulo de Faturamento (SIGAFAT) do TOTVS Protheus gerencia todo o ciclo de vendas da empresa, desde o cadastro de clientes e tabelas de precos ate a emissao de notas fiscais de saida e transmissao eletronica (NF-e). Ele abrange orcamentos, pedidos de venda, liberacao de credito e estoque, faturamento (emissao de documentos de saida) e integracao com os modulos de Estoque, Financeiro, Fiscal e Contabilidade.

Prefixo do modulo: FAT Sigla do ambiente: SIGAFAT Prefixo das rotinas: MATA4xx (ex: MATA410, MATA440, MATA450, MATA455, MATA460, MATA461), FATA0xx (ex: FATA050), OMSA0xx (ex: OMSA010)

Ciclo principal de faturamento

Orcamento → Pedido de Venda → Liberacao (Credito + Estoque) → Documento de Saida (NF) → Transmissao NF-e → Titulo a Receber

O modulo permite tanto o fluxo completo (com orcamento e analise de credito/estoque) quanto o fluxo simplificado (pedido direto com faturamento), controlado pelo parametro MV_BLOQUEI.


Tabelas Principais

SC5 - Pedidos de Venda (Cabecalho)

Armazena o cabecalho dos pedidos de venda. Cada registro representa um pedido vinculado a um cliente.

CampoTipoTamDescricao
C5_FILIALC8Filial
C5_NUMC6Numero do pedido de venda
C5_CLIENTEC6Codigo do cliente
C5_LOJACLIC2Loja do cliente
C5_TIPOC1Tipo do pedido: N=Normal, D=Devolucao, B=Beneficiamento, C=Complemento
C5_EMISSAOD8Data de emissao
C5_CONDPAGC3Condicao de pagamento
C5_VEND1C6Codigo do vendedor
C5_TABELAC3Tabela de precos
C5_MOEDAN2Moeda
C5_MENNOTAC1Mensagem na NF
C5_TRANSPC6Codigo da transportadora
C5_TPFRETEC1Tipo de frete: C=CIF, F=FOB
C5_LIBEROKC1Status da liberacao: Branco=Pendente, S=Liberado
C5_NOTAC9Numero da NF gerada
C5_SERIEC3Serie da NF gerada
C5_BLQC1Pedido bloqueado: Branco=Nao, 1=Credito, 2=Estoque, 3=Ambos
C5_DESCONTC50Expressao/percentual de desconto
C5_DESPESAN14,2Despesas acessorias
C5_FRETEN14,2Valor do frete
C5_SEGURON14,2Valor do seguro
C5_OBSC60Observacoes
C5_OBSMM10Observacoes (memo)
C5_NATUREZC10Natureza da operacao
C5_ESSIONC3Tipo da operacao
C5_REDESPC6Transportadora de redespacho

Indices principais:

  • Ordem 1: C5_FILIAL + C5_NUM
  • Ordem 2: C5_FILIAL + C5_CLIENTE + C5_LOJACLI + C5_NUM
  • Ordem 3: C5_FILIAL + C5_EMISSAO + C5_NUM

SC6 - Pedidos de Venda (Itens)

Armazena os itens dos pedidos de venda. Cada registro representa um item do pedido vinculado ao cabecalho SC5.

CampoTipoTamDescricao
C6_FILIALC8Filial
C6_NUMC6Numero do pedido (vinculo com SC5)
C6_ITEMC4Item do pedido
C6_PRODUTOC15Codigo do produto
C6_DESCRIC30Descricao do produto
C6_UMC2Unidade de medida
C6_QTDVENN12,2Quantidade vendida
C6_QTDENTN12,2Quantidade ja faturada (entregue)
C6_PRCVENN14,2Preco unitario de venda
C6_VALORN14,2Valor total do item
C6_PRUNITN14,2Preco unitario original
C6_DESCONTN5,2Percentual de desconto
C6_VALDESCN14,2Valor do desconto
C6_TESC3Tipo de entrada/saida (TES)
C6_LOCALC2Armazem de saida
C6_CLIC6Codigo do cliente (pode diferir do cabecalho)
C6_LOJAC2Loja do cliente
C6_ENTREGD8Data de entrega prevista
C6_COMIS1N5,2Percentual de comissao
C6_NOTAC9Numero da NF gerada
C6_SERIEC3Serie da NF gerada
C6_BLQC1Bloqueio do item: Branco=Nao, R=Residuo
C6_QTDLIBN12,2Quantidade liberada (tela, nao grava em SC6)
C6_NUMOPC13Numero da Ordem de Producao vinculada
C6_OPERC2Operacao fiscal
C6_LOTECTLC10Lote do produto
C6_NUMLOTEC6Numero do lote

Indices principais:

  • Ordem 1: C6_FILIAL + C6_NUM + C6_ITEM
  • Ordem 2: C6_FILIAL + C6_PRODUTO + C6_NUM + C6_ITEM
  • Ordem 3: C6_FILIAL + C6_CLI + C6_LOJA + C6_NUM + C6_ITEM

SC9 - Itens Liberados do Pedido de Venda

Armazena as liberacoes dos itens do pedido de venda. Gerada pela rotina de liberacao (MATA440/MATA456), controla os bloqueios de credito e estoque. Cada registro pode ter status liberado ou bloqueado.

CampoTipoTamDescricao
C9_FILIALC8Filial
C9_PEDIDOC6Numero do pedido (vinculo com SC5)
C9_ITEMC4Item do pedido (vinculo com SC6)
C9_PRODUTOC15Codigo do produto
C9_CLIENTEC6Codigo do cliente
C9_LOJAC2Loja do cliente
C9_QTDLIBN12,2Quantidade liberada
C9_NFISCALC9Numero da NF vinculada
C9_DATENTD8Data de entrega
C9_BLCREDC1Bloqueio de credito: Branco=Nao, 1=Sim
C9_BLESTC1Bloqueio de estoque: Branco=Nao, 1=Sim
C9_BLFINC1Bloqueio financeiro
C9_BLREGC1Bloqueio por regra

Indices principais:

  • Ordem 1: C9_FILIAL + C9_PEDIDO + C9_ITEM
  • Ordem 2: C9_FILIAL + C9_CLIENTE + C9_LOJA + C9_PEDIDO

SF2 - Cabecalho de NF de Saida

Armazena o cabecalho das notas fiscais de saida, gerado pelo processo de faturamento (MATA460/MATA461).

CampoTipoTamDescricao
F2_FILIALC8Filial
F2_DOCC9Numero do documento
F2_SERIEC3Serie
F2_CLIENTEC6Codigo do cliente
F2_LOJAC2Loja do cliente
F2_EMISSAOD8Data de emissao
F2_HORAC5Hora de emissao
F2_VALBRUTN14,2Valor bruto
F2_VALMERCN14,2Valor das mercadorias
F2_FRETEN14,2Valor do frete
F2_SEGURON14,2Valor do seguro
F2_DESPESAN14,2Despesas acessorias
F2_DESCONTN14,2Desconto
F2_VALICMN14,2Valor de ICMS
F2_VALIPIN14,2Valor de IPI
F2_TIPOC1Tipo da NF: N=Normal, D=Devolucao, C=Complemento, B=Beneficiamento
F2_CONDC3Condicao de pagamento
F2_VEND1C6Codigo do vendedor
F2_TRANSPC6Transportadora
F2_TPFRETEC1Tipo de frete: C=CIF, F=FOB
F2_CHVNFEC44Chave da NF-e
F2_DTENTRD8Data de entrega
F2_MENNOTAC1Mensagem na NF
F2_NATUREZC10Natureza da operacao

Indices principais:

  • Ordem 1: F2_FILIAL + F2_DOC + F2_SERIE + F2_CLIENTE + F2_LOJA + F2_TIPO
  • Ordem 2: F2_FILIAL + F2_CLIENTE + F2_LOJA + F2_DOC
  • Ordem 3: F2_FILIAL + F2_EMISSAO + F2_DOC

SD2 - Itens de Nota Fiscal de Saida

Armazena os itens do documento de saida (NF). Gerada no faturamento do pedido de venda.

CampoTipoTamDescricao
D2_FILIALC8Filial
D2_DOCC9Numero do documento
D2_SERIEC3Serie
D2_CLIENTEC6Codigo do cliente
D2_LOJAC2Loja do cliente
D2_CODC15Codigo do produto
D2_ITEMC4Item
D2_QUANTN12,2Quantidade
D2_PRCVENN14,2Preco unitario de venda
D2_TOTALN14,2Valor total
D2_VALBRUTN14,2Valor bruto
D2_DESCONTN5,2Percentual de desconto
D2_VALDESCN14,2Valor do desconto
D2_TESC3Tipo de entrada/saida
D2_LOCALC2Armazem de saida
D2_PEDIDOC6Numero do pedido de venda vinculado
D2_ITEMPVC4Item do pedido de venda
D2_EMISSAOD8Data de emissao
D2_COMIS1N5,2Percentual de comissao
D2_VALIPIN14,2Valor de IPI
D2_VALICMN14,2Valor de ICMS
D2_ICMSRETN14,2ICMS retido (ST)
D2_LOTECTLC10Lote
D2_NUMLOTEC6Numero do lote
D2_CFC4Codigo fiscal (CFOP)

Indices principais:

  • Ordem 1: D2_FILIAL + D2_DOC + D2_SERIE + D2_CLIENTE + D2_LOJA + D2_COD + D2_ITEM
  • Ordem 2: D2_FILIAL + D2_COD + D2_DOC + D2_SERIE
  • Ordem 3: D2_FILIAL + D2_EMISSAO + D2_DOC + D2_SERIE
  • Ordem 4: D2_FILIAL + D2_PEDIDO + D2_ITEMPV

SA1 - Clientes (referencia)

Cadastro mestre de clientes, consultado em todo o ciclo de faturamento.

CampoTipoTamDescricao
A1_FILIALC8Filial
A1_CODC6Codigo do cliente
A1_LOJAC2Loja
A1_NOMEC40Razao social
A1_NREDUZC20Nome reduzido
A1_CGCC14CNPJ/CPF
A1_INSCRC18Inscricao estadual
A1_ENDC40Endereco
A1_ESTC2Estado
A1_MUNC30Municipio
A1_CEPC8CEP
A1_TELC15Telefone
A1_EMAILC50E-mail
A1_CONTATOC20Nome do contato
A1_TIPOC1Tipo: F=Fisico, J=Juridico, X=Exterior
A1_CONDC3Condicao de pagamento padrao
A1_TABELAC3Tabela de precos padrao
A1_VENDC6Vendedor padrao
A1_LCN14,2Limite de credito
A1_VENCLCD8Vencimento do limite de credito
A1_RISCOC1Classificacao de risco: A, B, C, D, E
A1_MSBLQLC1Bloqueado (1=Sim, 2=Nao)
A1_NATUREZC10Natureza financeira padrao
A1_TRANSPC6Transportadora padrao

Indices principais:

  • Ordem 1: A1_FILIAL + A1_COD + A1_LOJA
  • Ordem 2: A1_FILIAL + A1_NOME
  • Ordem 3: A1_FILIAL + A1_CGC

DA0 / DA1 - Tabela de Precos

DA0 armazena o cabecalho da tabela de precos e DA1 armazena os itens (produtos e seus precos). Consultada na inclusao de pedidos de venda para definir o preco de venda dos produtos.

DA0 - Cabecalho da Tabela de Precos:

CampoTipoTamDescricao
DA0_FILIALC8Filial
DA0_CODTABC3Codigo da tabela de precos
DA0_DESCRIC30Descricao da tabela
DA0_ATIVOC1Status: 1=Ativa, 2=Inativa
DA0_DATDED8Data de vigencia inicial
DA0_DATATED8Data de vigencia final

DA1 - Itens da Tabela de Precos:

CampoTipoTamDescricao
DA1_FILIALC8Filial
DA1_CODTABC3Codigo da tabela de precos (vinculo DA0)
DA1_CODPROC15Codigo do produto
DA1_PRCVENN14,2Preco de venda
DA1_DATVIGD8Data de vigencia
DA1_ATIVOC1Status: 1=Ativo, 2=Inativo
DA1_DESMAXN5,2Desconto maximo permitido

Indices principais (DA1):

  • Ordem 1: DA1_FILIAL + DA1_CODTAB + DA1_CODPRO
  • Ordem 2: DA1_FILIAL + DA1_CODPRO + DA1_CODTAB

SE1 - Titulos a Receber (referencia)

Titulos financeiros gerados automaticamente ao faturar o pedido de venda, representando os creditos a receber do cliente.

CampoTipoTamDescricao
E1_FILIALC8Filial
E1_PREFIXOC3Prefixo do titulo
E1_NUMC9Numero do titulo
E1_PARCELAC1Parcela
E1_TIPOC3Tipo do titulo (NF, DP, etc.)
E1_CLIENTEC6Codigo do cliente
E1_LOJAC2Loja do cliente
E1_EMISSAOD8Data de emissao
E1_VENCTOD8Data de vencimento
E1_VALORN14,2Valor do titulo
E1_SALDON14,2Saldo em aberto
E1_HISTC40Historico
E1_NATUREZC10Natureza financeira
E1_VEND1C6Codigo do vendedor

Indices principais:

  • Ordem 1: E1_FILIAL + E1_PREFIXO + E1_NUM + E1_PARCELA + E1_TIPO
  • Ordem 2: E1_FILIAL + E1_CLIENTE + E1_LOJA + E1_PREFIXO + E1_NUM
  • Ordem 3: E1_FILIAL + E1_VENCTO

Rotinas Principais

MATA030 - Cadastro de Clientes

O que faz: Permite incluir, alterar, excluir e visualizar o cadastro de clientes na tabela SA1. E o cadastro mestre utilizado em todo o ciclo de faturamento, contendo dados comerciais (limite de credito, risco, vendedor, condicao de pagamento) e fiscais (CNPJ, IE, endereco). A partir do Protheus 12, a rotina CRMA980 (MVC) substitui progressivamente o MATA030 quando MV_MVCSA1 esta habilitado.

Tabelas envolvidas:

  • SA1 (escrita) - Cadastro de Clientes
  • SA3 (leitura) - Cadastro de Vendedores
  • SE4 (leitura) - Condicoes de Pagamento
  • AI0 (leitura) - IBGE (Municipios)

Parametros relevantes:

ParametroDescricao
MV_MVCSA1Habilita novo cadastro de clientes em MVC (CRMA980)

Pontos de entrada:

Ponto de EntradaDescricao
MA030INCExecutado na inclusao do cliente
MA030ALTExecutado na alteracao do cliente
MA030TOKValidacao customizada na confirmacao do cadastro

OMSA010 - Tabela de Precos

O que faz: Permite o cadastro e manutencao de tabelas de precos (DA0/DA1). Define os precos de venda dos produtos por tabela, com controle de vigencia, status (ativa/inativa) e desconto maximo. As tabelas de precos sao consultadas automaticamente na inclusao de pedidos de venda.

Tabelas envolvidas:

  • DA0 (escrita) - Cabecalho da Tabela de Precos
  • DA1 (escrita) - Itens da Tabela de Precos
  • SB1 (leitura) - Cadastro de Produtos

Parametros relevantes:

ParametroDescricao
MV_LJRETVLDefine criterio de preco quando ha mais de uma tabela ativa (1=menor, 2=maior)

Pontos de entrada:

Ponto de EntradaDescricao
OM010CPORetorna array com campos adicionais da tabela DA1

MATA410 - Pedido de Venda

O que faz: Permite incluir, alterar, excluir e visualizar pedidos de venda. E a rotina central do ciclo de faturamento, formalizando a venda de produtos ou servicos ao cliente com condicoes comerciais (precos, descontos, prazos, tabela de precos). O pedido pode ser gerado manualmente, a partir de um orcamento, ou automaticamente via ExecAuto (integracao e-commerce, EDI, etc.).

O codigo-fonte do MATA410 foi modularizado em processos incrementais, sendo o MATA410 padrao (BASE) responsavel pelas operacoes de inclusao, alteracao, exclusao, visualizacao, browse e interfaces.

Tabelas envolvidas:

  • SC5 (escrita) - Cabecalho do Pedido de Venda
  • SC6 (escrita) - Itens do Pedido de Venda
  • SA1 (leitura) - Cadastro de Clientes
  • SB1 (leitura) - Cadastro de Produtos
  • DA0/DA1 (leitura) - Tabela de Precos
  • SE4 (leitura) - Condicoes de Pagamento
  • SA3 (leitura) - Cadastro de Vendedores
  • SB2 (leitura) - Saldos por Armazem

Parametros relevantes:

ParametroDescricao
MV_BLOQUEISubmete pedido a analise de credito na liberacao (.T./.F.)
MV_PZRESERPrazo de validade da reserva de estoque (em dias)

Pontos de entrada:

Ponto de EntradaDescricao
MT410INCExecutado na rotina de inclusao do pedido (A410INCLUI)
MT410ALTExecutado na rotina de alteracao do pedido
MT410TOKValida confirmacao de inclusao, alteracao, exclusao e copia
MTA410IExecutado na rotina de gravacao do pedido (A410GRAVA)
M410ALOKExecutado antes de iniciar alteracao, exclusao ou copia
M410STTSExecutado apos todas as alteracoes no arquivo de pedido
MA410CORAltera cores do cadastro de status do pedido
MA410LEGAltera textos da legenda de status do pedido
A410LPCxManipula a carga dos dados do produto na inclusao do pedido

MATA440 - Liberacao de Pedidos de Venda

O que faz: Controla a liberacao dos pedidos de venda para faturamento, aplicando analise de credito do cliente e disponibilidade de estoque dos produtos. Os pedidos aptos para liberacao sao aqueles com status de "Pedido de Venda em Aberto". Gera registros na tabela SC9 (Itens Liberados), controlando as quantidades liberadas, bloqueadas por credito e bloqueadas por estoque.

Possui dois modos de operacao:

  • Manual: apresenta os dados do pedido para verificacao e permite definir a quantidade a faturar.
  • Automatico: libera um grupo de pedidos com base em parametros, avaliando credito do cliente, estoque disponivel e data de entrega.

Se existem 100 unidades em estoque e o usuario libera 180, sao gerados 2 registros na SC9: o primeiro com 100 unidades liberadas e o segundo com 80 unidades bloqueadas por estoque.

Tabelas envolvidas:

  • SC9 (escrita) - Itens Liberados do Pedido
  • SC5 (leitura/escrita) - Cabecalho do Pedido (atualiza C5_LIBEROK, C5_BLQ)
  • SC6 (leitura) - Itens do Pedido de Venda
  • SA1 (leitura) - Cadastro de Clientes (verifica credito)
  • SB2 (leitura) - Saldos por Armazem (verifica estoque)

Parametros relevantes:

ParametroDescricao
MV_BLOQUEIHabilita analise de credito na liberacao (.T. submete todos os pedidos)
MV_GRVBLQ2Gera bloqueio de estoque se nao houver saldo disponivel
MV_LIBNODPDefine se avalia credito para pedidos que nao geram duplicata (conforme TES). "S" avalia credito mesmo sem geracao de duplicata
MV_GERABLQControla avaliacao de saldo por enderecos/lotes na liberacao. "S"=avalia saldos por endereco e bloqueia se insuficiente. Funciona em conjunto com MV_GRVBLQ2
MV_CREDCLIDefine controle de credito por loja (L) ou por cliente (C)
MV_RESESTReserva estoque para pedidos sem credito aprovado. Quando ativo, gera reserva na SC0 mesmo com credito bloqueado
MV_MCUSTODefine o custo a ser considerado na liberacao

Pontos de entrada:

Ponto de EntradaDescricao
MTA440Customiza processo de liberacao de pedidos
M440FLOKValidacao adicional no filtro de liberacao

MATA450 - Analise de Credito

O que faz: Permite avaliar o credito do cliente por pedido de venda, analisando sua situacao quanto a classificacao de risco (A1_RISCO), limite de credito (A1_LC) e data de vencimento desse limite (A1_VENCLC). O valor em analise e somado aos titulos em aberto (SE1) e pedidos em aberto (SC5/SC6) e comparado com o limite de credito, desde que a data de validade seja superior a data corrente.

Possui dois modos:

  • Automatico: reavalia credito conforme parametros de risco, limite e vencimento.
  • Manual: permite liberar ou bloquear credito independente da avaliacao parametrica.

Tabelas envolvidas:

  • SC9 (leitura/escrita) - Itens Liberados (atualiza C9_BLCRED)
  • SA1 (leitura) - Cadastro de Clientes (risco, limite, vencimento)
  • SE1 (leitura) - Titulos a Receber (titulos em aberto)
  • SC5/SC6 (leitura) - Pedidos em Aberto

Parametros relevantes:

ParametroDescricao
MV_BLOQUEIHabilita controle de credito
MV_CREDCLIDefine controle de credito por loja (L) ou por cliente (C)

MATA455 - Liberacao de Estoque

O que faz: Permite verificar e liberar os itens de pedidos bloqueados por insuficiencia de estoque. Utilizada quando e necessario liberar em qualquer circunstancia, mesmo com estoque negativo.

Possui dois modos:

  • Automatico: reprocessa a analise de estoque; se houver saldo suficiente apos reposicao, libera o pedido automaticamente.
  • Manual: permite liberar o bloqueio independentemente do saldo, podendo deixar o estoque negativo (quando MV_ESTNEG permite).

Tabelas envolvidas:

  • SC9 (leitura/escrita) - Itens Liberados (atualiza C9_BLEST)
  • SB2 (leitura) - Saldos por Armazem

Parametros relevantes:

ParametroDescricao
MV_ESTNEGPermite estoque negativo
MV_GRVBLQ2Gera bloqueio quando nao ha saldo

Pontos de entrada:

Ponto de EntradaDescricao
MTA455EValidacao da liberacao automatica de bloqueio de estoque

MATA460 / MATA461 - Documento de Saida (Nota Fiscal de Saida)

O que faz: MATA460 (interface/selecao de pedidos) e MATA461 (processamento/geracao) sao as rotinas de faturamento que geram a nota fiscal de saida (SF2/SD2) a partir dos pedidos de venda liberados. Os documentos de saida sao preparados para finalizar o processo de expedicao de mercadorias e/ou prestacao de servicos, gerando diferentes documentos: Nota Fiscal, Complemento de Preco, Complemento de ICMS, Complemento de IPI, Devolucao de Compra e Beneficiamento, conforme definido no pedido de venda.

Para que os documentos de saida sejam emitidos, os pedidos de venda devem estar liberados pela analise de credito do cliente e pela disponibilidade de estoque (SC9 sem bloqueios).

A rotina MATA460A e a versao mais recente, com interface modernizada.

Tabelas envolvidas:

  • SF2 (escrita) - Cabecalho NF de Saida
  • SD2 (escrita) - Itens NF de Saida
  • SC5 (leitura/escrita) - Cabecalho do Pedido (atualiza C5_NOTA, C5_SERIE)
  • SC6 (leitura/escrita) - Itens do Pedido (atualiza C6_QTDENT, C6_NOTA, C6_SERIE)
  • SC9 (leitura/escrita) - Itens Liberados (atualiza vinculo com NF)
  • SD3 (escrita) - Movimentacoes de Estoque (baixa)
  • SE1 (escrita) - Titulos a Receber
  • SFT (escrita) - Livros Fiscais
  • CT2 (escrita) - Lancamentos Contabeis
  • SA1 (leitura) - Cadastro de Clientes
  • SB1 (leitura) - Cadastro de Produtos
  • SB2 (leitura/escrita) - Saldos por Armazem (baixa de estoque)

Parametros relevantes:

ParametroDescricao
MV_DCSSPDDefine quais tipos de series de Documentos de Saida sao gerados no bloco F100 do SPED PIS/COFINS
MV_FATTRAVParametro de travamento/lock no faturamento. Controla bloqueio de tabelas durante gravacao de pedidos e geracao de NF

Pontos de entrada:

Ponto de EntradaDescricao
M460FIMExecutado apos gravacao da NF de saida (SF2/SD2). Permite manipular dados gravados
M460MARKValidacao dos pedidos marcados para faturamento
M461LSF2Permite alterar dados da SF2 apos gravacao da NF
M461SERDefine serie e numero da NF de saida
M461SLDValida saldo de estoque do produto por lote/endereco
M461SB3Manipula atualizacao da tabela SB3 (saldos) na nota de saida
M461LEGAltera titulos da legenda do browse de preparacao do documento de saida
SF2460IExecutado na atualizacao das tabelas referentes a nota fiscal
MAPVLNFSGeracao de documento de saida a partir de itens do pedido de venda

MATA430 - Controle de Reservas

O que faz: Gerencia as reservas de estoque vinculadas aos pedidos de venda. Quando uma reserva excede o prazo de validade definido em MV_PZRESER e nao esta vinculada a nenhum pedido ativo, ao logar no modulo SIGAFAT, o processo de depuracao exclui automaticamente as reservas vencidas e atualiza o campo B2_RESERVA.

Tabelas envolvidas:

  • SB2 (leitura/escrita) - Saldos por Armazem (atualiza B2_RESERVA)
  • SC6 (leitura) - Itens do Pedido de Venda

SPEDNFE (NF-e SEFAZ) - Transmissao de NF-e

O que faz: Rotina de transmissao da Nota Fiscal Eletronica (NF-e) para a SEFAZ (Secretaria da Fazenda). Acessada no SIGAFAT em Atualizacoes > NF-e e NFS-e > NF-e Sefaz (SPEDNFE), com a opcao Transmissao. Permite transmitir, consultar status, cancelar e inutilizar numeracao de NF-e.

Integra com o TSS (TOTVS Service SOA) para comunicacao com os web services da SEFAZ. Suporta contingencia automatica em caso de indisponibilidade da SEFAZ.

Tabelas envolvidas:

  • SF2 (leitura/escrita) - Cabecalho NF de Saida (atualiza F2_CHVNFE, status de transmissao)
  • SD2 (leitura) - Itens NF de Saida

Processos de Negocio

Fluxo Completo de Faturamento

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  1. Pedido de    │────>│  2. Liberacao    │────>│  3. Analise de   │
│  Venda           │     │  (MATA440)       │     │  Credito          │
│  MATA410/SC5+SC6 │     │  SC9             │     │  MATA450/SA1+SE1  │
└─────────────────┘     └─────────────────┘     └────────┬────────┘

┌─────────────────┐     ┌─────────────────┐     ┌────────v────────┐
│  6. Titulo a     │<────│  5. Transmissao  │<────│  4. Documento    │
│  Receber         │     │  NF-e            │     │  de Saida         │
│  SE1             │     │  SPEDNFE         │     │  MATA460-461      │
└─────────────────┘     └─────────────────┘     │  SF2+SD2          │
                                                 └─────────────────┘

Passo 1: Pedido de Venda (MATA410)

AspectoDetalhe
RotinaMATA410
TabelasSC5 (escrita), SC6 (escrita), SA1 (leitura), SB1 (leitura), DA0/DA1 (leitura), SE4 (leitura)
O que aconteceO vendedor ou usuario formaliza a venda informando cliente, produtos, quantidades, precos, tabela de precos, condicao de pagamento, TES e data de entrega. O sistema busca o preco na tabela de precos vinculada (DA1), aplica descontos e calcula impostos preliminares. Se MV_BLOQUEI estiver ativo, o pedido fica pendente de liberacao.
ResultadoRegistros na SC5 (cabecalho) e SC6 (itens)

Passo 2: Liberacao de Pedidos (MATA440)

AspectoDetalhe
RotinaMATA440
TabelasSC9 (escrita), SC5 (leitura/escrita), SC6 (leitura), SA1 (leitura), SB2 (leitura)
O que aconteceO sistema avalia o credito do cliente (limite, risco, titulos em aberto) e a disponibilidade de estoque dos produtos. Se ambos forem aprovados, gera registro na SC9 com status liberado. Se houver impedimento, gera registro na SC9 com bloqueio de credito (C9_BLCRED) e/ou estoque (C9_BLEST).
ResultadoRegistros na SC9 com status liberado ou bloqueado

Passo 3: Analise de Credito e Estoque (MATA450/MATA455)

AspectoDetalhe
RotinasMATA450 (credito), MATA455 (estoque), MATA456 (liberacao manual combinada)
TabelasSC9 (escrita), SA1 (leitura), SE1 (leitura), SB2 (leitura)
O que acontecePara pedidos bloqueados, o responsavel financeiro analisa o credito do cliente (MATA450) e o responsavel de estoque verifica a disponibilidade (MATA455). A liberacao pode ser automatica (reavaliacao) ou manual (override). Apos liberacao, o registro SC9 tem os campos de bloqueio limpos.
ResultadoSC9 atualizada com bloqueios removidos; pedido apto para faturamento

Passo 4: Documento de Saida (MATA460/MATA461)

AspectoDetalhe
RotinasMATA460 (selecao/interface), MATA461 (processamento/geracao)
TabelasSF2 (escrita), SD2 (escrita), SC5 (escrita), SC6 (escrita), SC9 (escrita), SD3 (escrita), SE1 (escrita), SFT (escrita), CT2 (escrita), SB2 (escrita)
O que aconteceO usuario seleciona os pedidos liberados (SC9 sem bloqueios) e gera a nota fiscal de saida. O sistema grava o cabecalho da NF (SF2) e os itens (SD2), atualiza o saldo do pedido (C6_QTDENT), gera movimentacao de estoque (SD3 - baixa), titulo a receber (SE1), escrituracao fiscal (SFT) e lancamentos contabeis (CT2). O campo C5_NOTA e C6_NOTA sao atualizados com o numero da NF gerada.
ResultadoNF registrada (SF2/SD2), estoque baixado, financeiro gerado, fiscal escriturado

Passo 5: Transmissao NF-e (SPEDNFE)

AspectoDetalhe
RotinaSPEDNFE
TabelasSF2 (leitura/escrita - atualiza F2_CHVNFE e status)
O que aconteceA NF gerada e transmitida eletronicamente para a SEFAZ via TSS (TOTVS Service SOA). Apos autorizacao, o sistema grava a chave da NF-e (F2_CHVNFE) e o protocolo de autorizacao. Se a SEFAZ estiver indisponivel, o sistema pode usar contingencia automatica.
ResultadoNF-e autorizada pela SEFAZ com chave e protocolo gravados

Passo 6: Titulo a Receber (SE1)

AspectoDetalhe
TabelasSE1 (gerada automaticamente no passo 4)
O que aconteceO titulo a receber e gerado automaticamente no faturamento, conforme condicao de pagamento (SE4). O desdobramento em parcelas segue a regra da condicao. O titulo fica disponivel para o modulo Financeiro (SIGAFIN) para cobranca, baixa e conciliacao bancaria.
ResultadoTitulos em SE1 com vencimentos e valores conforme condicao de pagamento

Fluxo Simplificado (sem liberacao separada)

Pedido de Venda (SC5/SC6) → Documento de Saida (SF2/SD2) → Transmissao NF-e → Titulo a Receber (SE1)

Quando MV_BLOQUEI estiver desabilitado (.F.), o pedido pode ser faturado diretamente sem etapa intermediaria de liberacao.


Regras de Negocio

Campos obrigatorios por rotina

Pedido de Venda (MATA410 - SC5/SC6):

  • C5_CLIENTE + C5_LOJACLI (Cliente)
  • C5_CONDPAG (Condicao de pagamento)
  • C5_TIPO (Tipo do pedido)
  • C6_PRODUTO (Codigo do produto)
  • C6_QTDVEN (Quantidade vendida)
  • C6_PRCVEN (Preco unitario de venda)
  • C6_TES (Tipo de Entrada/Saida)
  • C6_LOCAL (Armazem)

Documento de Saida (MATA460/461 - SD2):

  • D2_COD (Codigo do produto)
  • D2_QUANT (Quantidade)
  • D2_PRCVEN (Preco de venda)
  • D2_TES (Tipo de Entrada/Saida)
  • D2_DOC (Numero do documento)
  • D2_SERIE (Serie da NF)
  • D2_LOCAL (Armazem)

Validacoes principais

ValidacaoDescricao
Credito do clienteSe MV_BLOQUEI = .T., o pedido e submetido a analise de credito. Compara valor do pedido + titulos em aberto com limite de credito (A1_LC). Se exceder ou limite vencido, bloqueia
Estoque disponivelSe MV_GRVBLQ2 = .T., verifica saldo em estoque (SB2). Se insuficiente, gera bloqueio de estoque na SC9
Cliente bloqueadoNao permite gerar pedido para cliente com A1_MSBLQL = "1"
Desconto maximoValida se o desconto informado nao excede o maximo permitido (DA1_DESMAX na tabela de precos)
Saldo do pedidoAo gerar NF, a quantidade nao pode ultrapassar o saldo do pedido (C6_QTDVEN - C6_QTDENT)
Reserva vencidaReservas que excedem MV_PZRESER dias e nao estao vinculadas a pedidos sao depuradas automaticamente
Pedido liberadoSomente pedidos com registros na SC9 sem bloqueios de credito e estoque podem ser faturados
ResiduoItens marcados como residuo (C6_BLQ = "R") nao participam do faturamento
Duplicidade de NFVerifica numeracao sequencial da NF para evitar duplicidade

Gatilhos SX7 relevantes

Campo origemCampo destinoRegraTabela lookup
C6_PRODUTOC6_DESCRISB1->B1_DESCSB1
C6_PRODUTOC6_UMSB1->B1_UMSB1
C6_PRODUTOC6_PRCVENDA1->DA1_PRCVEN (via tabela de precos)DA1
C5_CLIENTEC5_CONDPAGSA1->A1_CONDSA1
C5_CLIENTEC5_TABELASA1->A1_TABELASA1
C5_CLIENTEC5_VEND1SA1->A1_VENDSA1
C5_CLIENTEC5_TRANSPSA1->A1_TRANSPSA1
C6_QTDVEN * C6_PRCVENC6_VALORCalculado-
D2_CODD2_DESCRISB1->B1_DESCSB1

Pontos de entrada mais utilizados no modulo

Ponto de EntradaRotinaDescricao
MT410INCMATA410Customiza inclusao do pedido de venda
MT410ALTMATA410Customiza alteracao do pedido de venda
MT410TOKMATA410Validacao na confirmacao de operacao no pedido
MTA410IMATA410Pos-gravacao do pedido de venda
M410ALOKMATA410Executado antes de alterar/excluir/copiar pedido
M410STTSMATA410Pos-atualizacao de todas as alteracoes no pedido
MA410CORMATA410Altera cores de status do pedido
MA410LEGMATA410Altera textos da legenda de status
MTA440MATA440Customiza processo de liberacao
MTA455EMATA455Validacao na liberacao automatica de estoque
M460FIMMATA461Pos-gravacao da NF de saida
M460MARKMATA461Validacao de pedidos marcados para faturamento
M461LSF2MATA461Altera dados da SF2 apos gravacao
M461SERMATA461Define serie e numero da NF de saida
M461SLDMATA461Valida saldo de estoque por lote/endereco
M461SB3MATA461Manipula atualizacao da SB3 na nota de saida
SF2460IMATA461Atualizacao das tabelas referentes a NF
MAPVLNFSMATA461Geracao de documento de saida a partir de itens do PV
MA030TOKMATA030Validacao no cadastro de clientes

Integracoes

Faturamento → Estoque

AspectoDetalhe
QuandoNa geracao do Documento de Saida (MATA461)
O que aconteceGera movimentacao na SD3 (Movimentacoes de Estoque) do tipo Saida. Atualiza saldo do produto no armazem (SB2), reduzindo a quantidade disponivel. O tipo de movimento e definido pela TES informada no item da NF. A reserva de estoque (B2_RESERVA) e baixada correspondentemente
Tabelas afetadasSD3 (movimentacao), SB2 (saldo por armazem), SB9 (saldo consolidado)
ControlesSe controle de lote/sublote estiver ativo (B1_RASTRO), exige informacao de lote. Se enderecamento ativo, exige endereco de saida

Faturamento → Financeiro

AspectoDetalhe
QuandoNa geracao do Documento de Saida (MATA461)
O que aconteceGera titulo(s) a receber na SE1, desdobrados conforme a condicao de pagamento (SE4). O prefixo e numero do titulo sao baseados no numero da NF. A natureza financeira e determinada pela TES e/ou natureza da operacao (C5_NATUREZ). Comissoes do vendedor podem ser geradas na SE3
Tabelas afetadasSE1 (Titulos a Receber), SE3 (Comissoes)
ObservacaoO titulo fica disponivel para o modulo Financeiro (SIGAFIN) para cobranca, bordero, baixa e conciliacao

Faturamento → Fiscal

AspectoDetalhe
QuandoNa geracao do Documento de Saida (MATA461) e na transmissao NF-e (SPEDNFE)
O que aconteceGera escrituracao no livro de saidas (SFT/SF3). Registra valores de ICMS, IPI, PIS, COFINS, ICMS-ST e demais tributos conforme configuracao da TES e natureza de operacao (SED). A NF-e e transmitida para a SEFAZ via TSS, gerando chave de acesso (F2_CHVNFE) e protocolo
Tabelas afetadasSFT (Livros Fiscais), SF3 (Resumo de NF), SF2 (chave NF-e)
ObservacaoIntegra com o modulo SIGAFIS para apuracao de impostos e obrigacoes acessorias (SPED Fiscal, EFD Contribuicoes)

Faturamento → Contabilidade

AspectoDetalhe
QuandoNa geracao do Documento de Saida (MATA461), se contabilizacao online estiver habilitada
O que aconteceGera lancamentos contabeis na CT2, debitando contas de clientes/receita e creditando contas de estoque/impostos, conforme Lancamento Padrao (CT5) configurado na TES
Tabelas afetadasCT2 (Lancamentos Contabeis)
ObservacaoA contabilizacao por item da NF de saida foi implementada nas rotinas MATA461 e MATA521 (exclusao de NF)

Faturamento → Comissoes

AspectoDetalhe
QuandoNa geracao do Documento de Saida (MATA461)
O que aconteceGera registros de comissao na SE3, com base no percentual de comissao informado no pedido (C6_COMIS1) e/ou cadastrado no vendedor (SA3). A rotina MATA490 (Manutencao de Comissao) permite consultar e ajustar comissoes
Tabelas afetadasSE3 (Comissoes de Vendas)

Resumo das integracoes no Documento de Saida

                         MATA461 - Documento de Saida

                    ┌────────────────┼────────────────┐
                    │                │                │
              ┌─────v─────┐   ┌─────v─────┐   ┌─────v─────┐
              │  Estoque   │   │ Financeiro│   │   Fiscal  │
              │ SD3 / SB2  │   │  SE1/SE3  │   │ SFT / SF3 │
              └───────────┘   └───────────┘   └───────────┘
                    │                                │
              ┌─────v─────┐                   ┌──────v──────┐
              │  Reservas  │                   │Contabilidade│
              │ B2_RESERVA │                   │     CT2     │
              └───────────┘                   └─────────────┘

                                              ┌──────v──────┐
                                              │  NF-e SEFAZ │
                                              │   SPEDNFE   │
                                              └─────────────┘

Cadastros Auxiliares

RotinaDescricaoTabela
MATA030 / CRMA980Cadastro de ClientesSA1
MATA040Cadastro de VendedoresSA3
OMSA010Tabela de PrecosDA0 / DA1
MATA430Controle de ReservasSB2 (B2_RESERVA)
MATA490Manutencao de ComissaoSE3
MATA521Exclusao de NF de SaidaSF2 / SD2
SPEDNFENF-e SEFAZ (Transmissao)SF2
MATA456Liberacao Manual de Credito e EstoqueSC9

Parametros Globais do Modulo (MV_*)

ParametroTipoDescricao
MV_BLOQUEILHabilita analise de credito na liberacao de pedidos. Quando .T., submete todas as liberacoes a aprovacao de credito
MV_CREDCLICDefine controle de credito por loja (L) ou por cliente (C). Usado na liberacao automatica de credito
MV_DCSSPDCDefine quais tipos de series de Documentos de Saida sao gerados no bloco F100 do SPED PIS/COFINS
MV_ESTNEGLPermite estoque negativo nas rotinas de faturamento e estoque
MV_FATTRAVCParametro de travamento/lock no faturamento. Controla bloqueio de tabelas (SA1, SA2, SB2) durante gravacao de pedidos e geracao de NF
MV_GERABLQCControla avaliacao de saldo por enderecos/lotes na liberacao. "S"=avalia saldos por endereco e bloqueia se insuficiente. "N"=avalia e exige reducao de quantidade. Funciona em conjunto com MV_GRVBLQ2
MV_GRVBLQ2LGera bloqueio de estoque quando nao ha saldo disponivel
MV_LIBNODPCDefine se avalia credito para pedidos que nao geram duplicata (conforme TES). Conteudo "S" avalia credito mesmo sem geracao de duplicata
MV_LJRETVLNDefine criterio de preco quando ha mais de uma tabela ativa (1=menor, 2=maior)
MV_MCUSTONDefine custo a ser considerado na liberacao
MV_MVCSA1LHabilita novo cadastro de clientes em MVC (CRMA980)
MV_PZRESERNPrazo de validade da reserva de estoque (em dias)
MV_RESESTLReserva estoque para pedidos sem credito aprovado. Quando ativo, gera reserva na SC0 mesmo com credito bloqueado

Nesta pagina