Neste artigo você será capacitado a integrar vendas através da mensagem RetailSales. |
1.1- Primeiramente é imprescindível que o smartclient seja 32 bits para uso do SIGALOJA, podendo usar o Appserver 64 bits.
1.2- Para que o Protheus seja capaz de receber a mensagem RetailSales o serviço REST deve estar configurado em seu ambiente: Configuração REST. Para mais detalhes sobre o conceito de um serviço REST clique aqui.
1.3- Visando evitar erros do tipo, "String size overflow" é imprescindível configuração do Appserver e DBAccess, para suportar a mensagem RetailSales com até 30MB, para realizar esta configuração Clique aqui.
1.4- Para que o envio e recebimento das mensagens assíncronas seja realizado, é necessário efetuar o cadastro das rotinas FWEAIRECE /FWEAISEND, no Schedule Protheus:
FWEAISEND : Esta rotina é exclusiva para o envio das mensagens da fila do EAI. O agendamento desta rotina é realizado por Empresa cadastrada no sistema. No envio da mensagem, um canal de comunicação é aberto com o webservice do produto integrado, e esta comunicação é encerrada após o recebimento da mensagem de retorno (no caso das Mensagens Única Totvs, após o recebimento da ReceiptMessage, indicando que que o processo ocorreu corretamente) ou por timeout (mensagem com status de falha).
FWEAIRECE : Esta rotina é exclusiva para o recebimento das mensagens do EAI Protheus. Quando configurada esta rotina inicia o processamento das mensagens disponíveis para processamento na fila do EAI Protheus.Para mais informações sobre as rotinas e forma de configuração esta disponível na documentação: Camada do EAI.
1.5- O pacote de expedição contínua do Varejo deverá estar atualizado, mais informações sobre Clique Aqui.
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)
2.1- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017).
2.2- Configure\Crie os parâmetros abaixo:
| 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_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 |
| MV_LJTESPE | C | Define qual o TES será utilizado para a geração do Pedido de Venda por meio da rotina Venda Assistida. O parâmetro pode ser macro-executado. | 501 | O sistema considera as regras da rotina TES Inteligente MATA089 para eleger um TES considerando somente o cadastro do tipo de operação (campo FM_TIPO) “V” IDENTIFICAÇÃO DE ENTREGAS FUTURAS. Caso não seja eleito um TES automaticamente, seja pela ausência do TES Inteligente ou pela não-adequação às regras, o TES informado nesse parâmetro será utilizado na geração do Pedido de Venda. Esse TES não deve gerar movimento financeiro (Campo Gera Dupl. = Não). Pois o financeiro é gerado pelas rotinas de varejo (GravaBatch) no momento que o pedido é criado, colocando para não gerar, não será gerado no momento que o pedido for faturado no módulo de faturamento. Esse parâmetro também permite executar funções de usuário para definir qual TES o sistema deverá considerar para geração do pedido de venda. Para executar uma função de usuário por meio desse parâmetro, basta incluir o & antes da função de usuário. Se a função do usuário retornar um TES, este será utilizado no pedido de venda, desconsiderando o TES inteligente. |
| 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?) |
| 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. |
| 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:https://centraldeatendimento.totvs.com/hc/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:https://centraldeatendimento.totvs.com/hc/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_LJOPTES | C | Tipo de operação para Tes inteligente utilizado no item para bloco f100 | 01 | Quando o cliente usa TES inteligente esse parâmetro deve ser incluído o tipo de operação usando Tes de saida deve gerar movimento financeiro (Campo Gera Dupl. = Sim) Importante: Deve ser usado 2 caracteres conforme exemplo. |
| 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) |
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.
3.2- Abaixo um exemplo do cadastro do adapter LOJA704:

3.3- Abaixo um exemplo do cadastro do adapter LOJA701:

3.4- Abaixo um exemplo do cadastro do adapter LOJI701A:

