-
Total de ítens
18 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Guilherme Consolação Dias postou
-
Perfeito @Italo Giurizzato Junior, obrigado pelo esclarecimento. Nesse caso, acredito que para finalizar o problema, seria apenas subtrair os demais valores (impostos federais, outras retenções, ...) do valor do serviço, igual é feito na rotina de leitura do XML dos provedores que utilizam o provedor ABRASF. Segue a correção: SigISSWeb.LerXml.pas
-
Boa noite @Italo Giurizzato Junior, realmente a alteração do valor da propriedade Servico.Valores.ValorLiquidoNfse, fica melhor e resolve o problema. Temos apenas uma ressalva quanto a isso, se algum desenvolvedor que utiliza o componente fez a lógica de integração esperando que o Servico.Valores.ValorLiquidoNfse fosse o valor da tag <valor_servico>, ele teria que olhar as mudanças e arrumar o código dele certo? Por esse motivo colocamos no componente do DANFe, para evitar efeitos colaterais. Mas se não for um problema, ficou interessante. Olhando a lógica de leitura de provedores que utilizam o padrão ABRASF 2 (unit ACBrNFSeXLerXml_ABRASFv2.pas), esse valor líquido é calculado da seguinte forma: ValorLiq := Valores.ValorServicos - Valores.RetencoesFederais - Valores.OutrasRetencoes - Valores.ValorIssRetido - Valores.DescontoIncondicionado - Valores.DescontoCondicionado; Talvez fosse interessante além do ISS retido, esses outros valores também serem descontados. Existe ainda o seguinte condicional, que talvez não seje necessário no caso do SigISSWeb (a atribuição do cálculo do valor líquido possa ser feito diretamente na propriedade), mas é importante pontuar: if (Valores.ValorLiquidoNfse = 0) or (Valores.ValorLiquidoNfse > ValorLiq) then Valores.ValorLiquidoNfse := ValorLiq;
-
Boa tarde @Italo Giurizzato Junior, isso mesmo, para gerar o DANFe carrego o XML da NFSe gerada (não o do RPS). Ai o que está acontecendo, é que hoje o componente considera o valor líquido como sendo a tag <valor_servico>. Nessa tag não temos a subtração dos impostos como o ISS retido. <valor_nf>20.00</valor_nf> <deducao>0.00</deducao> <valor_servico>20.00</valor_servico> <iss_retido>S</iss_retido> <aliq_iss>3.3259420089</aliq_iss> <valor_iss>0.66518840178000</valor_iss> Logo as propriedades estão com os valores: Servico.Valores.ValorServicos := 20; Servico.Valores.ValorDeducoes := 0; Servico.Valores.ValorLiquidoNfse := 20; Perceba que a propriedade Servico.Valores.ValorLiquidoNfse está com o valor de 20, e não de 19.33 (valor do ISS retido de 0.67). Deste modo, o DANFe fica no valor de 20 o valor líquido. Pensamos em fazer os cálculos subtraindo os impostos devidamente e depois atribuir para essa propriedade (Servico.Valores.ValorLiquidoNfse), mas talvez não estariamos sendo fiel aos valores destacados no XML, podendo causar problemas para outros usuários do componente. Então como o problema em si é apenas na impressão do DANFe, adicionei essa propriedade para poder ser atribuido esse valor líquido diretamente no DANFe. Caso vocês preferirem, podems mudar a lógica no momento da leitura do XML da NFSe, e considerar o valor líquido como sendo resultado de um cálculo ao invés de pegar diretamente o valor da tag <valor_servico> (talvez cause problema para alguns usuários que utilizem o componente, já que Servico.Valores.ValorLiquidoNfse deixaria de ser a tag <valor_servico>).
-
Boa noite, estou emitindo algumas NFSes no provedor SigISSWeb com retenção de ISS, e percebi que o valor não estava sendo destacado no DANFe. Decidi olhar a rotina de leitura do XML do provedor, e comparando a rotina de leitura dos provedores que utilizam o padrão ABRASF, percebi que uma propriedade não estava sendo alimentada na rotina do provedor SigISSWeb. A propriedade se chama "Servico.Valores.ValorIssRetido". Segue lógica encontrada na rotina LerServicos da classe TNFSeR_ABRASFv2 na unit ACBrNFSeXLerXml_ABRASFv2.pas, que inspirou essa correção proposta: if Valores.IssRetido = stRetencao then begin Valores.ValorIssRetido := Valores.ValorIss; Valores.ValorIss := 0; end else Valores.ValorIssRetido := 0; Foi alterado o arquivo fonte: SigISSWeb.LerXml.pas, onde alimento essa propriedade de forma similar ao código demonstrado acima. SigISSWeb.LerXml.pas
-
Boa noite, estamos realizado a comunicação com o provedor SigISSWeb, e percebemos um problema na geração do DANFe. O provedor SigISSWeb, considera o valor líquido da NFSe (valor do serviço), como sendo o valor da NFSe menos a dedução, como sugere a documentação do Manual de Integração. Atualmente, durante a leitura do XML, o valor da tag <valor_servico> está sendo atribuído à propriedade Servico.Valores.ValorLiquidoNfse, o que resulta na exibição incorreta do valor líquido no DANFe, pois esse campo não desconta os impostos. Ressaltamos que não é possível subtrair os impostos manualmente do campo <valor_servico> no momento do envio do RPS, pois isso acarreta em rejeição por parte do provedor. O próprio SigISSWeb interpreta corretamente a composição dos valores com base nas alíquotas, nos campos de retenção e nos valores informados. Tanto é que, ao consultar o DANFe diretamente no portal da prefeitura, o valor líquido é exibido corretamente. Portanto, entendemos que não se trata de um erro no XML em si, mas sim de uma diferença na forma de interpretação adotada pelo provedor. Para contornar essa limitação e manter a fidelidade ao XML retornado, propomos a adição de uma nova propriedade no componente DANFe chamada ValorLiquidoNFSeImp. Caso esta propriedade seja preenchida, ela deverá sobrepor o valor obtido automaticamente a partir do XML, da mesma forma que já ocorre com a propriedade OutrasInformacoesImp. Dessa forma, conseguimos, antes da impressão do DANFe, obter o valor líquido real diretamente do nosso sistema e atribuí-lo à nova propriedade, garantindo que o DANFe seja apresentado corretamente ao usuário final. Pensamos em realizar o cálculo do valor líquido diretamente na leitura do XML, mas teriamos a perda do conteúdo do da tag <valor_servico>, o que pode causar problemas de compatibilidade com outros usuários do componente. Estou utilizando o Fortes Report, então arrumei o Retrato que era o que eu precisava, e aproveitei para deixar disponível essa propriedade para o SiplISS e o ISSNet também. Foram alterados os arquivos fontes: ACBrNFSeXDANFSeClass.pas, ACBrNFSeXDANFSeRLRetrato.pas, ACBrNFSeXDANFSeRLSimplISS.pas e ACBrNFSeXDANFSeRLISSNet.pas Anexei um XML de exemplo de uma NFSe gerada no SigISSWeb, apenas com as tags de valores necessárias para a análise. ACBrNFSeXDANFSeClass.pas ACBrNFSeXDANFSeRLRetrato.pas ACBrNFSeXDANFSeRLSimplISS.pas ACBrNFSeXDANFSeRLISSNet.pas NFSe com retenção - Exemplo.xml
-
Boa tarde, galera. Passando só para informar que entrei em contato com a prefeitura de Limeira, para perguntar sobre o cancelamento e o XML da NFSe, segue o retorno: Concluíndo, somente conseguimos enviar o RPS e gerar a NFSe em Limeira, se utilizar o provedor iiBrasil. O XML e o cancelamento da NFSe, devem ser realizados exclusivamente pelo site do provedor, não sendo possível executá-los por meio do componente ACBrNFSeX. Desse modo podemos finalizar o tópico, agradeço a todos pelo suporte.
-
Boa tarde Alexandre: Provedor GovDigital em Poços de Caldas, ao tentar emitir o RPS, recebiamos o erro que a Alíquota estava incorreta. Olhando os arquivos gerados para o envio, percebemos que a aliquota estava sendo dividida por 100, logo foi necessário acrescentar esse parâmetro no ACBrNFSeXServicos.ini. Depois disso o RPS foi emitido corretamente e a NFSe gerada. Está validado e está em produção funcionando corretamente. Não se baseamos em documentações, apenas na mensagem do erro e análise dos fontes do componente, então não conseguimos anexar nenhum documento. Provedor SigISSWeb em Araras recebemos o erro que estavam faltando algumas tags. Olhamos o XML de exemplo deles (XML1ExemploEnvio.xml) disponibilizado em https://downloads.sigissweb.com/manual_araras.pps, e percebemos que estavam faltando adicionar as tags codigo_nbs, cidade_local_prest e uf_local_prest no XML de envio. Após a correção, foi validado e está em produção funcionando corretamente. XML1ExemploEnvio.xml
-
Correções para provedores do componente ACBrNFSeX
um tópico no fórum postou Guilherme Consolação Dias ACBrNFSe
Boa tarde, migramos recentemente para o ACBrNFSeX e estamos homologando todos os nossos clientes. Realizamos algumas correções nos fontes do componente, para que alguns provedores funcionassem corretamente: Provedor GovDigital em Poços de Caldas, não divide a aliquota por 100, logo precisei adicionar no ACBrNFSeXServicos.ini o parâmetro NaoDividir100, para funcionar. Ficou Assim: [3151800] ; Atualizado em 27/09/2023 Nome=Pocos de Caldas UF=MG Provedor=GovDigital Versao=2.01 Params=NaoDividir100: ProRecepcionar=https://ws.nfe-cidades.com.br/ws/pocos HomRecepcionar=https://ws.homolog.nfe-cidades.com.br/ws/pocos Provedor SigISSWeb exige 3 tags novas chamadas: codigo_nbs, cidade_local_prest e uf_local_prest. Precisei alterar os arquivos fontes do provedor (Arquivos em anexo SigISSWeb.GravarXml.pas e SigISSWeb.LerXml.pas): Unit SigISSWeb.GravarXml, foi alterado a rotina GerarXml. Acrescentei: NFSeNode.AppendChild(AddNode(tcStr, '#1', 'codigo_nbs', 1, 12, 1, NFSe.Servico.CodigoNBS, '')); NFSeNode.AppendChild(AddNode(tcStr, '#1', 'cidade_local_prest', 1, 60, 1, NFSe.Servico.MunicipioPrestacaoServico, '')); NFSeNode.AppendChild(AddNode(tcStr, '#1', 'uf_local_prest', 2, 2, 1, NFSe.Servico.UFPrestacao, '')); Unit SigISSWeb.LerXml, foi alterado a rotina LerXml. Acrescentei: Servico.CodigoNBS := ObterConteudo(ANode.Childrens.FindAnyNs('codigo_nbs'), tcStr); Servico.MunicipioPrestacaoServico := ObterConteudo(ANode.Childrens.FindAnyNs('cidade_local_prest'), tcStr); Servico.UFPrestacao := ObterConteudo(ANode.Childrens.FindAnyNs('uf_local_prest'), tcStr); Provedor iiBrasil de Limeira, não conseguimos realizar o cancelamento, está acusando que a função está bloqueada. Isso indica que o provedor não implentou o recurso ou eu estou fazendo algo de errado? A geração do RPS funciona certinho, mas na hora de gerar o XML da NFSe para poder imprimir o Danfe, o caminho (ACBrNFSe.NotasFiscais.Items[0].NomeArq) está vazio, e o arquivo que supostamente seria o XML da NFSe, fica vazio (Arquivo em anexo que deveria conter o XML da NFSe que o ACBr tenta gerar, 8470RPSL-nfse.xml). Resumidamente, eu precisaria que as correções dos provedores GovDigital e SigISSWeb fossem liberadas no controle de versão, e de um posicionamento quanto ao provedor de Limeira. SigISSWeb.GravarXml.pas SigISSWeb.LerXml.pas 8470RPSL-nfse.xml Segue o meu ACBrNFSeXServicos.ini e ACBrNFSeXServicos.res. ACBrNFSeXServicos.ini ACBrNFSeXServicos.res -
Integração do ACBrTEFD com um módulo PDV proprietário
um tópico no fórum postou Guilherme Consolação Dias Dúvidas sobre TEF
Olá, possuo um sistema ERP que apresenta um módulo PDV. Estou em busca da transformação desse sistema em uma solução TEF, que se comunica direto com as operadoras. Assim gostaria que o PDV desse meu ERP, atuasse como o software conectado ao PinPad de forma a não depender de terceiros. Gostaria de saber, se existe a possibilidade de comunicação com as operadoras sem a necessidade de integração com softwares de terceiros, por exemplo: Software Express, através da utilização do componente ACBrTEFD. Desde já agradeço pela atenção. -
Boa tarde Italo, Uma diferença presente no provedor SIGISS Web, é que não existe o recebimento em lote das NFSes. O Web Service permite o envio, cancelamento e consulta de apenas uma NFSe/RPS por vez. O que devo fazer? Uma lógica interna no componente para realizar várias requisições, ou limitar os requisitos para tratar somente uma NFSe por vez.
-
Obrigado Italo pela rápida assistência, Estou a desenvolver um diagrama de classes UML para melhor entender e se aprofundar no componente. Pretendo desviar o fluxo do código em alguns momentos quando o provedor trabalhar com a arquitetura REST; no ini do provedor vou inserir as seções necessárias para configurar o corpo da requisição. Talvez seja necessário criar mais algumas propriedades published para o componente. Pretendo tornar o componente versátil e pronto para integrações futuras que se utilizam desta arquitetura, mas precisarei do seu apoio Italo, para tirar algumas dúvidas durante o processo. Qualquer material que possa ajudar a ter um entendimento do componente ou a obter uma inicialização na integração, é de grande ajuda. Desde já, obrigado Italo
-
Bom dia Italo, desculpe solicitar novamente Ocorreu algum feedback a respeito da integração? Qualquer informação é válida, preciso repassar para nossos clientes a situação ou buscar soluções alternativas. Aguardo ansiosamente pelo seu retorno.
-
NFSe com provedor SIGISS Web via Web Service Restfull
um tópico no fórum postou Guilherme Consolação Dias ACBrNFSe
Olá, Recentemente, o município de Araras (3503307) realizou a troca do provedor de NFSe. Antes utilizava-se o provedor SimplISS, ocorrendo a migração para o provedor SIGISS Web no dia 01/11/2019. Estou disposto a contribuir para o projeto ACBr a implementar este provedor, já que pelo o que eu percebi, pararam no meio do processo. É importante salientar que este web service não utiliza o protocolo SOAP para a comunicação. Para se emitir a NFSe é necessário no SIGISS Web utilizar a arquitetura REST, podendo enviar os dados em formato XML ou JSON. Já troquei meu Cidades.ini para o provedor SigIss e possuo um SigIss.ini também. Gostaria de saber como prosseguir para configurar o SigIss.ini, já que não será utilizado mais o padrão SOAP. Obs: Foi solicitado para o suporte do SIGISS Web um XSD (Schema) para validar os layouts XML, mas fui avisado que não existe um.