Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 21 Próxima »

    O sistema disponibiliza o plugin de nome "Simulação de impostos", onde o usuário terá a possibilidade de visualizar os impostos que serão gerados no pedido, tendo uma visão mais precisa dos valores.

    A configuração é realizada nas configurações > Integração > Plugins de integração.

    Implementação no pedido

    • No pedido de venda, caso o plugin de integração de código "imposto" estiver ativo,
      • O sistema deverá disponibilizar o botão de "Calcular impostos" Web e ícone no Android.
        • Como já acontece com o modelo "PLUGIN_WINTHOR" atualmente, o sistema deve gerenciar a exibição de icone colorido baseado na situação dos impostos:
          • Impostos não calculados: cor amarela
          • Impostos calculados: cor verde
            • Ao alterar dados dos produtos, o ícone deve retornar para o status de "não calculado"
        • Como já acontece com o modelo "PLUGIN_WINTHOR", o pedido fará o aproveitamento dos impostos calculados para pedidos gravados através do campo pedidoproduto.idnimpostocalculado
          • As cores citadas acima também serão consequência do valor deste campo, onde todos os produtos marcados com valor 1 indicam impostos calculados. Qualquer registro com valor 0 indica impostos não calculados.
            • Ao alterar qualquer campo editável do item, o sistema deverá zerar o campo pedidoproduto.idnimpostocalculado
        • Ao clicar no botão de "Calcular impostos"
          • O sistema deverá disparar uma requisição POST para carte do Pentaho:
          • Imagem de exemplo:

     

    A representação dos impostos em tela seguirá o modelo atual, exibindo os valores persistidos na linha do item e nos resumos, agrupando os valores dos itens.

      • Ao gravar o pedido,
        • Caso a checkbox "Gravar pedido" estiver marcada, o sistema deverá restringir a gravação caso os impostos não estiverem calculados (cor verde), com mensagem: "É obrigatória a simulação de impostos para executar esta ação"
      • Ao finalizar o pedido
        • Caso a checkbox "Finalizar pedido" estiver marcada, o sistema deverá restringir a finalização caso os impostos não estiverem calculados (cor verde), com mensagem: "É obrigatória a simulação de impostos para executar esta ação"

    PS: É importante que tanto a requisição, quanto o retorno sejam logadas no console (f12) e log (server.log) da Web/Wildfly, para facilitar triagem de chamados envolvendo simulação de impostos.

    Modelo de requisição para simulação de impostos Protheus APIs Nativas

    O Pentaho Carte, recebendo a requisição da aplicação na rota COMMONS_Bloco_TAXSIMULATION, deverá tratar os dados recebidos segundo o modelo da entrada da API de simulação de impostos do Protheus, segundo documentação  https://api.totvs.com.br/apidetails/SalesTaxes_v1_000.json

    Com o retorno, o serviço de integração deverá ao menos implementar os campos definidos pela tabela de-para do ponto 3.

    Modelo de requisição para Simulação de impostos Datasul APIs Nativas

    O Pentaho Carte, recebendo a requisição da aplicação na rota COMMONS_Bloco_TAXSIMULATION, deverá tratar os dados recebidos segundo o modelo da entrada da API de simulação de impostos do Datasul, que segue o mesmo modelo de body da documentação  https://api.totvs.com.br/apidetails/SalesTaxes_v1_000.json

    A URL da rota é definida pelo padrão; ${base_url}/api/ftp/v2/ItemTaxSimulationPublic

    Com o retorno, o serviço de integração deverá ao menos implementar os campos definidos pela tabela de-para do ponto 3.

    Modelo de requisição para simulação de impostos Genérica

    Será implementado um modelo genérico padrão, onde o Pentaho deverá enviar requisição com autenticação básica definida segundo modelo padrão e esperando receber retorno segundo modelo padrão definido pela documentação Plugin de Integração "Simulação de Impostos".

    Caso os sistemas terceiros se adaptem ao modelo padrão definido acima, o requisito de simulação de impostos poderá ser implementados sem necessidade de customização.

    Entretanto, caso os sistemas não possam se adaptar para receber e retornar a requisição segundo o definido pela documentação acima, esse modelo de simulação de impostos será configurado na aplicação para que dispare serviço de integração customizado, que respeita apenas o contrato requisição/retorno definido entre aplicação/pentaho.

    Pelo tools, opção 5, o sistema cria o registro na tabela pluginintegracao.codigo com valor = IMPOSTO

    Para funcionar corretamente, o cadastro das configurações do plugin de Imposto deve inserir na tabela pluginintconfig as seguintes informações:

          • Campo de label "Modelo de simulação de impostos":
            • Opções fixas (pluginintconfig.valor):
              • "Protheus APIs Nativas": valor "protheus"
              • "Datasul APIs Nativas": valor "datasul"
              • "Genérico": valor "generico"
            • Registro na tabela pluginintconfig:
              • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
              • codigoelemento = IMPOSTO
              • agrupador = 0
              • sglcampo = IMPOSTO_MODELO
              • idnativo = 0
              • valor = Dependendo da seleção (PROTHEUS, DATASUL ou GENERICO)
          • Campo de label "URL de conexão": textual obrigatório
            • Registro na tabela pluginintconfig:
              • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
              • codigoelemento = IMPOSTO
              • agrupador = 0
              • sglcampo = IMPOSTO_URL
              • idnativo = 0
              • valor = Valor inserido pelo usuário
          • Grupo de elementos de label "Autenticação"
            • Campo de label "Usuário": textual obrigatório
              • Registro na tabela pluginintconfig:
                • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
                • codigoelemento = IMPOSTO
                • agrupador = 0
                • sglcampo = IMPOSTO_USUARIO
                • idnativo = 0
                • valor = Valor inserido pelo usuário
            • Campo de label "Senha": textual, obrigatório, tipado como "password" para não pemitir visualização direta da senha na tela.
              • Registro na tabela pluginintconfig:
                • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
                • codigoelemento = IMPOSTO
                • agrupador = 0
                • sglcampo = IMPOSTO_SENHA
                • idnativo = 0
                • valor = Valor inserido pelo usuário
          • Campo de label "Timeout ao requisitar impostos (seg)": campo numérico, se não informado, adotar o padrão 30 segundos
            • Registro na tabela pluginintconfig:
              • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
              • codigoelemento = IMPOSTO
              • agrupador = 0
              • sglcampo = IMPOSTO_TIMEOUT
              • idnativo = 0
              • valor = Valor inserido pelo usuário
          • Campo de label "Obrigar simulação de impostos para:": Checkbox, seleção opcional
            • Checkbox de label "Gravar pedido"
              • Registro na tabela pluginintconfig:
                • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
                • codigoelemento = IMPOSTO
                • agrupador = 0
                • sglcampo = IMPOSTO_OBRIGATORIO_AO_GRAVAR
                • idnativo = 0
                • valor = Valor 0 ou1
            • Checkbox de label "Finalizar pedido"
              • Registro na tabela pluginintconfig:
                • idpluginintegracao = ID da tabela pluginintegracao com codigo = IMPOSTO
                • codigoelemento = IMPOSTO
                • agrupador = 0
                • sglcampo = IMPOSTO_OBRIGATORIO_AO_FINALIZAR
                • idnativo = 0
                • valor = Valor 0 ou1


    {
        "idusuario": 1, //pedido.idusuarioprofissional
        "idparceiro": 1, //pedido.idparceiro
        "idlocal": 2, //pedido.idlocal
        "idlocalcobranca": 3, //pedido.idlocalcobranca
        "idfilialvenda": 3, //pedido.idlocalfilialvenda
        "idfilialretira": 4, //pedido.idlocalfilialretirada
        "idfilialfaturamento": 5, //pedido.idlocalfilialfaturamento
        "idtipopedido": 4, //pedido.idtipopedido
        "idtipocobranca": 5, //pedido.idtipocobranca
        "idtabelapreco": 6, //pedido.idtabelapreco
        "idcondicaopagamento": 5, //pedido.idcondicaopagamento
        "idsegmento": 8, //pedido.idsegmento
        "idtipologia": 8, //pedido.idtipologia
        "idoperacao": 8, //pedido.idoperacao
        "idmoeda": 8, //pedido.idindexador
        "idtipoestoque": 8, //pedido.idtipoestoque
        "valortotalbruto": 8.00, //Campo "Valor total bruto do resumo"
        "valortotalliquido": 9.00,//Campo "Valor total liquido do resumo"
        "descontopedido": [
            {
                "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                "percentual": 9.00, //pedidotipodesconto.percentual
                "valor": 10.00 //pedidotipodesconto.valor
            },
            {
                "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                "percentual": 9.00, //pedidotipodesconto.percentual
                "valor": 10.00 //pedidotipodesconto.valor
            }
        ],
        "pedidoproduto": [
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto
    			"idembalagem": 10, //pedidoproduto.idembalagem,
                "quantidade": 9.00, //pedidoproduto.quantidade
                "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitário
                "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitário
                "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitário
                "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitário
                "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitário
                "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                "idtabelapreco": 15, //pedidoproduto.idtabelapreco
            },
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto
     			"idembalagem": 10, //pedidoproduto.idembalagem,
                "quantidade": 9.00, //pedidoproduto.quantidade
                "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitário
                "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitário
                "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitário
                "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitário
                "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitário
                "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                "idtabelapreco": 15, //pedidoproduto.idtabelapreco
            }
        ],
        "pedidoentrega": [
            {
                "idtipofrete": 4, //pedidoentrega.idtipofrete
                "idtransportadora": 7,//pedidoentrega.idparceirotransportador
    			"idparceiroentrega": 8, //pedidoentrega.idparceiroentrega
                "valorfrete": 5.00, //pedidoentrega.valorfrete
                "valordespesa": 6.00, //pedidoentrega.valordespesa
                "valorseguro": 7.00 //pedidoentrega.valorseguro        
            },
            {
                "idtipofrete": 4, //pedidoentrega.idtipofrete
                "idtransportadora": 7,//pedidoentrega.idparceirotransportador
    			"idparceiroentrega": 8, //pedidoentrega.idparceiroentrega
                "valorfrete": 5.00, //pedidoentrega.valorfrete
                "valordespesa": 6.00, //pedidoentrega.valordespesa
                "valorseguro": 7.00 //pedidoentrega.valorseguro        
            }
        ]
    }

    O retorno esperado virá com o modelo a seguir


    {
      "valortotalcomimpostos": 178.56,
      "valortotalimpostos": 21.96,
      "valortotaldespesa": 0, //pedidoentrega.valordespesa
      "valortotalseguro": 7, //pedidoentrega.valorseguro  
      "pedidoimposto": [
        {
          "sglimposto": "ICMS",
          "aliquota": 7,
          "valortotalimposto": 12.14
        },
        {
          "sglimposto": "IPI",
          "aliquota": 6,
          "valortotalimposto": 9.82
        }
      ],
      "itemimposto": [
        {
          "ordem": 1, //pedidoproduto.ordem
          "idproduto": 8, //pedidoproduto.idproduto //
          "valortotalcomimpostos": 89.21, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
          "valortotalfrete": 2.5, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
          "impostos": [
            {
              "sglimposto": "ICMS",
              "valorbase": 78.3,
              "aliquota": 6.24,
              "valortotalimposto": 6.24 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "IPI",
              "valorbase": 78.3,
              "aliquota": 6,
              "valortotalimposto": 4.91 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "ST",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "COFINS",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "CSLL",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            }
          ]
        },
        {
          "ordem": 2, //pedidoproduto.ordem
          "idproduto": 9, //pedidoproduto.idproduto //
          "valortotalcomimpostos": 84.3, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
          "valortotalfrete": 2.5, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
          "impostos": [
            {
              "sglimposto": "ICMS",
              "valorbase": 78.3,
              "aliquota": 5.9,
              "valortotalimposto": 5.9 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "IPI",
              "valorbase": 78.3,
              "aliquota": 6,
              "valortotalimposto": 4.91 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "ST",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "COFINS",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            },
            {
              "sglimposto": "CSLL",
              "valorbase": 78.3,
              "aliquota": 0,
              "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
            }
          ]
        }
      ]
    }


    Com o retorno acima, o sistema deverá persistir as informações em tela, segundo o seguinte de-para:


    Retorno da Simulação Campo do SFA
    itemimposto.impostos.sglimposto

    pedidoimposto.idimposto

    itemimposto.impostos.valorbase

    pedidoimposto.valorbasecalculoreducao

    itemimposto.impostos.aliquota pedidoimposto.valorbasecalculo
    itemimposto.impostos.valortotalimposto

    pedidoimposto.valorimposto

    itemimposto.ordem / itemimposto.idproduto pedidoimposto.idpedidoproduto (procurar por pedidoproduto.ordem e pedidoproduto.idproduto respectivamente)
    itemimposto.valortotalfrete pedidoproduto.valorfrete
    itemimposto.valortotalcomimpostos pedidoproduto.valortotalcomimposto


    Modelo Datasul

    Abaixo está o escopo do cálculo de imposto do Datasul.

    A integração recebe a solicitação da aplicação via Carte, busca, processa e retorna para a mesma.

    Abaixo estão exemplos via POSTMAN:

    URL

    Na URL para o Datasul, o formato será o seguinte:

    POST {{URL}/api/ftp/v2/ItemTaxSimulationPublic

    Substitua a variável URL pelo caminho da API, informado pelo cliente.

    Exemplo:

    Autorização

    Na aba de autorização, selecione o tipo Basic e informe os dados de usuário e senha:

    Header

    No header da requisição, informe o tipo do conteúdo:

    Content-Type: application/json

    Body

    No corpo da mensagem, substitua os dados da ordem de venda nas tags correspondentes.

    Exemplo:

    Corpo de uma mensagem de exemplo:

    {
        "SalesType""N",
        "CustomerId""000001",
        "CustomerUnit""01",
        "CustomerIdDelivery""000001",
        "CustomerUnitDelivery""01",
        "CustomerType""F",
        "Payment""001",
        "DiscountPercentage1"10,
        "DiscountPercentage2": 0,
        "DiscountPercentage3": 0,
        "DiscountPercentage4": 0,
        "Currency"1,
        "Freight"10,
        "Insurance"0,
        "Expense"0,
        "ListofProducts": [
            {
                "ItemId""01",
                "ProductId""3395979",
                "Quantity"10,
                "UnitaryValue"100,
                "TotalValue"1000,
                "ItemDiscountPercentage"10,
                "ItemDiscountValue"100,
                "OperationType""02"
            }
        ]
    }

    Explicando cada um dos campos do corpo da simulação de impostos

    "SalesType": "N"

    Tipo da venda, usa o valor “N" fixo

    "CustomerId": "000001"

    Código do cliente, extraído do campo PARCEIRO.SPLIT_PART(CODIGOERP,'#',3) selecionado no cabeçalho da ordem de venda

    "CustomerUnit": "01"

    Código da loja, extraído do campo PARCEIRO.SPLIT_PART(CODIGOERP,'#',3) selecionado no cabeçalho da ordem de venda

    "CustomerIdDelivery": "000001"

    Código do cliente de entrega, extraído do campo PARCEIRO.SPLIT_PART(CODIGOERP,'#',3) selecionado na entrega da ordem de venda

    "CustomerUnitDelivery": "01"

    Código da loja do cliente de entrega, extraído do campo PARCEIRO.SPLIT_PART(CODIGOERP,'#',3) selecionado na entrega da ordem de venda

    "CustomerType": "F"

    Tipo do cliente, usa o valor extraído do campo CLASSIFICACAOPARCEIRO.SUBSTR(C.CODIGOERP,LENGTH(C.CODIGOERP),LENGTH(C.CODIGOERP))

     "Payment": "001"

    Código da condição de pagamento, campo CONDICAOPAGAMENTO.SPLIT_PART(CODIGOERP,'#',2) selecionado no cabeçalho da ordem de venda

    "DiscountPercentage1": 10,  "DiscountPercentage2": 0, "DiscountPercentage3": 0, "DiscountPercentage4": 0

    Campo Calculado: total bruto dos itens - total liquido dos itens ((1 - (totalliquido/ totalbruto)) * 100) na primeira tag, nas demais não é enviado nenhum valor.

    "Currency": 1

    Moeda selecionada na ordem de venda, campo INDEXADOR.CAST(SPLIT_PART(CODIGOERP,'#',2) AS INT)

    "Freight": 10

    Valor do frete inserido na ordem de venda, campo PEDIDOENTREGA.VALORFRETE

    "Insurance": 0

    Valor do seguro do pedido, campo PEDIDOENTREGA.VALORSEGURO

    "Expense": 0

    Valor de despesas acessórias, campo PEDIDOENTREGA.VALORDESPESA

    "ListofProducts"."ItemId": “01”

    Número sequencial de cada item dentro da ordem de venda, campo PEDIDOPRODUTO.ORDEM * 10

    "ListofProducts"."ProductId": "3395979"

    Código do produto inserido nos itens da ordem de venda, campo PRODUTO.SPLIT_PART(CODIGOERP,'#',2)

    "ListofProducts"."Quantity": 10

    Quantidade do item em questão inserido nas ordens de venda, campo PEDIDOPRODUTO.QUANTIDADE

    "ListofProducts"."UnitaryValue": 100

    Valor unitário do item inserido nas ordens de venda (valor cheio, não considera desconto), campo PEDIDOPRODUTO.PRECOVENDA

    "ListofProducts"."TotalValue": 1000

    Valor total do item inserido nas ordens de venda, PEDIDOPRODUTO.QUANTIDADE * PEDIDOPRODUTO.PRECOVENDA

    "ListofProducts"."ItemDiscountPercentage": 10

    Percentual de desconto inserido no item da ordem de venda, campo PEDIDOPRODUTO.PERCENTUALDESCONTO

    "ListofProducts"."ItemDiscountValue": 100

    Fixo 0

    "ListofProducts"."OperationType": "02"

    Tipo de operação, campo TIPOPEDIDO.CODIGOERP

    OBS: Caso o tipo de pedido do item for nulo, é enviado o do cabeçalho.


    Modelo Protheus

    Abaixo está o escopo do cálculo de imposto do Protheus.

    A integração recebe a solicitação da aplicação via Carte, busca, processa e retorna para a mesma.

    Abaixo estão exemplos via POSTMAN:

    URL

    Na URL para o Datasul, o formato será o seguinte:

    POST {{URL}/AMBIENTE/api/fat/v1/SalesTaxes

    Substitua a variável URL pelo caminho da API, informado pelo cliente.

    Exemplo:

    Autorização

    Na aba de autorização, selecione o tipo Basic e informe os dados de usuário e senha:

    Header

    No header da requisição, informe o tipo do conteúdo:

    Content-Type: application/json

    Body

    No corpo da mensagem, substitua os dados da ordem de venda nas tags correspondentes.

    Exemplo:

    Corpo de uma mensagem de exemplo:

    {
      "SalesType""N",
      "CustomerId""0D69DO",
      "CustomerUnit""01",
      "CustomerIdDelivery""0D69DO",
      "CustomerUnitDelivery""01",
      "CustomerType""S",
      "Payment""002",
      "DiscountPercentage1"9,
      "DiscountPercentage2"0,
      "DiscountPercentage3"0,
      "DiscountPercentage4"0,
      "Currency"1,
      "Freight"0,
      "Insurance"0,
      "Expense"0,
      "ListofProducts": [
        {
          "ItemId""1",
          "ProductId""181647",
          "Quantity"90,
          "UnitaryValue"10,
          "TotalValue"900,
          "ItemDiscountPercentage"13,
          "operationType""03",
          "TES""501",
          "ItemDiscountValue"0
        }
      ]
    }

    Explicando cada um dos campos do corpo da simulação de impostos

    "SalesType": "N"

    Tipo da venda, usa o valor “N" fixo

    "CustomerId": "0D69DO"

    Código do cliente, extraído do campo PARCEIRO.NUMEROMATRICULA selecionado no cabeçalho da ordem de venda

    "CustomerUnit": "01"

    Código da loja selecionado no cabeçalho da ordem de venda, extraído do campo LOCAL.SPLIT_PART(CODIGOERP,'#',4), ou se for nulo, FILIALVENDA.SPLIT_PART(CODIGOERP,'#',3) 

    "CustomerIdDelivery": "0D69DO"

    Código do cliente, extraído do campo PARCEIRO.NUMEROMATRICULA selecionado na entrega da ordem de venda

    "CustomerUnitDelivery": "01"

    Código da loja do cliente, extraído do campo LOCAL.SPLIT_PART(CODIGOERP,'#',4) selecionado na entrega da ordem de venda

    "CustomerType": "S"

    Tipo do cliente, usa o valor extraído do campo CLASSIFICACAOPARCEIRO.CODIGOERP

     "Payment": "002"

    Código da condição de pagamento, campo CONDICAOPAGAMENTO.SPLIT_PART(CODIGOERP,'#',2) selecionado no cabeçalho da ordem de venda

    "DiscountPercentage1": 9,  "DiscountPercentage2": 0, "DiscountPercentage3": 0, "DiscountPercentage4": 0

    Campo Calculado: total bruto dos itens - total liquido dos itens ((1 - (totalliquido/ totalbruto)) * 100) na primeira tag, nas demais não é enviado nenhum valor.

    "Currency": 1

    Fixo 1

    "Freight": 0

    Valor do frete inserido na ordem de venda, campo PEDIDOENTREGA.VALORFRETE

    "Insurance": 0

    Valor do seguro do pedido, campo PEDIDOENTREGA.VALORSEGURO

    "Expense": 0

    Valor de despesas acessórias, campo PEDIDOENTREGA.VALORDESPESA

    "ListofProducts"."ItemId": “1”

    Número sequencial de cada item dentro da ordem de venda, campo PEDIDOPRODUTO.ORDEM

    "ListofProducts"."ProductId": "181647"

    Código do produto inserido nos itens da ordem de venda, campo PRODUTO.SPLIT_PART(CODIGOERP,'#',2)

    "ListofProducts"."Quantity": 90

    Quantidade do item em questão inserido nas ordens de venda, campo PEDIDOPRODUTO.QUANTIDADE

    "ListofProducts"."UnitaryValue": 10

    Valor unitário do item inserido nas ordens de venda (valor cheio, não considera desconto), campo PEDIDOPRODUTO.PRECOVENDA

    "ListofProducts"."TotalValue": 900

    Valor total do item inserido nas ordens de venda, PEDIDOPRODUTO.QUANTIDADE * PEDIDOPRODUTO.PRECOVENDA

    "ListofProducts"."ItemDiscountPercentage": 13

    Percentual de desconto inserido no item da ordem de venda, campo PEDIDOPRODUTO.PERCENTUALDESCONTO

    "ListofProducts"."ItemDiscountValue": 0

    Fixo 0

    "ListofProducts"."OperationType": "03"

    TES INTELIGENTE, campo TIPOPEDIDO.CODIGOERP

    OBS: Caso o tipo de pedido do item for nulo, é enviado o do cabeçalho

    "ListofProducts"."TES": "501"

    TES PADRÃO, campo TIPOPEDIDO.SPLIT_PART(CODIGOERP,'#',2)

    OBS: Caso o tipo de pedido do item for nulo, é enviado o do cabeçalho

    Modelo Genérico

    Protocolo HTTP REST

    Modelo de autenticação: Básica Usuário/Senha

    // Requisicao
    
    {
        "idusuario": 1, //pedido.idusuarioprofissional
        "idusuario_externalid": "cod", //pedido.idusuarioprofissional > codigoerp
        "idparceiro": 1, //pedido.idparceiro
        "idparceiro_externalid": "cod", //pedido.idparceiro > codigoerp
        "idparceiro_subentities": {
            "parceirogrupoparceiro": [
                {
                    "idnpadrao": 1,
                    "idgrupoparceiro": 1,
    	     		"idnativo": 1,
                    "idgrupoparceiro_externalid": "1"
                }
            ]
        },
        "idlocal": 2, //pedido.idlocal
        "idlocal_externalid": "cod", //pedido.idlocal > codigoerp
        "idlocal_subentities": {
              "localsegmento": [
                {
                  "idnpadrao": 0,
                  "idsegmento": 1,
                  "idnativo": 1,
                  "sigla": "ABC",
                  "idsegmento_externalid": "000001"
                }
              ],
              "localregiao": [
                {
                  "idregiao": 1,
                  "idnativo": 1,
                  "idregiao_externalid": "001"
                }
              ],
              "localtipologia": [
                {
                    "codigo": "1",
                    "idtipologia_externalid": "1",
                    "idnativo": 1,
                    "idtipologia": 1,
                    "sgltipologia": "TIPOS"
                }
              ]
            },
        "idlocalcobranca": 3, //pedido.idlocalcobranca
        "idlocalcobranca_externalid": "cod", //pedido.idlocalcobranca > codigoerp
        "idfilialvenda": 3, //pedido.idlocalfilialvenda
        "idfilialvenda_externalid": "cod", //pedido.idlocalfilialvenda > codigoerp
        "idfilialretira": 4, //pedido.idlocalfilialretirada
        "idfilialretira_externalid": "cod", //pedido.idlocalfilialretirada > codigoerp
        "idfilialfaturamento": 5, //pedido.idlocalfilialfaturamento
        "idfilialfaturamento_externalid": "cod", //pedido.idlocalfilialfaturamento > codigoerp
        "idtipopedido": 4, //pedido.idtipopedido
        "idtipopedido_externalid": "cod", //pedido.idtipopedido > codigoerp
        "idtipocobranca": 5, //pedido.idtipocobranca
        "idtipocobranca_externalid": "cod", //pedido.idtipocobranca > codigoerp
        "idtabelapreco": 6, //pedido.idtabelapreco
        "idtabelapreco_externalid": "cod", //pedido.idtabelapreco > codigoerp
        "idcondicaopagamento": 5, //pedido.idcondicaopagamento
        "idcondicaopagamento_externalid": "cod", //pedido.idcondicaopagamento > codigoerp
        "idsegmento": 8, //pedido.idsegmento
        "idsegmento_externalid": "cod", //pedido.idsegmento > codigoerp
        "idtipologia": 8, //pedido.idtipologia
        "idtipologia_externalid": "cod", //pedido.idtipologia > codigoerp
        "idoperacao": 8, //pedido.idoperacao
        "idoperacao_externalid": "cod", //pedido.idoperacao > codigoerp
        "idmoeda": 8, //pedido.idindexador
        "idmoeda_externalid": "cod", //pedido.idindexador > codigoerp
        "idtipoestoque": 8, //pedido.idtipoestoque
        "idtipoestoque_externalid": "cod", //pedido.idtipoestoque > codigoerp
        "valortotalbruto": 8.00, //Campo "Valor total bruto do resumo"
        "valortotalliquido": 9.00,//Campo "Valor total liquido do resumo"
        "descontopedido": [
            {
                "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                "percentual": 9.00, //pedidotipodesconto.percentual
                "valor": 10.00 //pedidotipodesconto.valor
            },
            {
                "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                "percentual": 9.00, //pedidotipodesconto.percentual
                "valor": 10.00 //pedidotipodesconto.valor
            }
        ],
        "pedidoproduto": [
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto
                "idproduto_externalid": "cod", //pedidoproduto.idproduto > codigoerp
    			"idembalagem": 10, //pedidoproduto.idembalagem
                "idembalagem_externalid": "cod", //pedidoproduto.idembalagem > codigoerp 
                "quantidade": 9.00, //pedidoproduto.quantidade
                "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitario
                "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitario
                "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitario
                "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitario
                "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitario
                "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                "idtipopedido_externalid": "cod", //pedidoproduto.idtipopedido > codigoerp
                "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                "idtipoestoque_externalid": "cod", //pedidoproduto.idtipoestoque > codigoerp
                "idtabelapreco": 15, //pedidoproduto.idtabelapreco
                "idtabelapreco_externalid": "cod" //pedidoproduto.idtabelapreco > codigoerp
            },
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto
                "idproduto_externalid": "cod", //pedidoproduto.idproduto > codigoerp
      			"idembalagem": 10, //pedidoproduto.idembalagem
                "idembalagem_externalid": "cod", //pedidoproduto.idembalagem > codigoerp  
                "quantidade": 9.00, //pedidoproduto.quantidade
                "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitario
                "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitario
                "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitario
                "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitario
                "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitario
                "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                "idtipopedido_externalid": "cod", //pedidoproduto.idtipopedido > codigoerp
                "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                "idtipoestoque_externalid": "cod", //pedidoproduto.idtipoestoque > codigoerp
                "idtabelapreco": 15, //pedidoproduto.idtabelapreco
                "idtabelapreco_externalid": "cod" //pedidoproduto.idtabelapreco > codigoerp
            }
        ],
        "pedidoentrega": [
            {
                "idtipofrete": 4, //pedidoentrega.idtipofrete
                "idtipofrete_externalid": "cod", //pedidoentrega.idtipofrete > codigoerp
    			"idparceiroentrega": 4, //pedidoentrega.idparceiroentrega
                "idparceiroentrega_externalid": "cod", //pedidoentrega.idparceiroentrega > codigoerp 
                "idtransportadora": 7,//pedidoentrega.idparceirotransportador
                "idtransportadora_externalid": "cod",//pedidoentrega.idparceirotransportador > codigoerp
                "valorfrete": 5.00, //pedidoentrega.valorfrete
                "valordespesa": 6.00, //pedidoentrega.valordespesa
                "valorseguro": 7.00 //pedidoentrega.valorseguro        
            },
            {
                "idtipofrete": 4, //pedidoentrega.idtipofrete
                "idtipofrete_externalid": "cod", //pedidoentrega.idtipofrete > codigoerp
     			"idparceiroentrega": 4, //pedidoentrega.idparceiroentrega
                "idparceiroentrega_externalid": "cod", //pedidoentrega.idparceiroentrega > codigoerp  
                "idtransportadora": 7,//pedidoentrega.idparceirotransportador
                "idtransportadora_externalid": "cod",//pedidoentrega.idparceirotransportador > codigoerp
                "valorfrete": 5.00, //pedidoentrega.valorfrete
                "valordespesa": 6.00, //pedidoentrega.valordespesa
                "valorseguro": 7.00 //pedidoentrega.valorseguro        
            }
        ]
    }
    
    // Retorno
    
    {
        "valortotalcomimpostos": 15.00,
        "valortotalimpostos": 16.00,
        "valortotaldespesa": 6.00, //pedidoentrega.valordespesa
        "valortotalseguro": 7.00, //pedidoentrega.valorseguro        
        "pedidoimposto": [
            {
                "sglimposto": "ICMS", //20 caracteres max
                "aliquota": 11.00,
                "valortotalimposto": 0.5,
            },
            {
                "sglimposto": "ST", //20 caracteres max
                "aliquota": 11.00,
                "valortotalimposto": 0.5
            },
            {
                "sglimposto": "IPI", //20 caracteres max
                "aliquota": 11.00,
                "valortotalimposto": 0.5
            }
        ],
        "itemimposto": [
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto //
                "idproduto_externalid": "cod", //pedidoproduto.idproduto > codigoerp //80 caracteres max
                "valortotalcomimpostos": 12.00, //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                "valortotalfrete": 15.00, //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                "impostos": [
                    {
                        "sglimposto": "ICMS", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    },
                    {
                        "sglimposto": "IPI", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    },
                    {
                        "sglimposto": "ST", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    }
                ]
            },
            {
                "ordem": 1, //pedidoproduto.ordem
                "idproduto": 8, //pedidoproduto.idproduto
                "idproduto_externalid": "cod", //pedidoproduto.idproduto > codigoerp //80 caracteres max
                "valortotalcomimpostos": 12.00, //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                "valortotalfrete": 15.00, //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                "impostos": [
                    {
                        "sglimposto": "ICMS", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    },
                    {
                        "sglimposto": "IPI", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    },
                    {
                        "sglimposto": "ST", //20 caracteres max
                        "valorbase": 10.00,
                        "aliquota": 11.00,
                        "valortotalimposto": 12.00 //NAO UNITARIO, precisa ser multiplicado pela requisicao.quantidade
                    }
                ]
            }
        ] //Impostos para o item do pedido
    }
    • Sem rótulos