Fórum
Ver pergunta

Guia de Remessa com PVP4   

111 visualizações
0
0

Boa tarde,

Tenho uma dúvida relativamente a geração de GRs pela API usando un cliente com um PVP4 onde o preço já inclui IVA. Neste momento, o documento é gerado mas a checkbox “Preços com Impostos Incluídos” não fica selecionada.

Na API, secção Delivery, existe uma propriedade taxIncluded, mas que não está disponível na APIDeliveryResource. Há alguma maneira de forçar esse valor? Nas referências da API parece-me ser uma propriedade que é automáticamente preenchida.

 

Obrigado.

Faça login para poder traduzir
Integração
Marcado como spam
Criado há 6 anos e 9 meses carlos-1
c
carlos-1 Iniciante
Comentários
Olá carlos, pode adicionar um exemplo do que está fazer para facilitar a resposta. Questões muito vagas tendem a não ter resposta, recomendo a leitura da secão de FAQ's para conheçer a dinamica dos foruns do developer network.
6 anos e 9 meses
sergiosereno
    2 respostas
    0
    Resposta privada

    Olá Carlos.

    Fiz o pedido exatamente como indicou, utilizando um cliente que tem definido como lista de preços PVP4 (lista com IVA incluído) e o resultado foi o esperado. Tal como na interface, o documento (guia) assumiu a configuração de impostos presente na lista de preços do cliente, sendo todos os cálculos efetuados com base nisso.

    O pedido efetuado foi o seguinte:
    POST
    Endpoint: api/{accountKey}}/{{subscriptionKey}}/shipping/deliveries
    Body:
    {
    "party": "0001",
    "accountingParty": "0001",
    "paymentMethod": "NUM",
    "deliveryTerm": "EM-MAO",
    "paymentTerm":"01",
    "logisticsPartyName":"Cliente 0001",
    "logisticsPartyAddress":"Morada 0001",
    "documentLines": [
    {
    "item": "ART0001"
    }]
    }

    Em anexo segue a configuração do cliente e o resultado final obtido.

    Faça login para poder traduzir
    Marcado como spam
    Criado há 6 anos e 8 meses nuno
    n
    nuno Iniciante
      0
      Resposta privada

      Como não consigo editar a pergunta, vou incluir mais alguma explicação do que está a acontecer e como estou a gerar o documento.

                  // We need to get the client Party
                  CustomerParty customer = GetCustomerParty(clientCode);
      
                  // Create the doc
                  Jasmin.Class.Shipping.Document doc = new Jasmin.Class.Shipping.Document();
                  // SET DATE
                  doc.Date = DateTime.Now.Date > loadingDate.Date ? loadingDate.Date : DateTime.Now.Date;
      
                  // SET CLIENT DATA
                  //-------------------------------------------
                  // SHIPPING SPECIFIC
                  doc.ClientCode = customer.Key;
                  doc.ClientName = customer.Name;
                  doc.ClientAddress = customer.FullAddress;
      
                 // CUSTOMER INFO
                  doc.PaymentTerm = customer.PaymentTerm;
                  doc.PaymentMethod = customer.PaymentMethod;
                  doc.DeliveryTerm = customer.DeliveryTerm;
                  doc.AccountingClientCode = customer.Key;
                  doc.Discount = customer.SettlementDiscountPercent;
      
                  // HEADER SETTINGS
                  doc.DocumentType = Config.JSDocumentType;
                  doc.Serie = Config.JSDocumentSerie;
                  doc.Company = Config.JSCompanyName;
      
                  // Loading address based on the Warehouse
                  Warehouse loadingWH = await _JSOAtuhMngr.CallAsync<Warehouse>(OAuth2Manager.ECallType.GET, OAuth2Manager.EEndPointType.Warehouse, WarehouseCode);
      
                  // Loading section
                  doc.LoadingCountry = "PT";
                  doc.LoadingBuildingNumber = loadingWH.BuildingNumber;
                  doc.LoadingCityName = loadingWH.CityName;
                  doc.LoadingCountry = loadingWH.Country;
                  doc.LoadingDateTime = loadinDate;
                  doc.LoadingPoint = Config.JSLoadingWarehouseText;
                  doc.LoadingPostalZone = loadingWH.PostalZone;
                  doc.LoadingStreetName = loadingWH.StreetName;
                  doc.LoadingWarehouse = loadingWH.Key;
                  doc.UseCurrentDate = false;
      
                  // Unloading section
                  doc.UnloadingCountry = customer.Country;
                  doc.UnloadingDateTime = unloadingDate;
                  doc.UnloadingBuildingNumber = doorNumber;
                  doc.UnloadingCityName = city;
                  doc.UnloadingCountry = country;
                  doc.UnloadingPoint = Config.JSUnloadingWarehouseText;
                  doc.UnloadingPostalZone = postCode;
                  doc.UnloadingStreetName = street;
      
                  doc.DocumentLines = new List<Integration.Jasmin.Class.BaseDocumentLine>();
                  foreach (var line in lines)
                  {
                      doc.DocumentLines.Add(new Integration.Jasmin.Class.Shipping.DocumentLine()
                      {
                          ItemCode = line.ProductCode.Length > 7 ? line.ProductCode.Substring(0, 7) : line.ProductCode,
                          ComplementaryDescription = "Lote: " + line.ACV,
                          Quantity = (double)line.WeightedValue,
                          UnitPrice = new Money() { Value = (double)line.PVP },
                          //Unit = Config.JSProductUnit,
                          DeliveryDate = doc.LoadingDateTime?.Date,
                          Status = Integration.Jasmin.Class.Enumerations.DocumentLineStatus.Open,
                          Warehouse = WarehouseCode
                      });
                  }
      
                  // Create the document via API
                  string docGUID = await _JSOAtuhMngr.CallAsync<string>(OAuth2Manager.ECallType.POST, OAuth2Manager.EEndPointType.Shipping, doc);

      O resultado gera uma GR mas sem ter "Preços com impostos incluidos" com Check! Se criar uma guia manualmente pela Aplicação Jasmin, essa checkbox é automaticamente selecionada.

       

      Faça login para poder traduzir
      Marcado como spam
      Criado há 6 anos e 9 meses carlos-1
      c
      carlos-1 Iniciante