Á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 18 Próxima »

Documentação em construção

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