Esta rotina é utilizada para identificar as lojas e o estoque (armazém) que será integrada na MP - ItemReserve, assim poderá parametrizar o estoque de uma loja diferente daquela em que a venda está sendo efetuada, por exemplo. Assim, se o produto que o cliente deseja não estiver disponível no estoque da loja em que está sendo atendido, é possível verificar o estoque de outras lojas (devidamente identificadas nesse cadastro) e reservar itens do estoque dessas lojas, atendendo assim, a demanda do cliente. |
4.1- No modulo 12 (Controle de Lojas) acesse, Atualizações/ Gerencia de Vendas/ Identificação de Lojas gerencia.
4.2- Abaixo um exemplo do cadastro simples de Identificação de Lojas:
5.1- Para que serve um De/Para?
Devido a integração de dois sistemas diferentes nem sempre temos códigos do mesmo produto iguais entre os dois sistemas. Com isso o De/Para é muito importante, pois recebe um código do sistema externo e relaciona com o código do produto no Protheus.
5.2- Onde realizo o cadastro do De/Para?
No modulo Configurador acesse, Atualizações/ Schedule/ De/Para de Mensagem Unica. Abaixo um exemplo de como cadastrar um De/Para de produto:

5.3- Quais os De/Para utilizados no processamento da mensagem RetailSales?

O De/Para deve ser realizado a partir da bloco Json recebido na MP - RetailSales, colocando a informação recebida no valor externo, como mostra no exemplo:
"SaleCondition": [
{
"UniqueSerialNumber": "745492",
"DateOfPayment": null,
"PaymentValue": 105,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "CAR"
}
] |

Documentação Cadastro de Estação de Trabalho (PDV) - ListOfStationSalePoint


