Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • 2 semanas depois ...
Postado

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

  • 5 meses depois ...
Postado

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

Postado

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

  • 4 semanas depois ...
  • Este tópico foi criado há 2798 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.