Ir para conteúdo
  • Cadastre-se

dev botao

Cancelamento com provedor CONAM


almp1
  • Este tópico foi criado há 2778 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá amigos,

Para o cancelamento de NF usando o provedor CONAM é necessário as seguintes informações

Numero da NF
Serie da NF
Numero do RPS
Serie do RPS
Valor total da Nota
Motivo do cancelamento

Percebi que no método de cancelamento da nota no arquivo pnfsNFSeG.pas a serie da nota estava fixa no código 

Gerador.wGrupoNFSe('SerieNota>' + 'NFSE' + '</SerieNota');

Alterei conforme abaixo pois percebi que a serie da NFSe retornada pelo provedor muda por algum motivo (desconhecido).

Gerador.wGrupoNFSe('SerieNota>' + SeriePrestacao + '</SerieNota');


Porém para que a mudança fosse efetiva, foi necessário alterar os arquivos pnfsNFSeR.pas para que a leitura do xml contemplasse a tag SerNf. também no ACBrNFSeWebServices.pas foi necessário repassar este valor para o método que constrói a mensagem do xml de cancelamento.

Segue os arquivos alterados, caso tenham alguma dúvida estou a disposição.

Abraços.

ACBrNFSeWebServices.pas

pnfsNFSeG.pas

pnfsNFSeR.pas

André Medeiros

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Olá Italo, tudo bem ?

Precisei fazer um ajuste no arquivo pnfsNFSeG.pas substituindo as linhas abaixo para podermos efetivar o cancelamento das notas

De

Gerador.wGrupoNFSe('SerieNota>' + SeriePrestacao + '</SerieNota');

Para

Gerador.wGrupoNFSe('SerieNota>' + SerieNFSe + '</SerieNota');

Segue o arquivo alterado anexo

Abraços

pnfsNFSeG.pas

André Medeiros

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite André,

Notei que o seu fonte esta desatualizado, por favor atualize primeiro todos os seus fontes e depois faça novos testes e se for a questão aplique a sua alteração.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

Olá Pessoal

O provedor CONAM possibilita que façamos o cancelamento do RPS mesmo antes de emitir a NF. Acredito que isso seja possível em outros provedores também.

Porém o método para o cancelamento do RPS é o mesmo para transmissão. A unica mudança é a tag TipoNFS que deve mudar de RPS para RPC. Para isso fiz a seguinte mudança no arquivo pnfsNFSeW_CONAM.pas

 

 if FNFSe.Status = srNormal then
    Gerador.wCampoNFSe(tcStr, '', 'TipoNFS', 01, 3, 1, 'RPS' , '')
  else
    Gerador.wCampoNFSe(tcStr, '', 'TipoNFS', 01, 3, 1, 'RPC' , '');

Estou mandando o pas anexo para averiguação.

Abraços,

André Medeiros

Link para o comentário
Compartilhar em outros sites

Olá Pessoal,

Só para completar a alteração anterior segue observação do manual Conam para a TAG TipoNFS

Valore aceitos: 'RPS' e 'RPC'.
RPS - Indica que o documento enviado é um RPS que deverá ser convertido numa nota fiscal eletrônica.
RPC indica que o documento enviado é um Recibo Provisório Cancelado. Este documento não é convertido
em nota eletrônica. É apenas um indicador de que este número foi cancelado pelo contribuinte e não deve
gerar nota. Toda sequência de RPS cancelada obrigatoriamente deve ser informada..
Para o tipo RPC só devem ser informados os seguintes campos definidos mais adiante::
<NumRps>
<SerRps>
<DtEmi>
Os demais dados são ignorados mesmo se informados.
Para fins de totalização do registro 90 só devem ser considerados os valores do tipo de documento RPS.

Por isso foi necessário fazer uma pequena alteração no arquivo ACBrNFSeWebServices.pas

        if FProvedor = proCONAM  then
        begin
          AliquotaIss := FNotasFiscais.Items[0].NFSe.Servico.Valores.Aliquota;
          if FNotasFiscais.Items[0].NFSe.Status = srNormal then
            begin
              TipoTributacao := '4';
              QtdTributos    := iTributos;
              ValorNota      := TotalServicos;
              ValorIss       := TotalIss;
              ValorIssRetido := TotalIssRetido;
              ValorTotalDeducoes := TotalDeducoes;
              ValorTotalTributos := TotalTributos;
              {Todo:// Acrescentados estas duas linhas abaixo por masl}
              ExigibilidadeISS:=FNotasFiscais.Items[0].NFSe.Servico.ExigibilidadeISS;
              DataOptanteSimples:=FNotasFiscais.Items[0].NFSe.DataOptanteSimplesNacional;
            end
          else
            ValorTotalServicos := 0;
        end;

Segue arquivo aletrado abaixo.

Abraços

ACBrNFSeWebServices.pas

André Medeiros

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Consultores

Boa tarde André,

Como o seu fonte esta desatualizado, não tive como realizar o merge.

Por favor atualize os fontes e aplique novamente a sua alteração.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2778 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...