Após ter realizado as configurações acima a integração de Venda - RetailSales seguirá os seguintes fluxos:
Importante: Após 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 - 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?
Apos ter realizado as configurações acima a integração de Venda - OrderRetail seguirá os seguintes fluxos:
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?
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:
Importante:
A TES - Tipo de Entrada e Saída configurada deve ter basicamente esses campos preenchidos:
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.
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
A Tag ItemOrder no bloco itens não será considerado o seu valor recebido. O Protheus fará todo o controle de numeração para contemplarmos os pedidos com itens maiores de 100. |
Para desconto deve-se ser rateado por item incluido na tag DiscountAmount e totalizado na tag DiscountValue |
{
"Header": {
"GeneratedOn": "Thu, 23 Apr 2020 17:02:20 GMT",
"BranchId": "D MG 01",
"DeliveryType": "async",
"ProductName": "ECOMMERCE",
"Type": "BusinessMessage",
"Transaction": "RetailSales",
"Version": "2.000",
"UUID": "61e91b9e-e030-40d6-b0fd-dcf63e81c966",
"SubType": "Event",
"Event": "upsert",
"CompanyId": "T1",
"SourceApplication": "ECOMMERCE",
"ProductVersion": "1.0.0"
},
"Content": {
"items": null,
"OperatorCode": "AUTOMATICO",
"ECommerceOrder": "1027293590055-01",
"Event": "upsert",
"NetPrice": 203,
"InternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"CarrierInternalId": "01",
"ListOfSaleItem": {
"SaleItem": [
{
"ItemOrder": 1,
"ItemCode": "d077bf8a-bbbb-4549-9b00-1a203cfe4428",
"UnitPrice": 18.6,
"ItemDeliveryType": "3",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "d077bf8a-bbbb-4549-9b00-1a203cfe4428",
"ItemPrice": 93,
"InternalId": "C14B0CB7AE00430C86475D908AAB843A",
"FreightValueProrated": 5,
"OperationCode": "V",
"Quantity": 5
},
{
"ItemOrder": 2,
"ItemCode": "69dbb151-bbe6-4547-853a-0342ace00eab",
"UnitPrice": 55,
"ItemDeliveryType": "3",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "69dbb151-bbe6-4547-853a-0342ace00eab",
"ItemPrice": 55,
"InternalId": "77B3D9FC812B47148AF774F44F9C6EF7",
"FreightValueProrated": 5
"OperationCode": "V",
"Quantity": 1
},
{
"ItemOrder": 3,
"ItemCode": "79f93baf-39ac-40de-ae73-007a256dda31",
"UnitPrice": 55,
"ItemDeliveryType": "3",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "79f93baf-39ac-40de-ae73-007a256dda31",
"ItemPrice": 55,
"InternalId": "F4A61206DEF543E0A613EB63D1141E1D",
"FreightValueProrated": 5,
"OperationCode": "V",
"Quantity": 1
}
]
},
"StationSalePointInternalId": "AUTOMATICO",
"ListOfSaleCondition": {
"SaleCondition": [
{
"UniqueSerialNumber": "004112",
"DateOfPayment": null,
"PaymentValue": 203,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "CAR"
}
]
},
"DocumentCode": "1027293590055-01",
"FreightValue": 15,
"CarrierCode": "01",
"IssueDateDocument": "2020-04-23T17:01:06.625349+00:00",
"CustomerVendorInternalId": "44dca035-dbbe-4aef-8c1e-c2a4acb4f88a",
"SaleType": "V",
"GrossPrice": 203,
"TotalPrice": 203,
"PersonalIdentification": "1027293590055-01",
"DiscountValue": 0
}
} |
A Tag ItemDeliveryType no bloco itens deve estar com 1, que para o Protheus sinaliza Pedido do Tipo Retira. |
{
"Header": {
"GeneratedOn": "Thu, 23 Apr 2020 17:02:20 GMT",
"BranchId": "D MG 01",
"DeliveryType": "async",
"ProductName": "ECOMMERCE",
"Type": "BusinessMessage",
"Transaction": "RetailSales",
"Version": "2.000",
"UUID": "61e91b9e-e030-40d6-b0fd-dcf63e81c966",
"SubType": "Event",
"Event": "upsert",
"CompanyId": "T1",
"SourceApplication": "ECOMMERCE",
"ProductVersion": "1.0.0"
},
"Content": {
"items": null,
"OperatorCode": "AUTOMATICO",
"ECommerceOrder": "1027293590055-01",
"Event": "upsert",
"NetPrice": 203,
"InternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"CarrierInternalId": "01",
"ListOfSaleItem": {
"SaleItem": [
{
"ItemOrder": 1,
"ItemCode": "d077bf8a-bbbb-4549-9b00-1a203cfe4428",
"UnitPrice": 18.6,
"ItemDeliveryType": "1",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "d077bf8a-bbbb-4549-9b00-1a203cfe4428",
"ItemPrice": 93,
"InternalId": "C14B0CB7AE00430C86475D908AAB843A",
"FreightValueProrated": 5,
"DiscountAmount": 5,
"OperationCode": "V",
"Quantity": 5
},
{
"ItemOrder": 2,
"ItemCode": "69dbb151-bbe6-4547-853a-0342ace00eab",
"UnitPrice": 55,
"ItemDeliveryType": "1",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "69dbb151-bbe6-4547-853a-0342ace00eab",
"ItemPrice": 55,
"InternalId": "77B3D9FC812B47148AF774F44F9C6EF7",
"FreightValueProrated": 5,
"DiscountAmount": 5,
"OperationCode": "V",
"Quantity": 1
},
{
"ItemOrder": 3,
"ItemCode": "79f93baf-39ac-40de-ae73-007a256dda31",
"UnitPrice": 55,
"ItemDeliveryType": "1",
"ItemReserveInternalId": "15da928b-9e88-4947-a508-8cdd56beabd9",
"ItemInternalId": "79f93baf-39ac-40de-ae73-007a256dda31",
"ItemPrice": 55,
"InternalId": "F4A61206DEF543E0A613EB63D1141E1D",
"FreightValueProrated": 5,
"DiscountAmount": 5,
"OperationCode": "V",
"Quantity": 1
}
]
},
"StationSalePointInternalId": "AUTOMATICO",
"ListOfSaleCondition": {
"SaleCondition": [
{
"UniqueSerialNumber": "004112",
"DateOfPayment": null,
"PaymentValue": 203,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "CAR"
}
]
},
"DocumentCode": "1027293590055-01",
"FreightValue": 15,
"CarrierCode": "01",
"IssueDateDocument": "2020-04-23T17:01:06.625349+00:00",
"CustomerVendorInternalId": "44dca035-dbbe-4aef-8c1e-c2a4acb4f88a",
"SaleType": "V",
"GrossPrice": 203,
"TotalPrice": 203,
"PersonalIdentification": "1027293590055-01",
"DiscountValue": 15
}
} |
A seguir um recorte, um exemplo, da parte do JSON que é responsável pela forma de pagamento na integração Retail: |
Tags do JSON:
ListOfSaleCondition - tag que define que existem formas de pagamento na venda, é uma tag obrigatória.
SalesCondition - é a lista com as formas de pagamentos, o seu conteúdo definem as formas de pagamento que foram utilizadas
Exemplo com 1 (uma) forma de pagamento:
"ListOfSaleCondition": {
"SaleCondition": [{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 50,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "",
"UniqueSerialNumber": "145236",
"EftDate": "2020-11-26T13:45:02",
"EftAutorization": "123456789",
"EftInstitute": "VISA",
"EftDocument": "9985",
"EftParcel": "1"
}
]
}
|
Exemplo com 2 (duas) parcelas de 1 (uma) forma de pagamento:
"ListOfSaleCondition": {
"SaleCondition": [{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 25,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "",
"UniqueSerialNumber": "145236",
"EftDate": "2020-11-26T13:45:02",
"EftAutorization": "123456789",
"EftInstitute": "VISA",
"EftDocument": "9985",
"EftParcel": "1"
},
{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 25,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "",
"UniqueSerialNumber": "145236",
"EftDate": "2020-11-26T13:45:02",
"EftAutorization": "123456789",
"EftInstitute": "VISA",
"EftDocument": "9985",
"EftParcel": "2"
}
]
}
|
Exemplo com formas de pagamento diversas:
"ListOfSaleCondition": {
"SaleCondition": [{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 20,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "",
"UniqueSerialNumber": "145236",
"EftDate": "2020-11-26T13:45:02",
"EftAutorization": "123456789",
"EftInstitute": "VISA",
"EftDocument": "9985",
"EftParcel": "1"
},
{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 20,
"PaymentMethodCode": "CC",
"FinancialManagerCode": "",
"UniqueSerialNumber": "145236",
"EftDate": "2020-11-26T13:45:02",
"EftAutorization": "123456789",
"EftInstitute": "VISA",
"EftDocument": "9985",
"EftParcel": "2"
},
{
"DateOfPayment": "2020-11-26T00:00:00",
"PaymentValue": 10,
"PaymentMethodCode": "R$"
}
]
}
|
Para Formas de pagamento CC - Cartão de Credito o Protheus trabalha a partir do cadastro da Administradora Financeira.
Com a regra configurada na Administradora Financeira o calculo do vencimento será da seguinte forma: Data de Pagamento + Regra da administradora
Abaixo um exemplo de como ficará a data de vencimento:
Venda realizada no dia 05/12, primeira parcela 05/01, porém na Administradora Financeira o campo "Virar em"(AE_DIAS) está preenchido com número 30 e o vencimento do titulo será 05/01 + 30 dias (repetindo para todas as parcelas Ex: 05/02 + 30, 05/03 + 30.)
Links para melhor entendimento das configurações na Administradora Financeira:
Como configurar uma administradora financeira:
----------
Como é definido o vencimento do titulo financeiro para formas com administradora financeira ?
https://tdn.totvs.com/pages/releaseview.action?pageId=525033971
----------
Como fixo o dia de vencimento das parcelas conforme o vencimento da primeira parcela?
https://tdn.totvs.com/pages/releaseview.action?pageId=225264318
----------
Gerar taxa da administradora financeira no contas a pagar?
https://tdn.totvs.com/pages/releaseview.action?pageId=224442986
Caso a numeração de NSU do TEF seja maior que o padrão do Protheus ( Tag UniqueSerialNumber da mensagem padronizada), os campos abaixo devem ser ajustados e possuir o mesmo tamanho:
Campos de tabelas do Varejo: L1_NSUTEF, L4_NSUTEF, LQ_NSUTEF
Campos de tabelas do Financeiro: E1_NSUTEF, MDK_NSUTEF, FIF_NSUTEF
Link com documentação sobre o conciliador do financeiro que utiliza esses campos: https://tdn.totvs.com/display/public/PROT/Conciliador+TEF+-+Financeiro+-+P12
Em caso de dúvidas sobre conciliação de pagamentos, deverá ser acionado o time de suporte do Financeiro.
| 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 |
| Possíveis erros na Reserva | Não encontrado de/para de reserva 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 se integrou a reserva adapter - ItemReserve Verificar o de/para de reserva e identificar se esta correta a quantidade na tag Quantity no bloco ListOfSaleItem Verificar na tabela SC0 se ja houve a deleção do registro, com isso, a reserva ja foi usada ou vencida. |
| 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 Unica 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 |
Abaixo link com a FAQ do Varejo:
https://tdn.totvs.com/display/public/PROT/SIGALOJA