Histórico da Página
...
1.5- O pacote de expedição contínua do Varejo deverá estar atualizado, mais informações sobre Clique Aqui.
1.6- Somente versões vigentes são suportadas, conforme link de ciclo de vida do TOTVS Linha Protheus: https://suporte.totvs.com/portal/p/10098/ciclodevidacalendarios
Obs.: A integração com VTEX, faz uso de outras mensagens padronizadas, para mais informações acessar a documentação do time de FrameWork: Integração Protheus x VTEX - Via Mensagem Padronizada (EAI)
...
Parâmetro/PE | Tipo | Descrição | Exemplo de Conteúdo | Observação | |||||
---|---|---|---|---|---|---|---|---|---|
MV_LJECOMO | L | E-commerce CiaShop .T. (Ativo) .F. (Desativado)
| .F. | Colocar obrigatoriamente falso (.F.) Importante: Não existe compatibilidade para o funcionamento simultâneo das integração CiaShop e VTEX, para funcionar VTEX a integração com CiaShop deverá ser desligada. | |||||
MV_LJVFNFS | L | Define a utilização da emissão de nota fiscal de simples faturamento na venda futura: .T. para habilitar ou .F. para desabilitar. Conteúdo padrão: .F. | .F. | Esse parâmetro é desconsiderado na integração não importa seu conteúdo, a jornada de simples faturamento não é utilizada pelo e-commerce. | |||||
MV_LJECOMM | L | Identifica que o sistema utiliza E-commerce .T. (Ativo) .F. (Desativado)
| .F. | Colocar obrigatoriamente falso (.F.) Importante: Não existe compatibilidade para o funcionamento simultâneo das integração CiaShop e VTEX, para funcionar VTEX a integração com CiaShop deverá ser desligada. | |||||
MV_TABPAD | C | Preço Padrão para digitação de vendas | 001 | Deve possuir o código cadastrado na tabela de preços DA0 para referência. Importante: Esse parâmetro não define regras de preço para o E-commerce, o preço recebido via integração não é modificado, esse parâmetro é necessário por regras do módulo SIGALOJA. | |||||
MV_RESEST | L | Indica se o estoque deve ser reservado para clientes que possuem bloqueio de credito. | .T. | Recomenda-se habilitar esse parâmetro com integração VTEX para gerar a liberação do pedido e reservar o estoque mesmo quando o crédito estiver bloqueado (Boleto por exemplo). | |||||
MV_LJIFPLI | C | Define as formas de pagamento para geração de pedido de venda liberado para faturamento, ou seja, sem nenhum tipo de bloqueio financeiro. | FI|CC|R$ | Importante: Somente informar as formas que tem confirmação de pagamento na camada do e-commerce. Exemplo: Caso utilize boleto sem a confirmação de pagamento pela VTEX, não deverá informar o boleto nesse parâmetro, caso isso ocorra, um pedido que ainda não teve o boleto pago, poderá ser liberado para o faturamento após a integração. | |||||
MV_LJGERSC | N | Se utiliza o conceito de gerar Solicitação de Compras para reserva sem estoque. | 4 | Para MarketPlace como o Pedido já vem fechado recomenda-se o uso deste parâmetro = 4 (Permite reserva sem estoque e não gera solicitação de compras) para permitir reservar mesmo sem o estoque. Obs: As configurações para geração automática de solicitação de compra não são compatíveis para a integração do e-commerce Importante: Quando configurado com a opção 4 é possível realizar reserva sem saldo para produtos que controlam Lote e/ou Endereçamento porém, ao integrar a venda o pedido gerado no faturamento ficará bloqueado por saldo em estoque (C9_BLEST = 02) devido ao produto ter controle de Lote e/ou Endereçamento. Com isso, é necessário realizar a inclusão de saldo por Lote(SB8) ou Endereçamento(SBF). | |||||
MV_LJTESPE | C | Define qual o TES será utilizado para a geração do Pedido de Venda | MV_LJTESPE | C | Define qual o TES será utilizado para a geração do Pedido de Vendapor meio da rotina Venda Assistida. O parâmetro pode ser macro-executado. | 501 | Para utilização da TES Inteligente, esse parâmetro deverá estar em branco. | ||
MV_LJPEDVE | L | Define a utilização da emissão de Pedidos de Venda através da rotina de Venda Assistida. | .T. | O parâmetro deve ficar obrigatoriamente .T. para emissão do pedido de venda, essa configuração é padrão para seguir o fluxo de pedido com entrega no módulo de Venda Assistida. (SIGALOJA 0196 Como habilitar a emissão de pedido de venda na Rotina Venda Assistida?) Obs.: Usuários CiaShop não precisavam habilitar esse parâmetro, pois o fluxo para geração do Pedido não era o mesmo do Venda Assistida. | |||||
MV_LJCONDP | C | Determina a Condição de Pagamento que será utilizada para a emissão do Pedido de Venda através da rotina de Venda Assistida. Esta condição de pagamento é meramente informativa pois o TES utilizado não pode gerar movimento financeiro. | 001 | Importante: É necessário verificar se existe Condição de Pagamento cadastrada na tabela SE4 - Condições de Pagamento, para informar no parâmetro. (SIGALOJA 0196 Como habilitar a emissão de pedido de venda na Rotina Venda Assistida?) Obs: Os pagamentos contidos no XML enviado a SEFAZ são com base os pagamentos do orçamento (Tabela SL4 ), sendo assim, a condição de pagamentos contida no pedido de venda está presente apenas para preencher uma obrigatoriedade do pedido de venda, não sendo utilizada para a geração do XML. | |||||
MV_LJTPFRE | C | Tipo de frete para o processo de integração de venda via mensagem padronizada RetailSales. | F | O parâmetro pode ser macro-executado. Para isso, ele deve iniciar com & e em seguida com a função a ser chamada. Exemplo: &U_EXEMPLO(). Caso não seja eleito um Tipo de Frete diferente do permite no campo será informado uma critica e não integrará a orçamento/venda. Para maiores informações acesse: https://tdn.engpro.totvs.com.br/display/public/PROT/MV_LJTPFRE | |||||
MV_VALCNPJ | C | Parâmetro do módulo de Faturamento, define se permite ter mais de um cliente com o mesmo CNPJ | 1 | Esse parâmetro é importante para a integração VTEX para permitir múltiplos endereços, mais informações no link: | centraldeatendimentohc | pt-br | articles | 360029117791-MP-FAT-Incluir-m%C3%BAltiplos-endere%C3%A7os-de-entrega-no-cadastro-do-cliente | |
MV_VALCPF | C | Parâmetro do módulo de Faturamento, define se permite ter mais de um cliente com o mesmo CPF | 1 | Esse parâmetro é importante para a integração VTEX para permitir múltiplos endereços, mais informações no link: | centraldeatendimentohc | pt-br | articles | 360029117791-MP-FAT-Incluir-m%C3%BAltiplos-endere%C3%A7os-de-entrega-no-cadastro-do-cliente | |
MV_LJE1NUM | C | Define padrão de número na geração do título financeiro | 1 | Para mais informações: DT_MV_LJE1NUM | |||||
MV_LJTDESI | N | Para controlar o tipo de desconto na integração RetailSales 0 = desligado padrão, 1 = desconto no campo Indenização. | 0 | Parâmetro usado para desconto no total da venda, onde muda o desconto no pedido de venda para o campo Indenização (C5_DESCONT). | |||||
MV_LJCTRES | L | Verifica se controla quantidade reservada para o cliente que efetuou a compra. | .T. | Na criação da reserva a quantidade é empenhada no estoque, caso houver necessidade de cancelamento o empenho é retornado ao estoque. | |||||
LJI701O1 | PE | Ponto de entrada para customizar os dados recebidos na integração. Seu uso não é obrigatório e o conteúdo customizado não é avaliado pelo time de produto, conforme ocorre com demais pontos de entrada do Protheus. Somente deverá ser utilizado se houver a necessidade de customizar algum dado recebido pela camada da VTEX. Ele permite alterar o valor das tags dos itens que foram recebidas pela mensagem única RetailSales. | Documentação: Ponto de entrada LJI701O1 | ||||||
LJI701O2 | PE | Ponto de entrada para liberação da alteração do pedido de venda, gerados pela mensagem única RetailSales | Documentação: Ponto de entrada LJI701O2 | ||||||
LJDEPSE1 | PE | Este Ponto de Entrada é acionado na finalização do Venda Assistida após a gravação do título a receber na tabela SE1, possibilitando que sejam realizadas gravações complementares no titulo inserido. O registro inserido fica posicionado para uso no Ponto de Entrada. | Documentação: LJDEPSE1 - Ponto de entrada após a gravação do título a receber (SE1) | ||||||
MV_DTLIMIT | N | Parâmetro para determinar a validade de um orçamento com ou sem reserva. | Documentação: https://centraldeatendimento.totvs.com/hc/pt-br/articles/115015439487-MP-SIGALOJA-Como-determinar-a-validade-de-um-or%C3%A7amento-com-ou-sem-reserva | ||||||
MV_LJIPIFR | N | Define se quando produto possui cálculo de IPI com frete na base, será realizado o cálculo reverso no valor do frete da venda integrada. 0 (Padrão) = Desativado , 1 = Ativado | 0 | Realiza o calculo reverso de IPI no valor do Frete, para mais detalhes: Cálculo de reversão de IPI no valor do frete | |||||
MV_LJCFPDP | N | Determina se a funcionalidade de Confirmar Pedido Pendente esta ativa: 0 = Desabilitado 1 = Habilitado 2 = Automático | 0 | Documentação: DT Venda Assistida com opção Confirma Pedido Pendente |
3- Adapter
3.1- Para que o Protheus possa receber a mensagem RetailSales é necessário realizar o cadastro dos seguintes adapters: LOJA701, LOJA704 e LOJI701A. Para mais informações de como cadastrar um adapter Clique aqui.
...
ItemReserve - Com a venda realizada na plataforma do E-Commerce será disparado uma Mensagem Padronizada de Reserva de itens - Produtos no Protheus, essa reserva por sua vez ira percorrer o processo configurado pelo modulo estoque, podendo retirar reservar do estoque o que foi enviado na MP - ItemReserve.
- Controle de Lote/Sublote/Endereçamento/Serie - Para reservas utilizando Rastro/Endereçamento NÃO será passado via json o produto com código para ser reservado. Os produtos serão usados conforme data de vigência inicial e final. As reservas serão geradas, sendo quebrada conforme consumo do estoque.
...
- Para reservas integradas via MP - ItemReserve o cancelamento automático de reserva com a validade expirada (C0_VALIDA) está desabilitado.
- O cancelamento de Reserva só será realizado via Mensagem Padronizada com o evento delete que se encontra dentro do Content no Json EVENT = DELETE
- O cancelamento de reserva também poderá ser realizado via tela na rotina Controle de Reservas - MATA430.
...
- Com saldo em estoque suficiente - Caso na mensagem Padronizada ItemReserve não seja informado as tags referente à Lote, SubLote, Endereçamento e Serie, mencionadas a baixo:
- "LotNumber" - Lote
- "SubLotNumber" - SubLote
- "AddressingItem" - Endereçamento
- "SeriesItem" - Serie
O sistema vai identificar o Lote com a data de validade mais próxima e fará a reserva do produto para esse lote.
Caso a quantidade do produto seja superior ao do primeiro lote, o sistema identifica se tem outros lotes do mesmo produto, caso tenha será reservado 100 unidades do lote com a validade mais próxima e 2 unidades para o segundo lote com a validade mais próxima. Com isso gerando duas linhas do mesmo produto na tabela SC0, para lotes diferentes, como mostra o exemplo abaixo:
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- Controle de Lote/Sublote/Endereçamento/Serie - Os itens do orçamento na tabela SL2 serão criados quebrando os itens conforme consumo do da reserva.
Importante : Somente é homologado pedidos com pagamento confirmado na plataforma VTEX, não é homologado pedido com boleto para controle de pagamento via Protheus.
- Serviço Gravabatch - Esse serviço é responsável pelo processamento do orçamento das tabelas incluídas pela MP - RetailSales. Para as vendas que estejam campo L1_SITUA = RX, este serviço tem como objetivo: Gerar financeiro, Baixa de estoque, Livros fiscais etc. Caso seja encontrado alguma inconsistência no processamento deste serviço o campo L1_SITUA é atualizado para ER. Caso o processamento da venda seja finalizado com sucesso o campo L1_SITUA é atualizado para FR.
Importante: Após processar o orçamento na tabela SL1 o registro Pai é atualizado o campo L1_SITUA = FR e criará o registro filho com o campo L1_SITUA em branco. Qualquer mudança desses registros falhará no envio da tag RetailSalesInternalId na próxima MP - DocumentTraceAbilityOrder.
Para auxiliar na analise de erros ou criticas é possível habilitar o log do loja, abaixo segue a documentação do log:
SIGALOJA 0290 Quais são os logs auxiliares Protheus Varejo?
Links com orientações de configuração do GravaBatch:
Configuração do Job LJGRVBATCH para processamento das vendas no Protheus
- DocumentTraceAbilityOrder - O Rastreio do Pedido de Vendas é uma mensagem do módulo de Faturamento enviado do sistema Protheus, e será integrado com o sistema VTEX no momento do faturamento do pedido de venda, gerando o documento de saida. Link da MP - Rastreio de Pedido de Venda
- Importante: Existe uma validação padrão dentro do módulo do Faturamento para não permitir alterar Pedido quando a origem é do Loja, o motivo é para evitar divergência de valores entre as tabelas do controle de loja e faturamento, porém, caso o cliente deseja realizar a alteração do pedido mesmo sabendo que pode ocorrer divergência de valores caso o valor total do pedido seja alterado, deve-se utilizar o ponto de entrada LJI701O2 (DVARLOJ1-5249 DT Criação de Ponto de Entrada (rotina Pedidos de venda)) para realizar a liberação da alteração.
- Estrutura de gravação: A gravação do pedido segue o padrão utilizado pelo Venda Assistida, onde o registro recebido de orçamento, após o processamento do Job Gravabatch, irá gerar um orçamento filho para a geração do Pedido. Para mais informações sobre essa estrutura, acessar o link: Como é gravado uma venda com itens do tipo ENTREGA (pedido) e RETIRA ?
6.2 - RetailSales - Item Retira
Apos ter realizado as configurações acima a integração de Venda - OrderRetail seguirá os seguintes fluxos:
- ItemReserve - Com a venda realizada na plataforma do E-Commerce será disparado uma Mensagem Padronizada de Reserva de itens - Produtos no Protheus, essa reserva por sua vez ira percorrer o processo configurado pelo modulo estoque, podendo retirar do estoque o que foi enviado na MP - ItemReserve.
- CustomerVendor - Apos a confirmação de Reserva de Itens é disparado uma Mensagem Padronizada de Clientes para o Protheus. A MP de Clientes pode ser de inclusão ou de alteração.
- RetailSales - Apos a confirmação de inclusão ou alteração de Cliente é disparado uma Mensagem Padronizada de Vendas para o Protheus. O processo de inclusão do orçamento das tabelas SL1, SL2 e SL4 passa por toda a validação de registros do modulo SIGALOJA. O registro totalmente validado é incluído para próxima etapa, quaisquer informações invalidas identificado nesse processo ira retornar uma critica a integração E-Commerce
- Serviço Gravabatch - Esse serviço é responsável pelo processamento do orçamento das tabelas incluídas pela MP - RetailSales. Para as vendas que estejam campo L1_SITUA = RX, este serviço tem como objetivo: Gerar as tabelas SL1,SL2 e SL4. Caso seja encontrado alguma inconsistência no processamento deste serviço o campo L1_SITUA é atualizado para ER. Caso o processamento da venda seja finalizado com sucesso o campo L1_SITUA é atualizado para FR.
Importante: Apos explodir o orçamento SL1 o registro Pai é atualizado o campo L1_SITUA = FR e criará o registro filho com o campo L1_SITUA em branco. Qualquer mudança desses registros falhará no envio da tag RetailSalesInternalId na próxima MP - DocumentTraceAbilityOrderRetail.
Para auxiliar na analise de erros ou criticas é possível habilitar o log do loja, abaixo segue a documentação do log:
SIGALOJA 0290 Quais são os logs auxiliares Protheus Varejo?
- Após a geração das tabelas SL1,SL2 e SL4, acessando a rotina de Venda Assistida (LOJA701):
- No menu "Outras Ações/Confirmar Pedido Pendente", efetue a liberação do pedido - que estará com o status na cor roxa - com isso será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o Status "Empacotado".
- Finalizando esse orçamento com item de pedido do tipo retira, será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o Status "Entregue".
- Efetuando o cancelamento do orçamento pai ( o filho não pode ser excluído pois é um pedido retira ) será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o status "Cancelado".
- Para maiores informações da mensagem DocumentTraceAbilityOrderRetail, acesse: DocumentTraceAbilityOrderRetail - Pedido Retira
Dica | ||
---|---|---|
| ||
As vendas do tipo Retira segue um processo de confirmação de integração, para mais detalhes acesse: Confirmação de pedido Retira Posterior |
7 - Utilizando Tes no Produto ou Tes Inteligente
Para gravação de dados do Orçamento (Tabela SL1), é necessário a amarração da TES no produto ou configuração da TES Inteligente.
Para a utilização da TES no produto deve ser incluído no campo TS Padrao (Campo B1_TS) como mostra o exemplo abaixo:
Agora para utilização da TES Inteligente por default da Mensagem Padronizada utilizamos a informação existente na tag "OperationCode": "01" dentro do bloco "SaleItem", assim procuramos na tabela SFM - TES Inteligente se existe uma regra com a operação 01, caso não exista a configuração infomara a seguinte mensagem: "Inconsistência no item numero do item TES não informada, verifique o Cadastro de Produto no Protheus campo B1_TS e/ou De-Para de TES(XXF) e/ou as configurações para TES Inteligente(DHJ e SFM) e/ou parâmetros MV_TESSERV e MV_TESVEND."
Seguir orientações do ERP para TES Inteligente, exemplo abaixo:
7.1 - Cenário onde pode ser usado a Tes Inteligente no orçamento SL1, SL2 e/ou SC5, SC6
- Orçamento SL1 e SL2: a TES inteligente configurada para o Tp. de Operação recebida na tag OperationCode "valor padrão 01" deve gerar financeiro, pois é nesse momento que as informações de pagamento serão gravadas.
- Pedido de Venda SC5 e SC6: a TES inteligente configurada para o Tp. de Operação "V" não deve gerar financeiro, pois as informações de pagamentos, foram geradas no passo anterior, ou seja, na gravação do orçamento(SL1/SL2).
Importante: Para realizar a busca da TES Inteligente, o parâmetro MV_LJTESPE deverá estar em branco.
8- Geração do Contas a Receber (SE1)
A geração dos dados do Contas a Receber (SE1), ocorre após a execução do Job de Integração de Vendas (LJGRVBATCH) e depende da
TES-Tipo de Entrada e Saída configurada e segue a sequência:
- Pesquisa da TES Inteligente rotina MaTesInt, caso não encontre, segue;
- Pesquisa da TES na tabela SBZ-Indicadores de Produtos, caso não encontre, segue;
- Pesquisa da TES no campo Tipo de Saída do Produto (B1_TS) de acordo com o produto encontrado, caso não encontre, segue;
- Valida se a venda é um RPS, se sim, busca a TES no parâmetro MV_TESSERV, caso contrário;
- Caso não ache seja RPS, busca a TES para o produto no parâmetro MV_TESVEND;
- Ao final, se nenhuma TES for encontrada haverá retorno com mensagem de inconsistência e o processo de integração não ocorrerá;
Importante:
A TES - Tipo de Entrada e Saída configurada deve ter basicamente esses campos preenchidos:
- Do tipo 'Saída': F4_CODIGO maior ou igual a 500;
- Gera Duplicata (F4_DUPLIC) igual a S;
- Gera Estoque (F4_ESTOQUE) igual a S;
Nos pedidos que contem itens do tipo "1-Retira Posterior" (Campo L2_ENTREGA igual a 1) os orçamentos filhos terão
o Contas a Receber gerado após a finalização do orçamento como venda.
9- Relacionamento entre Orçamento, Pedido de Venda, Pedidos Liberados e Contas a Receber
Relacionamento entre tabelas de Orçamento(Venda Assistida), Pedido de Venda, Pedidos Liberados (Faturamento) e Contas a Receber(Financeiro)
Colocar motivo de não permitir alteração de pedido no Faturamento.
Para encontrar os Pedido de Venda (SC5) e Contas a Receber (SE1) a partir do Orçamento (SL1) pode ser realizado dos campos:
SL1 - L1_FILIAL, L1_ECPEDEC, L1_DOCPED, L1_SERPED
SC5 - C5_FILIAL, C5_PEDECOM
SE1 - E1_FILIAL, E1_PREFIXO, E1_NUM
Para encontrar os Pedidos Liberados (SC9) a partir do Pedido de Venda (SC5) pode ser realizado dos campos:
SC9 - C9_FILIAL, C9_PEDIDO
Relacionamento entre as tabelas e campos:
L1_ECPEDEC = C5_PEDECOM
L1_DOCPED = E1_NUM
L1_SERPED = E1_PREFIXO
C9_PEDIDO = C5_NUM
A tabela de cabeçalho da Nota (SF2) é gerada após o Faturar o Pedido pelo módulo do Faturamento, onde:
F2_DOC = C5_NOTA
Para identificar o registro de Orçamento (SL1) que gerou o título financeiro (SE1), relaciona-se:
E1_NUM + E1_PREFIXO = L1_DOCPED + L1_SERPED
Também é possível localizar/relacionar o título financeiro com base no número do documento do e-commerce (L1_ECPEDEC e C5_PEDECOM), para isso, é necessário que o campo E1_NRDOC possua o mesmo tamanho.
E1_NRDOC = C5_PEDECOM
- sem saldo em estoque - Caso o produto tenha controle de lote e/ou endereçamento e não tenha saldo nas tabelas SBF(Saldos por Endereço) e SB8(Saldos por Lote), quando configurado para permitir reserva sem estoque (MV_LJGERSC = 4), a reserva será gerada normalmente na tabela SC0 sem preencher os campos de Lote ou Endereço e a quantidade reservada será controlada somente na tabela SB2, nas tabelas SBF e SB8 não terá nenhum tipo de movimentação. Após gerar a reserva e integrar a venda o pedido de venda será gerado no faturamento e ficara bloqueado por saldo em estoque (C9_BLEST = 02). Com isso é necessário realizar a inclusão de saldo por Lote(SB8) ou Endereçamento(SBF) e realizar a liberação do estoque no modulo do Faturamente. Caso deseje realizar alguma alteração no Pedido para informar o lote ou o endereço do produto pode utilizar o Ponto de entrada LJI701O2.
Importante : Endereçamento e Serie o tratamento é o mesmo.
- Para reservas integradas via MP - ItemReserve o cancelamento automático de reserva com a validade expirada (C0_VALIDA) está desabilitado.
- O cancelamento de Reserva só será realizado via Mensagem Padronizada com o evento delete que se encontra dentro do Content no Json EVENT = DELETE
- O cancelamento de reserva também poderá ser realizado via tela na rotina Controle de Reservas - MATA430.
- CustomerVendor - Após a confirmação de Reserva de Itens é disparado uma Mensagem Padronizada de Clientes para o Protheus. A MP de Clientes pode ser de inclusão ou de alteração.
- RetailSales - Após a confirmação de inclusão ou alteração de Cliente é disparado uma Mensagem Padronizada de Vendas para o Protheus. O processo de inclusão do orçamento das tabelas SL1, SL2 e SL4 passa por toda a validação de registros do modulo SIGALOJA. O registro totalmente validado é incluído para próxima etapa, quaisquer informações invalidas identificado nesse processo ira retornar uma critica a integração E-Commerce.
- Controle de Lote/Sublote/Endereçamento/Serie - Os itens do orçamento na tabela SL2 serão criados de acordo com os itens da reserva.
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Importante : Somente é homologado pedidos com pagamento confirmado na plataforma VTEX, não é homologado pedido com boleto para controle de pagamento via Protheus.
- Serviço Gravabatch - Esse serviço é responsável pelo processamento do orçamento das tabelas incluídas pela MP - RetailSales. Para as vendas que estejam campo L1_SITUA = RX, este serviço tem como objetivo: Gerar financeiro, Baixa de estoque, Livros fiscais etc. Caso seja encontrado alguma inconsistência no processamento deste serviço o campo L1_SITUA é atualizado para ER. Caso o processamento da venda seja finalizado com sucesso o campo L1_SITUA é atualizado para FR.
Importante: Após processar o orçamento na tabela SL1 o registro Pai é atualizado o campo L1_SITUA = FR e criará o registro filho com o campo L1_SITUA em branco. Qualquer mudança desses registros falhará no envio da tag RetailSalesInternalId na próxima MP - DocumentTraceAbilityOrder.
Para auxiliar na analise de erros ou criticas é possível habilitar o log do loja, abaixo segue a documentação do log:
SIGALOJA 0290 Quais são os logs auxiliares Protheus Varejo?
Links com orientações de configuração do GravaBatch:
Configuração do Job LJGRVBATCH para processamento das vendas no Protheus
- DocumentTraceAbilityOrder - O Rastreio do Pedido de Vendas é uma mensagem do módulo de Faturamento enviado do sistema Protheus, e será integrado com o sistema VTEX no momento do faturamento do pedido de venda, gerando o documento de saída. Link da MP - Rastreio de Pedido de Venda
- Importante: Existe uma validação padrão dentro do módulo do Faturamento para não permitir alterar Pedido quando a origem é do Loja, o motivo é para evitar divergência de valores entre as tabelas do controle de loja e faturamento, porém, caso o cliente deseja realizar a alteração do pedido mesmo sabendo que pode ocorrer divergência de valores caso o valor total do pedido seja alterado, deve-se utilizar o ponto de entrada LJI701O2 (DVARLOJ1-5249 DT Criação de Ponto de Entrada (rotina Pedidos de venda)) para realizar a liberação da alteração.
- Estrutura de gravação: A gravação do pedido segue o padrão utilizado pelo Venda Assistida, onde o registro recebido de orçamento, após o processamento do Job Gravabatch, irá gerar um orçamento filho para a geração do Pedido. Para mais informações sobre essa estrutura, acessar o link: Como é gravado uma venda com itens do tipo ENTREGA (pedido) e RETIRA ?
- Xml da Nota Sefaz: O XML da sefaz é enviado na mensagem no bloco DocumentContent somente no status do Pedido "Empacotado" e a nota fiscal transmitida.
6.2 - RetailSales - Item Retira
Apos ter realizado as configurações acima a integração de Venda - OrderRetail seguirá os seguintes fluxos:
- ItemReserve - Com a venda realizada na plataforma do E-Commerce será disparado uma Mensagem Padronizada de Reserva de itens - Produtos no Protheus, essa reserva por sua vez ira percorrer o processo configurado pelo modulo estoque, podendo retirar do estoque o que foi enviado na MP - ItemReserve. Caso o Produto controle Lote, SubLote, Endereçamento e Serie, será realizado o mesmo tratamento informado no tópico ItemReserve do item 6.1 - RetailSales - item Entrega.
- CustomerVendor - Apos a confirmação de Reserva de Itens é disparado uma Mensagem Padronizada de Clientes para o Protheus. A MP de Clientes pode ser de inclusão ou de alteração.
- RetailSales - Apos a confirmação de inclusão ou alteração de Cliente é disparado uma Mensagem Padronizada de Vendas para o Protheus. O processo de inclusão do orçamento das tabelas SL1, SL2 e SL4 passa por toda a validação de registros do modulo SIGALOJA. O registro totalmente validado é incluído para próxima etapa, quaisquer informações invalidas identificado nesse processo ira retornar uma critica a integração E-Commerce
- Serviço Gravabatch - Esse serviço é responsável pelo processamento do orçamento das tabelas incluídas pela MP - RetailSales. Para as vendas que estejam campo L1_SITUA = RX, este serviço tem como objetivo: Gerar as tabelas SL1,SL2 e SL4. Caso seja encontrado alguma inconsistência no processamento deste serviço o campo L1_SITUA é atualizado para ER. Caso o processamento da venda seja finalizado com sucesso o campo L1_SITUA é atualizado para FR.
Importante: Apos explodir o orçamento SL1 o registro Pai é atualizado o campo L1_SITUA = FR e criará o registro filho com o campo L1_SITUA em branco. Qualquer mudança desses registros falhará no envio da tag RetailSalesInternalId na próxima MP - DocumentTraceAbilityOrderRetail.
Para auxiliar na analise de erros ou criticas é possível habilitar o log do loja, abaixo segue a documentação do log:
SIGALOJA 0290 Quais são os logs auxiliares Protheus Varejo?
- Após a geração das tabelas SL1,SL2 e SL4, acessando a rotina de Venda Assistida (LOJA701):
- No menu "Outras Ações/Confirmar Pedido Pendente", efetue a liberação do pedido - que estará com o status na cor roxa - com isso será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o Status "Empacotado" contendo os dados do retorno da sefaz no bloco DocumentContent.
- Finalizando esse orçamento com item de pedido do tipo retira, será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o Status "Entregue".
- Efetuando o cancelamento do orçamento pai ( o filho não pode ser excluído pois é um pedido retira ) será gerada a mensagem padronizada DocumentTraceAbilityOrderRetail com o status "Cancelado".
- Para maiores informações da mensagem DocumentTraceAbilityOrderRetail, acesse: DocumentTraceAbilityOrderRetail - Pedido Retira
Dica | ||
---|---|---|
| ||
As vendas do tipo Retira segue um processo de confirmação de integração, para mais detalhes acesse: Confirmação de pedido Retira Posterior |
7 - Utilizando Tes no Produto ou Tes Inteligente
Para gravação de dados do Orçamento (Tabela SL1), é necessário a amarração da TES no produto ou configuração da TES Inteligente.
Para a utilização da TES no produto deve ser incluído no campo TS Padrao (Campo B1_TS) como mostra o exemplo abaixo:
Agora para utilização da TES Inteligente por default da Mensagem Padronizada utilizamos a informação existente na tag "OperationCode": "01" dentro do bloco "SaleItem", assim procuramos na tabela SFM - TES Inteligente se existe uma regra com a operação 01, caso não exista a configuração infomara a seguinte mensagem: "Inconsistência no item numero do item TES não informada, verifique o Cadastro de Produto no Protheus campo B1_TS e/ou De-Para de TES(XXF) e/ou as configurações para TES Inteligente(DHJ e SFM) e/ou parâmetros MV_TESSERV e MV_TESVEND."
Seguir orientações do ERP para TES Inteligente, exemplo abaixo:
7.1 - Cenário onde pode ser usado a Tes Inteligente no orçamento SL1, SL2 e/ou SC5, SC6
- Orçamento SL1 e SL2: a TES inteligente configurada para o Tp. de Operação recebida na tag OperationCode "valor padrão 01" deve gerar financeiro, pois é nesse momento que as informações de pagamento serão gravadas.
- Pedido de Venda SC5 e SC6: a TES inteligente configurada para o Tp. de Operação "V" não deve gerar financeiro, pois as informações de pagamentos, foram geradas no passo anterior, ou seja, na gravação do orçamento(SL1/SL2).
Importante: Para realizar a busca da TES Inteligente, o parâmetro MV_LJTESPE deverá estar em branco.
8- Geração do Contas a Receber (SE1)
A geração dos dados do Contas a Receber (SE1), ocorre após a execução do Job de Integração de Vendas (LJGRVBATCH) e depende da
TES-Tipo de Entrada e Saída configurada e segue a sequência:
- Pesquisa da TES Inteligente rotina MaTesInt, caso não encontre, segue;
- Pesquisa da TES na tabela SBZ-Indicadores de Produtos, caso não encontre, segue;
- Pesquisa da TES no campo Tipo de Saída do Produto (B1_TS) de acordo com o produto encontrado, caso não encontre, segue;
- Valida se a venda é um RPS, se sim, busca a TES no parâmetro MV_TESSERV, caso contrário;
- Caso não ache seja RPS, busca a TES para o produto no parâmetro MV_TESVEND;
- Ao final, se nenhuma TES for encontrada haverá retorno com mensagem de inconsistência e o processo de integração não ocorrerá;
Importante:
A TES - Tipo de Entrada e Saída configurada deve ter basicamente esses campos preenchidos:
- Do tipo 'Saída': F4_CODIGO maior ou igual a 500;
- Gera Duplicata (F4_DUPLIC) igual a S;
- Gera Estoque (F4_ESTOQUE) igual a S;
Nos pedidos que contem itens do tipo "1-Retira Posterior" (Campo L2_ENTREGA igual a 1) os orçamentos filhos terão
o Contas a Receber gerado após a finalização do orçamento como venda.
9- Relacionamento entre Orçamento, Pedido de Venda, Pedidos Liberados e Contas a Receber
Relacionamento entre tabelas de Orçamento(Venda Assistida), Pedido de Venda, Pedidos Liberados (Faturamento) e Contas a Receber(Financeiro)
Colocar motivo de não permitir alteração de pedido no Faturamento.
Para encontrar os Pedido de Venda (SC5) e Contas a Receber (SE1) a partir do Orçamento (SL1) pode ser realizado dos campos:
SL1 - L1_FILIAL, L1_ECPEDEC, L1_DOCPED, L1_SERPED
SC5 - C5_FILIAL, C5_PEDECOM
SE1 - E1_FILIAL, E1_PREFIXO, E1_NUM
Para encontrar os Pedidos Liberados (SC9) a partir do Pedido de Venda (SC5) pode ser realizado dos campos:
SC9 - C9_FILIAL, C9_PEDIDO
Relacionamento entre as tabelas e campos:
L1_ECPEDEC = C5_PEDECOM
L1_DOCPED = E1_NUM
L1_SERPED = E1_PREFIXO
C9_PEDIDO = C5_NUM
A tabela de cabeçalho da Nota (SF2) é gerada após o Faturar o Pedido pelo módulo do Faturamento, onde:
F2_DOC = C5_NOTA
Para identificar o registro de Orçamento (SL1) que gerou o título financeiro (SE1), relaciona-se:
E1_NUM + E1_PREFIXO = L1_DOCPED + L1_SERPED
Também é possível localizar/relacionar o título financeiro com base no número do documento do e-commerce (L1_ECPEDEC e C5_PEDECOM), para isso, é necessário que o campo E1_NRDOC possua o mesmo tamanho.
E1_NRDOC = C5_PEDECOM
10- 10- Exemplo das mensagens
10.1 - RetailSales - com item do tipo "Entrega"
...
Ocorrência | Motivo | Ação |
---|---|---|
Estado de Cobrança não encontrado | Não cadastrado estado de cobrança na filial | Realizar o cadastro completo da filial corrente |
Documento não informado ou já existente | Não informado ou já usado o documento disponibilizado na tag DocumentCode | Verificar no json recebido a falta ou documento já existe/usado. |
Código da estação não encontrada | Recebido MP uma estação diferente a cadastrada ou incluída no de/para | Verificar no json recebido se houve mudança ou de/para incorreto. |
Cliente não informado, não encontrado | Erro na integração do cliente, não encontrado de/para ou bloqueado | Verificar no json recebido o código na tag CustomerVendorInternalId e validar de/para de Cliente e/ou identificar se não esta bloqueado no cadastro de Cliente. |
Data de Emissão não informada ou incorreta | Data de emissão divergente com o esperado ou faltante na tag IssueDateDocument | Verificar no json recebido a tag IssueDateDocument e verificar se a data recebida é maior dos parâmetros MV_ULMES e MV_DBLQMOV |
Valor total da Venda zerada | Valor total da venda zerada na tag TotalPrice | Verificar no json recebido o valor recebido na tag TotalPrice |
Valor liquido da venda zerada | Valor liquido da venda zerada na tag NetPrice | Verificar no json recebido o valor recebido na tag NetPrice |
Valor bruto da venda zerada | Valor Bruto da venda zerada na tag GrossPrice | Verificar no json recebido o valor recebido na tag GrossPrice |
Produto não informado ou não encontrado | Produto não informado na tag ListOfSaleItem | Verificar no json recebido o código no bloco a tag ListOfSaleItem e validar de/para de Produto e/ou identificar se não esta bloqueado no cadastro de Produto. |
Item do produto não informado | Item do produto não informado na tag ItemOrder | Verificar no json recebido o valor na tag ItemOrder no bloco a tag ListOfSaleItem |
Quantidade do produto não informado | Quantidade do produto não informado na tag Quantity | Verificar no json recebido o valor na tag Quantity no bloco a tag ListOfSaleItem |
Preço Unitário do produto não informado | Preço Unitário do produto não informado na tag UnitPrice | Verificar no json recebido o valor na tag UnityPrice no bloco a tag ListOfSaleItem |
CFOP do Produto não informado | CFOP do Produto não informado na tag OperationCode | Verificar no json recebido o valor na tag OperationCode no bloco a tag ListOfSaleItem |
Preço do Produto não informado | Preço de Produto não informado na tag ItemPrice | Verificar no json recebido o valor na tag ItemPrice no bloco a tag ListOfSaleItem |
Tes do Produto não informada | Não identifico Tes no produto ou na Tes Inteligente | Verificar no cadastro de produto se atrelou Tes ou se configurou corretamente a Tes Inteligente |
Reserva não encontrada | Não encontrado de/para de reserva | Verificar se integrou a reserva adapter - ItemReserve. Verificar se o de/para de reserva foi criado corretamente. |
Reserva com quantidade divergente | Mensagem de Erro: Reserva (valor externo) - Já foi usada ou difere com a quantidade reservada (C0_QTDORIG) com a quantidade (valor da tag) recebida na TAG Quantity. | Verificar o de/para de reserva e identificar se esta correta a quantidade na tag Quantity no bloco ListOfSaleItem. Verificar na tabela SC0 se já houve a exclusão do registro, com isso, a reserva já foi usada ou cancelada manualmente. |
Armazém incorreto | Mensagem de Erro: Armazém 01 retornado no de/para da tag (WarehouseInternalid) não é o mesmo armazém (C0_LOCAL) 02 da reserva numero: 000001. | Verificar na reserva integrada qual o armazém(C0_LOCAL) utilizado. Após isso deve ser informado na tag WarehouseInternalid da mensagem RetailSales o código externo do armazém de acordo com o cadastro de De/Para. |
Reserva de Produto com Rastro (Lote, SubLote, Endereçamento ou Serie) | Mensagem de Erro: Não existe um Lote que consiga atender a quantidade solicitada(x). Verifique o Saldo por Lote! | Verifique o estoque por Lote, porque a quantidade solicitada não é atendida por nenhum lote. A tag "DetailedMessage" ira trazer o saldo disponivel por Lote para analise. { "Code": "001", } |
Inconsistência na Forma de pagamento | Não encontrado de/para de forma de pagamento Não cadastrado ou não encontrado de/para de Administradora Financeira | Verificar se foi realizado o de/para de Forma de Pagamento no Configurador/Ambiente/Schedule/De Para de Mensagem Única Verificar se foi realizado o cadastro de Administradora Financeira no Sigaloja e/ou realizado o de/para no Configurador/Ambiente/Schedule/De Para de Mensagem Única |
Carga completa de estoque não é realizada | Estoque inicial não é atualizado na plataforma VTEX | A data e hora de atualização de estoque na mensagem padronizada, fica registrado nos campos: B2_DULT, B2_HULT. Obs.; Na primeira carga de estoque para mensagem padronizada, esses campos estão vazios e são atualizados no momento da geração da mensagem padronizada. |
Contas a Receber (SE1) gerado com código do cliente (campo E1_CLIENTE) nas vendas que possuem uma administradora financeira | Configuração da Administradora Financeira (SAE) que está sendo utilizada na venda | Verifique a configuração da Administradora Financeira (SAE) utilizada na venda, se o campo Financiamento Próprio (AE_FINPRO) está marcado com "N"- NÃO | Quero mudar a série que meu orçamento (SL1) é gerado e a série do contas a receber (SE1) Campos(E1_PREFIXO/L1_SERPED) São gravados conforme o padrão do Venda Assistida com base na estação utilizada na venda. | Devido a Série configurada (LG_SERIE) usada para gravar a reserva recebida. |
Ao tentar excluir uma reserva emite-se a mensagem: "Este orçamento não poderá ser excluído porque se trata de um orçamento com reserva" | Esse orçamento é um orçamento filho proveniente de uma reserva. | Se o pedido não tiver sido faturado, para excluir esse orçamento é necessário excluir o orçamento/venda pai que originou essa reserva. |
Como evitar diferença de centavos no arredondamento dos ambientes SIGALOJA | Calculo reverso de IPI | Verificar a relação de campos, parâmetros e outras informações importantes a serem verificadas e configuradas para que o sistema faça os cálculos de arredondamento corretamente. |
13- Cancelamentos
Cancelamento de reserva (Pagamento da venda não confirmado no E-Commerce)
- Neste cenário ainda não temos o pedido integrado no Protheus, somente a reserva integrada.
- Após o cancelamento do pedido no E-commerce, é enviado ao Protheus a mensagem ItemReserve com o evento DELETE, visando realizar o cancelamento desta reserva no Protheus.
- Ao recepcionar a mensagem, é realizado todo o fluxo de cancelamento da reserva e após sua finalização é enviado um response da mensagem ItemReserve ao E-Commerce com o status ok, caso a reserva tenha sido cancelada corretamente.
Cancelamento de Venda não faturada
- Deve ser realizado no módulo Controle de Lojas (SIGALOJA), na rotina Venda Assistida (LOJA701), onde o orçamento pai deverá ser cancelado para que o orçamento filho (reserva) também seja deletado.
Cancelamento de Venda Faturada
- Será necessário realizar manualmente a devolução do pedido, através da rotina LOJA720 Rotina de Troca. Após realizar a devolução da venda integrada, será gerada e enviada ao E-Commerce a mensagem DocummentTraceAbilityOrder, com o status Devolvido.
- No E-Commerce deverá ser atualizado o status da venda.
Aviso | ||
---|---|---|
| ||
Caso seja gerada NCC para o cliente não existe integração deste processo com a plataforma E-Commerce. |
14- Onde consultar demais informações sobre configurações do módulo Venda Assistida?
Abaixo link com a FAQ do Varejo:
https://tdn.totvs.com/display/public/PROT/SIGALOJA
...
"AddressingItem\":\"\",\"SeriesItem\":\"\"}]}", } | ||
Inconsistência na Forma de pagamento | Não encontrado de/para de forma de pagamento Não cadastrado ou não encontrado de/para de Administradora Financeira | Verificar se foi realizado o de/para de Forma de Pagamento no Configurador/Ambiente/Schedule/De Para de Mensagem Única Verificar se foi realizado o cadastro de Administradora Financeira no Sigaloja e/ou realizado o de/para no Configurador/Ambiente/Schedule/De Para de Mensagem Única |
Carga completa de estoque não é realizada | Estoque inicial não é atualizado na plataforma VTEX | A data e hora de atualização de estoque na mensagem padronizada, fica registrado nos campos: B2_DULT, B2_HULT. Obs.; Na primeira carga de estoque para mensagem padronizada, esses campos estão vazios e são atualizados no momento da geração da mensagem padronizada. |
Contas a Receber (SE1) gerado com código do cliente (campo E1_CLIENTE) nas vendas que possuem uma administradora financeira | Configuração da Administradora Financeira (SAE) que está sendo utilizada na venda | Verifique a configuração da Administradora Financeira (SAE) utilizada na venda, se o campo Financiamento Próprio (AE_FINPRO) está marcado com "N"- NÃO |
Quero mudar a série que meu orçamento (SL1) é gerado e a série do contas a receber (SE1) Campos(E1_PREFIXO/L1_SERPED) São gravados conforme o padrão do Venda Assistida com base na estação utilizada na venda. | Devido a Série configurada (LG_SERIE) usada para gravar a reserva recebida. | Verificar na tag StationSalePointInternalId o código da estação configurado no De/Para do Protheus e altere o campo SÉRIE (LG_SERIE) no Cadastro de Estação (SLG - rotina LOJA121) relacionada. Obs.: Por padrão é utilizado uma estação automática (StationSalePointInternalId = AUTOMATICA), para customizar, basta informar nessa TAG um valor de referência para localizar a estação no cadastro de de/para. |
Ao tentar excluir uma reserva emite-se a mensagem: "Este orçamento não poderá ser excluído porque se trata de um orçamento com reserva" | Esse orçamento é um orçamento filho proveniente de uma reserva. | Se o pedido não tiver sido faturado, para excluir esse orçamento é necessário excluir o orçamento/venda pai que originou essa reserva. |
Como evitar diferença de centavos no arredondamento dos ambientes SIGALOJA | Calculo reverso de IPI | Verificar a relação de campos, parâmetros e outras informações importantes a serem verificadas e configuradas para que o sistema faça os cálculos de arredondamento corretamente. |
13- Cancelamentos
Cancelamento de reserva (Pagamento da venda não confirmado no E-Commerce)
- Neste cenário ainda não temos o pedido integrado no Protheus, somente a reserva integrada.
- Após o cancelamento do pedido no E-commerce, é enviado ao Protheus a mensagem ItemReserve com o evento DELETE, visando realizar o cancelamento desta reserva no Protheus.
- Ao recepcionar a mensagem, é realizado todo o fluxo de cancelamento da reserva e após sua finalização é enviado um response da mensagem ItemReserve ao E-Commerce com o status ok, caso a reserva tenha sido cancelada corretamente.
Cancelamento de Venda não faturada
- Deve ser realizado no módulo Controle de Lojas (SIGALOJA), na rotina Venda Assistida (LOJA701), onde o orçamento pai deverá ser cancelado para que o orçamento filho (reserva) também seja deletado.
Cancelamento de Venda Faturada
- Será necessário realizar manualmente a devolução do pedido, através da rotina LOJA720 Rotina de Troca. Após realizar a devolução da venda integrada, será gerada e enviada ao E-Commerce a mensagem DocummentTraceAbilityOrder, com o status Devolvido.
- No E-Commerce deverá ser atualizado o status da venda.
Aviso | ||
---|---|---|
| ||
Caso seja gerada NCC para o cliente não existe integração deste processo com a plataforma E-Commerce. |
14- Onde consultar demais informações sobre configurações do módulo Venda Assistida?
Abaixo link com a FAQ do Varejo:
https://tdn.totvs.com/display/public/PROT/SIGALOJA
15- Status de Pedido - DocumentTraceAbilityOrder
Dica | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
Como funciona a integração de Rastreio de Pedido entre o TOTVS Protheus e Vtex? Após a integração de um pedido do tipo entrega, qualquer atualização que o mesmo tiver no Protheus, será gerado e enviado à mensagem DocumentTraceAbilityOrder, ao Vtex, com o status do pedido no Protheus. Quais são os status de rastreio de pedido que o Protheus envia ao Vtex? Os status de rastreio de pedido são os seguintes:
|
16- Como é fluxo de geração de Pedido x Financeiro?
Aviso | ||
---|---|---|
| ||
Os pagamentos contidos no XML enviado a SEFAZ são com base os pagamentos do orçamento (Tabela SL4 ), sendo assim, a condição de pagamentos contida no pedido de venda está presente apenas para preencher uma obrigatoriedade do pedido de venda, não sendo utilizada para a geração do XML. |
...
-
1 - Configurações iniciais
- 1.1 - Versão SmartClient
1.2 - Serviço REST
1.3 - String > 30mb
1.4 - Schedule para Mensagem Padronizada
1.5 - Expedição Varejo - 2 - Validação da lista de parâmetros
- 3 - Cadastro de Adapter
- 4 - Identificação de Lojas
- 5 - Cadastro de "De/Para"
- 6 - Entendimento sobre o fluxo de integração de Pedido Entrega e Retira
- 7 - Tes no Produto ou Tes Inteligente
- 8 - Gravabatch
- 9 - Entendimento sobre os relacionamentos de tabelas (Loja,Financeiro e Faturamento)
- 10 - Exemplo de mensagem padronizada
- 11 - Administradora Financeira
- 12 - Tabela de possíveis ocorrências de rejeição da mensagem padronizada
...