Ir para conteúdo
  • Cadastre-se

leonardo.gomes

Membros
  • Total de ítens

    13
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

leonardo.gomes's Achievements

Apprentice

Apprentice (3/14)

  • Collaborator Rare
  • Dedicated Rare
  • First Post
  • Week One Done
  • One Month Later

Recent Badges

4

Reputação

7

Community Answers

  1. Prezados, Ao validar a emissão do DPS para o município de Macaé, no modelo ABRASF, com o preenchimento do grupo IBS/CBS contendo impostos retidos, identificamos a necessidade de informar também os valores das alíquotas correspondentes. Dessa forma, foi realizada a seguinte alteração no fonte: Objeto: Tiplan.GravarXml.pas Método: TNFSeW_Tiplan203.GerarValores Ajuste: inclusão do preenchimento dos campos AliquotaPis e AliquotaCofins Alteração aplicada: function TNFSeW_Tiplan203.GerarValores: TACBrXmlNode; begin Result := inherited GerarValores; if (Result <> nil) and not (NFSe.Servico.Valores.tribFed.CST in [cstVazio, cst00, cst08, cst09]) then begin Result.AppendChild(AddNode(tcStr, '#', 'SituacaoTributariaPISCOFINS', 2, 2, 1, CSTToStr(NFSe.Servico.Valores.tribFed.CST), '')); Result.AppendChild(AddNode(FormatoAliq, '#15', 'AliquotaPis', 1, 15, 0, NFSe.Servico.Valores.AliquotaPis, DSC_VALIQ)); Result.AppendChild(AddNode(FormatoAliq, '#15', 'AliquotaCofins', 1, 15, 0, NFSe.Servico.Valores.AliquotaCofins, DSC_VALIQ)); end; end; Segue em anexo o objeto alterado e os XML descaracterizados. Tiplan.GravarXml.pas XML Enviado.xml XML Retornado.xml
  2. Prezados, Ao enviar um DPS/RPS para a Prefeitura de Fortaleza com tomador/intermediário estrangeiro, é obrigatório o preenchimento do Grupo de Exportação (Grupo de informações sobre transações entre residentes ou domiciliados no Brasil e residentes ou domiciliados no exterior). Dessa forma, foi necessário realizar os seguintes ajustes: ACBrNFSeXGravarXml_ABRASFv1.pas Criação do método GerarComercioExterior. ISSFortaleza.GravarXml.pas Sobrescrita do método GerarComercioExterior para o devido preenchimento das informações. Observação: O campo tpMoeda, no layout da NFS-e Nacional, segue o padrão BACEN. Já no layout da NFS-e de Fortaleza, o campo segue o padrão ISO. Sendo assim, foi criado o objeto MoedasBACENISO.pas, contendo o DE/PARA para conversão entre os padrões. Manual ISSFortaleza: https://ibs.sefin.fortaleza.ce.gov.br/ibs/Canal/40/Generico/3695/Ler ACBrNFSeXGravarXml_ABRASFv1.pas ISSFortaleza.GravarXml.pas MoedasBACENISO.pas
  3. Prezados, Acabou que na primeira postagem o objeto ACBrNFSeXGravarXml_ABRASFv1.pas estava sem a criação da propriedade NrOcorrCodigoNBS. Segue a pasta atualizada, com os objetos corretos. Peço desculpas pelo transtorno. Objetos.zip
  4. Prezados, Para atender o envio de DPS/RPS para o provedor que atende o município de Fortaleza foi necessário realizar os ajustes abaixo. Por favor, verificar se é viável subir no repositório. Objeto: ACBrNFSeXGravarXml_ABRASFv1.pas - Foi necessário criar a propriedade NrOcorrCodigoNBS. - Inclusão do "CodigoNbs" no método GerarServico. Objeto: ISSFortaleza.GravarXml.pas - Método "GerarConstrucaoCivil" sobrescrito para o preenchimento do endereço da obra que será realizado pelo novo método criado "GerarEnderecoObra". Segue em anexo os objetos alterados e os XML descaracterizados. Objetos.zip Fortaleza - XML Com IBSCBS.zip
  5. Prezados, Para atender à operação de envio de DPS ao ambiente nacional em cenários com benefício fiscal, foi necessário realizar um ajuste pontual no método GerarXMLBeneficioMunicipal do objeto PadraoNacional.GravarXml.pas, de modo que seja enviada apenas a informação do campo nBM (Identificador do benefício parametrizado pelo município). Com o envio exclusivo desse campo, o próprio ambiente nacional passa a identificar corretamente qual alíquota deve ser aplicada, conforme a parametrização do benefício. - ALTERAÇÃO DE: function TNFSeW_PadraoNacional.GerarXMLBeneficioMunicipal: TACBrXmlNode; begin Result := nil; if NFSe.Servico.Valores.tribMun.nBM <> '' then begin Result := CreateElement('BM'); // Result.AppendChild(AddNode(tcStr, '#1', 'tpBM', 1, 1, 1, // tpBMToStr(NFSe.Servico.Valores.tribMun.tpBM), '')); Result.AppendChild(AddNode(tcStr, '#1', 'nBM', 14, 14, 1, NFSe.Servico.Valores.tribMun.nBM, '')); if NFSe.Servico.Valores.tribMun.vRedBCBM > 0 then Result.AppendChild(AddNode(tcDe2, '#1', 'vRedBCBM', 1, 15, 1, NFSe.Servico.Valores.tribMun.vRedBCBM, '')) else Result.AppendChild(AddNode(tcDe2, '#1', 'pRedBCBM', 1, 5, 1, NFSe.Servico.Valores.tribMun.pRedBCBM, '')); end; end; PARA: function TNFSeW_PadraoNacional.GerarXMLBeneficioMunicipal: TACBrXmlNode; begin Result := nil; if NFSe.Servico.Valores.tribMun.nBM <> '' then begin Result := CreateElement('BM'); // Result.AppendChild(AddNode(tcStr, '#1', 'tpBM', 1, 1, 1, // tpBMToStr(NFSe.Servico.Valores.tribMun.tpBM), '')); Result.AppendChild(AddNode(tcStr, '#1', 'nBM', 14, 14, 1, NFSe.Servico.Valores.tribMun.nBM, '')); if NFSe.Servico.Valores.tribMun.vRedBCBM > 0 then Result.AppendChild(AddNode(tcDe2, '#1', 'vRedBCBM', 1, 15, 1, NFSe.Servico.Valores.tribMun.vRedBCBM, '')) else if NFSe.Servico.Valores.tribMun.pRedBCBM > 0 then Result.AppendChild(AddNode(tcDe2, '#1', 'pRedBCBM', 1, 5, 1, NFSe.Servico.Valores.tribMun.pRedBCBM, '')); end; end; PadraoNacional.GravarXml.pas
  6. Prezados, Para atender o envio de DPS/RPS para o município de Itajaí no padrão do novo leiaute, foi necessário incluir o tratamento para assinatura do grupo de RPS. - Alterações realizada: Objeto: Publica.Provider.pas Método: TACBrNFSeProviderPublica.Configuracao Trecho alterado: with ConfigAssinar do begin RPS := True; LoteRps := True; ConsultarSituacao := True; ConsultarLote := True; ConsultarNFSeRps := True; ConsultarNFSe := True; CancelarNFSe := True; LoteGerarNFSe := True; end; Observação: Segue arquivo alterado em anexo, por favor, avaliar a possibilidade de subir no repositório. Publica.Provider.pas
  7. Prezados, Realizei a adequação da classe do provedor de São Paulo para suportar o novo endpoint: Conforme o manual da Prefeitura de São Paulo: https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?WSDL Esse novo endereço do serviço síncrono atende ambos os layouts (versões 1 e 2), e por isso recomendamos a atualização para esse endpoint. Solicito, por gentileza, que avaliem a possibilidade de incorporar essa correção ao repositório oficial. Observação: Não atualizei o arquivo ACBrNFSeXServicos.ini, pois o ERP da software house a que presto serviço possui uma tela de configurações que sobrescreve as informações desse arquivo, permitindo ao usuário definir o método a ser utilizado (Teste, Síncrono, Assíncrono), a versão e a URL a ser acessada. ISSSaoPaulo.Provider.pas
  8. Prezados, Para viabilizar o envio de RPS/DPS no layout 2.0 da Prefeitura de São Paulo utilizando as fontes atualizadas do ACBRNFSex, foi necessário aplicar uma correção no método AssinaturaAdicional da classe ISSSaoPaulo.Provider. Encaminho em anexo o objeto atualizado com o ajuste realizado. Peço, por gentileza, que avaliem a possibilidade de incorporar essa correção ao repositório oficial. Conforme o manual da Prefeitura de São Paulo: "Observação: não é necessário informar os dados de intermediário na assinatura se não houver intermediário. ..." Correção realizada: procedure TACBrNFSeProviderISSSaoPaulo.AssinaturaAdicional(Nota: TNotaFiscal); var sSituacao, sISSRetido, sCPFCNPJTomador, sIndTomador, sTomador, sCPFCNPJInter, sIndInter, sISSRetidoInter, sInter, sAssinatura, sNIF: string; iTamanhoIM: Integer; begin with Nota do begin sSituacao := EnumeradoToStr(NFSe.SituacaoNfse, ['N', 'C'], [snNormal, snCancelado]); sISSRetido := EnumeradoToStr(NFSe.Servico.Valores.IssRetido, ['N', 'S'], [stNormal, stRetencao]); // Tomador do Serviço sCPFCNPJTomador := OnlyNumber(NFSe.Tomador.IdentificacaoTomador.CpfCnpj); if sCPFCNPJTomador = '' then sIndTomador := '3' else if Length(sCPFCNPJTomador) <= 11 then sIndTomador := '1' else if Length(sCPFCNPJTomador) <= 14 then sIndTomador := '2'; sTomador := sIndTomador + Poem_Zeros(sCPFCNPJTomador, 14); // Prestador Intermediario sCPFCNPJInter := OnlyNumber(NFSe.Intermediario.Identificacao.CpfCnpj); if sCPFCNPJInter = '' then sIndInter := '3' else if Length(sCPFCNPJInter) <= 11 then sIndInter := '1' else if Length(sCPFCNPJInter) <= 14 then sIndInter := '2'; sISSRetidoInter := EnumeradoToStr(NFSe.Intermediario.IssRetido, ['N', 'S'], [stNormal, stRetencao]); sNIF := trim(NFSe.Intermediario.Identificacao.Nif); if sIndInter = '3' then sNIF := NaoNIFToStr(NFSe.Intermediario.Identificacao.cNaoNIF); if FPVersaoDFe = '2' then begin if (sCPFCNPJInter <> '') then sInter := sIndInter + Poem_Zeros(sCPFCNPJInter, 14) + sISSRetidoInter + sNIF else sInter := ''; iTamanhoIM := 12; end else begin if sIndInter <> '3' then sInter := sIndInter + Poem_Zeros(sCPFCNPJInter, 14) + sISSRetidoInter else sInter := ''; iTamanhoIM := 8; end; sAssinatura := Poem_Zeros(NFSe.Prestador.IdentificacaoPrestador.InscricaoMunicipal, iTamanhoIM) + PadRight(NFSe.IdentificacaoRps.Serie, 5, ' ') + Poem_Zeros(NFSe.IdentificacaoRps.Numero, 12) + FormatDateTime('yyyymmdd', NFse.DataEmissao) + TipoTributacaoRPSToStr(NFSe.TipoTributacaoRPS) + sSituacao + sISSRetido + Poem_Zeros(OnlyNumber(FormatFloat('#0.00', NFSe.Servico.Valores.ValorServicos)), 15) + Poem_Zeros(OnlyNumber(FormatFloat('#0.00', NFSe.Servico.Valores.ValorDeducoes)), 15) + Poem_Zeros(OnlyNumber(NFSe.Servico.ItemListaServico), 5) + sTomador + sInter; NFSe.Assinatura := string(TACBrNFSeX(FAOwner).SSL.CalcHash(AnsiString(sAssinatura), dgstSHA1, outBase64, True)); end; end; ISSSaoPaulo.Provider.pas
  9. Prezados, boa tarde! Ao realizar o envio de DPS para o ambiente nacional em operações de exportação de serviços (quando o cliente ou o intermediário é localizado no exterior), é obrigatório informar os dados de comércio exterior. Atualmente, o ambiente nacional permite que o grupo seja enviado mesmo com o campo “valor do serviço prestado” zerado. Entretanto, o método GerarXMLComercioExterior, localizado no arquivo PadraoNacional.GravarXml.pas, possui uma validação que somente preenche o grupo de comércio exterior quando o valor do serviço é maior que zero. Para viabilizar o envio da DPS e atender ao layout, realizei um ajuste no método para que a inclusão do grupo ocorra sempre que o campo tpMoeda for maior que zero, uma vez que esse campo é obrigatório. Erro retornado pelo emissor nacional: {"tipoAmbiente":2,"versaoAplicativo":"SefinNac_Pre_1.4.0","dataHoraProcessamento":"2025-12-04T13:01:54.9602862-03:00","idDPS":"DPS330455721190597100010500078000000000000106","erros":[{"Codigo":"E0330","Descricao":"É obrigatório prestar informações de comércio exterior para as situações de exportação de serviços."}]} Condição antiga: NFSe.Servico.comExt.vServMoeda Nova condição: NFSe.Servico.comExt.tpMoeda Encaminho em anexo o objeto ajustado. Solicito, por gentileza, avaliação quanto à possibilidade de disponibilizar essa alteração no repositório. PadraoNacional.GravarXml.pas
  10. Boa tarde, Pessoal, vocês conseguiram realizar o envio da NF-e para a SEFAZ contendo as novas especificações da NT 2023.004 v1.10? Pergunto, pois tentei realizar o envio da NF-e contendo os novos campos das informações do "Grupo YA. Informações de Pagamento", e a mesma rejeita os documentos como se o ambiente não tivesse sido atualizado, e no manual está informando que o ambiente de homologação receberia atualização a partir do dia 11/03/2024. - Rejeição ao enviar a NF-e com o XML contendo o campo dPag (Data do Pagamento). <?xml version="1.0" encoding="UTF-8"?> -<retEnviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <tpAmb>2</tpAmb> <verAplic>SVRS202402260951</verAplic> <cStat>225</cStat> <xMotivo>Rejeicao: Falha no Schema XML da NFe (Elemento: enviNFe/NFe[1]/infNFe/pag/detPag/dPag/)</xMotivo> <cUF>33</cUF> <dhRecbto>2024-03-12T15:25:51-03:00</dhRecbto> </retEnviNFe> - Rejeição ao enviar a NF-e com o XML sem o campo dPag (Data do Pagamento) e com os demais novos campos preenchidos. <?xml version="1.0" encoding="UTF-8"?> -<retEnviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <tpAmb>2</tpAmb> <verAplic>SVRS202402260951</verAplic> <cStat>225</cStat> <xMotivo>Rejeicao: Falha no Schema XML da NFe (Elemento: enviNFe/NFe[1]/infNFe/pag/detPag/CNPJPag/)</xMotivo> <cUF>33</cUF> <dhRecbto>2024-03-12T16:25:02-03:00</dhRecbto> </retEnviNFe> Desde já, muito obrigado.
  11. Boa tarde, Prezados, estou realizando o envio de nota de serviço para a prefeitura de Brasília/DF, e o modelo pelo manual deve ser 55. Sendo assim, necessito marcar o flag "GerarTagIPIparaNaoTributado" para falso (Para que as tags de IPI não sejam geradas). Utilizo o componente como objeto e não tenho como marcar este flag de forma alguma!! Poderiam me ajudar a marcar o flag, pois utilizando a classe "NotaFiscal" (em ACBrNFeNotasFiscais) não tenho acesso a variável "FNFeW" (onde fica o flag de forma privada). Posso criar uma "property" para esta variável, para subir no componente?
  12. Boa tarde, Estou com este problema para a nota de serviço de Brasília/DF, o modelo pelo manual deve ser 55 e necessito marcar o flag GerarTagIPIparaNaoTributado para falso. Utilizo o componente como objeto e não tenho como marcar este flag de forma alguma!! Poderiam me ajudar a marcar o flag, pois utilizando a classe NotaFiscal (em ACBrNFeNotasFiscais) não tenho acesso a variável FNFeW (onde fica o flag de forma privada). Posso criar uma property para esta variável, para subir no componente?
  13. Boa tarde, Prezados, poderiam me tirar uma dúvida? Existe algum cenário onde são geradas as tags de imposto do "IPI" para serviço? Pois dentro do objeto "pcnNFeW", no método "GerarDetImposto", existe a condição.: if (( NFe.Det.Imposto.ISSQN.cSitTrib <> ISSQNcSitTribVazio ) or (( NFe.infNFe.Versao > 3 ) and ( nfe.Det.Imposto.ISSQN.cListServ <> '' ))) then begin if NFe.infNFe.Versao >= 3 then (**)GerarDetImpostoIPI(i); (**)GerarDetImpostoISSQN(i); end else begin (**)GerarDetImpostoICMS(i); (**)GerarDetImpostoIPI(i); (**)GerarDetImpostoII(i); end; Obs.: Estou emitindo nota de serviço no modelo "55" para o distrito federal. E ao analisar o caso acima, fiquei em dúvida se existe o cenário, ou se é uma correção a ser realizada no componente. Atenciosamente.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.