Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

3.1- Para que o Protheus possa receber a mensagem RetailSales é necessário realizar o cadastro dos seguintes adapters: LOJA701 e , LOJA704 e LOJI701APara mais informações de como cadastrar um adapter Clique aqui.

...

3.4- Abaixo um exemplo do cadastro do adapter LOJI701A:

Image Added

4- Configurações no modulo Controle de Lojas (Identificação de Lojas)

...

  • Operador de Caixa - Na Integração VTEX  de/para é feito automaticamente no recebimento da MP - RetailSales, caso queira usar outra basta realizar o seguinte cadastro de/para de exemplo:


6- Fluxo da integração da mensagem

6.1 - RetailSales - item Entrega

Apos Após ter realizado as configurações acima a integração de Venda - RetailSales seguira seguirá os seguintes fluxos:

  • ItemReserve - Com a venda realizada na plataforma do E-Commerce sera 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 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: Apos 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.

...

  • DocumentTraceAbilityOrder - Rastreio do Pedido de Vendas é 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

7- Relacionamento entre Orçamento, Pedido de Venda e Contas a Receber

Relacionamento entre tabelas de Orçamento(Venda Assistida), Pedido de Venda(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

Relacionamento entre as tabelas e campos:

L1_ECPEDEC = C5_PEDECOM
L1_DOCPED = E1_NUM
L1_SERPED = E1_PREFIXO

...

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 SL4acessando 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".

7- Relacionamento entre Orçamento, Pedido de Venda e Contas a Receber

Relacionamento entre tabelas de Orçamento(Venda Assistida), Pedido de Venda(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

Relacionamento entre as tabelas e campos:

L1_ECPEDEC = C5_PEDECOM
L1_DOCPED = E1_NUM
L1_SERPED = E1_PREFIXO

8- Exemplo das mensagens

8.1 - RetailSales - com item do tipo "Entrega"

Nota
titleImportante

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.

Bloco de código
themeEclipse
titleJson - RetailSales
{
	"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
	}
}

8.2 - RetailSales - com item do Tipo "Retira" 

Nota
titleImportante

A Tag ItemOrder ItemDeliveryType 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 100deve estar com 1, que para o Protheus sinaliza Pedido do Tipo Retira.

Bloco de código
themeEclipse
titleJson - RetailSalesOrderRetail
{
	"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": "31",
					"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": "31",
					"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": "31",
					"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
	}
}

...

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

10- Tabela de Ocorrências na geração de Pedido de Venda

...

: RetailSales

OcorrênciaMotivo

Ação

Estado de Cobrança não encontradoNão cadastrado estado de cobrança na filial Realizar o cadastro completo da filial corrente 
Documento não informado ou já existenteNã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/paraVerificar 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 bloqueadoVerificar 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 incorretaData de emissão divergente com o esperado ou faltante na tag IssueDateDocumentVerificar 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 zeradaValor total da venda zerada na tag TotalPriceVerificar no json recebido o valor recebido na tag TotalPrice 
Valor liquido da venda zeradaValor liquido da venda zerada na tag NetPriceVerificar no json recebido o valor recebido na tag NetPrice 
Valor bruto da venda zeradaValor Bruto da venda zerada na tag GrossPriceVerificar no json recebido o valor recebido na tag GrossPrice 
Produto não informado ou não encontradoProduto não informado na tag ListOfSaleItemVerificar 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 ItemOrderVerificar 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 QuantityVerificar no json recebido o valor na tag Quantity no bloco a tag ListOfSaleItem 
Preço Unitário do produto não informadoPreço Unitário do produto não informado na tag UnitPriceVerificar no json recebido o valor na tag UnityPrice no bloco a tag ListOfSaleItem 
CFOP do Produto não informadoCFOP do Produto não informado na tag OperationCodeVerificar no json recebido o valor na tag OperationCode no bloco a tag ListOfSaleItem 
Preço do Produto não informadoPreço de Produto não informado na tag ItemPriceVerificar no json recebido o valor na tag ItemPrice no bloco a tag ListOfSaleItem 
Tes do Produto não informadaNão identifico tes no produto ou na Tes InteligenteVerificar 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

Quantidade divergente encontrado no de/para de reserva

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

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 UnicaÚnica