Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Cidade Morro da Fumaça IPM


Ver Solução Respondido por Diogo Loff,

Recommended Posts

Boa tarde, já tem mais de um ano que a Prefeitura de Morro da Fumaça / SC, trocou o sistema da Betha pelo IPM. Sempre que realizo a atualização do acbr tenho que atualizar o arquivo ACBrNFSeXServicos.ini.

Segue as informações corretas da cidade.

Nome=Morro da Fumaca
UF=SC
Provedor=IPM
Versao=1.01
ProRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe
HomRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe

 

Além disto sempre tem duas correções que são necessárias fazer no componente. Componente atualizado 09/01/2024 e ainda permance a situação.

Correção 1:

IPM.GravarXML.pas

function TNFSeW_IPM.GerarXml: Boolean;

Apartir da linha 132, precisa de um identificador diferente para quando esta em homologação, como sabemos o IPM não tem homologação em alguns municípios, e é obrigatório usar o ambiente de produção, ocorre que a além da tag nfse_teste que deve ser informada, é ideal que a tag do identidicador seja diferente do produção, porque?

Vou dar o exemplo do Morro da Fumaça, eles não permitem usar uma série diferente da de produção, então se você realiza testes com o identificador igual ao de produção, a numeração da nota de teste com a nota de produção começa conflitar, e o cliente perde a sequencia da NF. Como sugestão aqui eu fixei quando esta em testes para que o identificado seja "'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie", e isto tem me permitido realizar os testes sem bagunçar os dados do cliente lá na prefeitura.

 

Aqui esta o bloco alterado:

if (VersaoNFSe in [ve100, ve101]) and (Ambiente = taHomologacao) then
begin
    if not FpNaoGerarGrupoRps then
      NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0,
        'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, ''));

    NFSeNode.AppendChild(AddNode(tcStr, '#3', 'nfse_teste', 1, 1, 1, '1', ''));
end
else
begin
    if not FpNaoGerarGrupoRps then
      NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0,
        'nfse_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, ''));
end;

 

Correção 2:

IPM.LerXml.pas

procedure TNFSeR_IPM.LerNota(const ANode: TACBrXmlNode);

Não esta alimentando a competencia que vem automático pela prefeitura. Adicionar no corpo do procedimento:

Competencia := StrToDateDef(ObterConteudo(AuxNode.Childrens.FindAnyNs('data_fato'), tcStr), 0);

 

Agradeço se puderem implementar estas questões, pois a cada atualização que realizo do Acbr acabo tendo que sempre conferir estes itens e ajustar.

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Poderia anexar os arquivos alterados para avaliação?

Obrigado.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Criada a TK-4960 para avaliação.

Obrigado pela contribuição.

  • Curtir 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Diogo,

Esta correta a ordem das tags?

No caso de homologação a tag <nfse_teste> vem depois da tag <identificador> (antes estava o inverso) ?

Abaixo temos um fragmento do manual que mostra a tag <nfse_teste> mas infelizmente não mostra a tag <identificador>.

image.png

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

4 horas atrás, Italo Giurizzato Junior disse:

Boa tarde Diogo,

Esta correta a ordem das tags?

No caso de homologação a tag <nfse_teste> vem depois da tag <identificador> (antes estava o inverso) ?

Abaixo temos um fragmento do manual que mostra a tag <nfse_teste> mas infelizmente não mostra a tag <identificador>.

image.png

Oi Italo, na realidade ali a ordem não interfere, o idendificador pode vir depois não tem problema. A questão mesmo é que o identificador precisa ser diferente se não acaba misturando numeração com a oficial do cliente. Como coloquei ali eu adicionei um "h" no identificador para distinguir o teste, pois eles não aceitam a série diferente, em fim vai entender. O IPM é precario em documentação, diria um dos mais, e tem questões que depois de muito tempo bater cabeça com o suporte deles você acaba resolvendo.

Mas em fim isto já ta rodando a bastante tempo, e não tenho tido problemas, aqui esta o print de como fica no envio o RPS e depois como Retorna deles.

Se por acaso você envia em testes com o mesmo identificador do produção, começa misturar notas com do cliente, um exemplo. Digamos que eu na minha base de testes esteja com numeração inferior a do cliente, quando eu gero meu teste e o identificador é o mesmo de produção, acaba dando problema de RPS já informado e se consulta vem a nota que o cliente emitiu lá em produção anteriormente. Agora ao contrário, se por acaso você esta com númeração acima do cliente e faz o teste ai o pepino é maior, porque quando o cliente atinge o mesmo número ele não consegue mais seguir, trava a sequencia, e só ligando para prefeitura e IPM para resolver.

Agora se no teste você também gera com um indentificador diferente ai este problema fica resolvido.

 

Segue anexo os prints de como fica.

NFSe.png

RPS.png

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.