Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Olá, tudo bem?

Estou com problemas para enviar notas para a Prefeitura de Mogi das Cruzes. Até a semana passada o sistema estava funcionando normalmente, porém nesta semana parou e está retornando o seguinte erro:

“Rejeitado pelas regras municipais: o Código de Tributação Nacional não pertence à lista de itens permitidos pela Prefeitura para este prestador.”

No entanto, eu já alterei o código de tributação e ele está correto. Testei diretamente no site da Prefeitura e consegui emitir a nota normalmente.

Fui me aprofundando nos testes e percebi o seguinte comportamento:
se eu tentar emitir a nota, ocorre esse erro; porém, se eu aguardar cerca de 5 minutos e tentar enviar novamente carregando o XML que já havia sido gerado, a Prefeitura aceita o mesmo XML sem que eu tenha alterado nada.

Vou deixar os XMLs para verificação:

  • 17695-ger-nfse (nota que foi emitida)

  • 17697-ger-nfse (nota recusada)

Já fiz de tudo, mas não consegui identificar o motivo pelo qual a nota é recusada na primeira tentativa.

No exemplo do ACBr, a emissão está funcionando normalmente. Já utilizei o componente de lá, copiei todo o código do exemplo e, nesse caso, o envio ocorre corretamente. Também já atualizei os schemas e realizei todos os testes possíveis.

código de envio:
 

  // SIL TECNOLOGIA (VIVAAER)
  dm_notasfiscais.q_nfse_emitente.Locate('apelido', dm_notasfiscais.q_nfse_individualemitente.AsString, []);

//  ACBrNFSeX1.NotasFiscais.Clear;
  ConfigurarCertificadoDigital;
//  ConfigurarArquivosNota;

  //DEFININDO A PASTA PARA GRAVAR XML E PDF DEPENDENDO DO EMITENTE
   var ArquivoINI := TIniFile.Create(ExtractFilePath(ParamStr(0)) + '\Arquivos\conf_nfse.ini');

   var pasta:= dm_notasfiscais.q_nfse_individualServicoCodigoMunicipio.AsString + '\'+
              dm_notasfiscais.q_nfse_individualNumero.AsString;

    if dm_notasfiscais.q_nfse_individualemitente.Value = 'VIVA AER' then
    begin
      with ACBrNFSeX1.Configuracoes.Arquivos do
      begin
//        Salvar := True;
        PathSalvar := ArquivoINI.ReadString('xml','viva','') + '\' + pasta + '\Logs';
        PathNFSe   := ArquivoINI.ReadString('xml','viva','') + '\' + pasta;
        PathRPS    := ArquivoINI.ReadString('xml','viva','') + '\' + pasta + '\Logs';
        PathGer    := ArquivoINI.ReadString('xml','viva','') + '\' + pasta + '\Logs';
      end;

      with ACBrNFSeX1.DANFSE do
      begin
        Logo           := ArquivoINI.ReadString('logo','vivaprefeituralogo','');
        Prefeitura     := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.xmunicipio').AsString;
        Prestador.Logo := ArquivoINI.ReadString('logo','vivalogo','');
      end;

      danfe1.PathPDF:=ArquivoINI.ReadString('xml','viva','') + '\' + pasta;
    end;

  ACBrNFSeX1.Configuracoes.Geral.CodigoMunicipio:= dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.CodigoMunicipio').AsInteger;
  ACBrNFSeX1.Configuracoes.Geral.Emitente.CNPJ:= dm_notasfiscais.q_nfse_emitentePrestadorCnpj.Value;
  ACBrNFSeX1.Configuracoes.Geral.Emitente.InscMun:= dm_notasfiscais.q_nfse_emitentePrestadorInscricaoMunicipal.Value;
  ACBrNFSeX1.Configuracoes.Geral.Emitente.RazSocial:= dm_notasfiscais.q_nfse_emitentePrestadorServicoRazaoSocial.Value;

  with ACBrNFSeX1 do
  begin
    NotasFiscais.NumeroLote := dm_notasfiscais.q_nfse_individualIdentificacaoRpsNumero.AsString;

    with NotasFiscais.New.NFSe do
    begin
      // Numero do DPS a ser gerado e enviado para o WebService
      Numero := IntToStr(dm_notasfiscais.q_nfse_individualIdentificacaoRpsNumero.Value);;

      verAplic := 'SistemaVA_v' + dmlogin.sistemarevisaoversao.Value;

      IdentificacaoRps.Numero := FormatFloat('#########0', dm_notasfiscais.q_nfse_individualIdentificacaoRpsNumero.Value);

      IdentificacaoRps.Serie := '999';

      DataEmissao := IncMinute(dm_notasfiscais.q_nfse_individualDataEmissao.value, -2);
      Competencia := Now;

      // TtpEmit = (tePrestador, teTomador, teIntermediario)
      tpEmit := tePrestador;

      {
        TnfseRegimeEspecialTributacao = (retNenhum, retCooperativa, retEstimativa,
                         retMicroempresaMunicipal, retNotarioRegistrador,
                         retISSQNAutonomos, retSociedadeProfissionais);
      }
      RegimeEspecialTributacao := retNenhum; //retISSQNAutonomos;

      // TOptanteSN = (osnNaoOptante, osnOptanteMEI, osnOptanteMEEPP)
      OptanteSN := osnNaoOptante; //osnOptanteMEEPP;


      if ACBrNFSeX1.Configuracoes.Geral.Provedor in [proSilTecnologia] then
      begin
            verAplic := 'SilTecnologia_v1.00';
            infNFSe.nNFSe := dm_notasfiscais.q_nfse_individual.FieldByName('numero').Value;
            Prestador.RazaoSocial  := dm_notasfiscais.q_nfse_emitente.FieldByName('PrestadorServico.RazaoSocial').Value;
            infNFSe.nDFSe := IntToStr(GerarCodigoNFSe(StrToIntDef(IdentificacaoRps.Numero, 1), 9));
            infNFSe.emit.Endereco.Endereco := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco').AsString;

        Emitente.IdentificacaoPrestador.CpfCnpj := dm_notasfiscais.q_nfse_emitente.FieldByName('Prestador.Cnpj').Value;
        Emitente.IdentificacaoPrestador.InscricaoMunicipal := dm_notasfiscais.q_nfse_emitente.FieldByName('Prestador.InscricaoMunicipal').Value;
        Emitente.RazaoSocial := dm_notasfiscais.q_nfse_emitente.FieldByName('PrestadorServico.RazaoSocial').Value;

        Emitente.Endereco.Endereco := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco').AsString;
        Emitente.Endereco.Numero := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.Numero').AsString;
        Emitente.Endereco.Complemento := '';
        Emitente.Endereco.Bairro := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.Bairro').AsString;
        Emitente.Endereco.xMunicipio := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.xmunicipio').AsString;
        Emitente.Endereco.UF := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.UF').AsString;
        Emitente.Endereco.CEP := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.CEP').AsString;
        Emitente.Endereco.CodigoMunicipio := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.CodigoMunicipio').AsString;

        Emitente.Contato.Telefone := StringReplace(dm_notasfiscais.q_nfse_emitente.FieldByName('Contato.telefone').AsString, '-', '', [rfReplaceAll]);
        Emitente.Contato.Email := dm_notasfiscais.q_nfse_emitente.FieldByName('Contato.Email').AsString;
//        Configuracoes.Geral.Versao := ve101;

        infNFSe.Valores.BaseCalculo := dm_notasfiscais.q_nfse_individual.FieldByName('BaseCalculo').Value;
        infNFSe.Valores.Aliquota := dm_notasfiscais.q_nfse_individual.FieldByName('Aliquota').Value;
        infNFSe.Valores.ValorIss := dm_notasfiscais.q_nfse_individual.FieldByName('ValorIss').Value;
        infNFSe.Valores.vTotalRet := 0;
        infNFSe.Valores.ValorLiquidoNfse := dm_notasfiscais.q_nfse_individual.FieldByName('ValorLiquidoNfse').Value;
        infNFSe.dhProc := Now;

      end;

//      if ACBrNFSeX1.Configuracoes.Geral.Provedor in [proCitta, proSilTecnologia] then
//      begin
//        {
//          Dados necessários para os provedores indicados acima pois eles
//          requerem que seja enviado o XML da NFS-e em vez do XML da DPS.
//        }
//        infNFSe.nNFSe := '0';
//        infNFSe.nDFSe := IntToStr(GerarCodigoNFSe(StrToIntDef(IdentificacaoRps.Numero, 1), 9));
//        infNFSe.dhProc := Now;
//
//        // agPrefeitura, agSistemaNacional
//        infNFSe.ambGer := agPrefeitura;
//        // tePadraoNacional, teProprio
//        infNFSe.tpEmis := teProprio;
//
//        // Valores
//        infNFSe.Valores.BaseCalculo := 0;
//        infNFSe.Valores.Aliquota := 0;
//        infNFSe.Valores.ValorIss := 0;
//        infNFSe.Valores.vTotalRet := 0;
//        infNFSe.Valores.ValorLiquidoNfse := 100.35;
//
//        Emitente.IdentificacaoPrestador.CpfCnpj := edtEmitCNPJ.Text;
//        Emitente.IdentificacaoPrestador.InscricaoMunicipal := edtEmitIM.Text;
//        Emitente.RazaoSocial := edtEmitRazao.Text;
//
//        Emitente.Endereco.Endereco := edtEmitLogradouro.Text;
//        Emitente.Endereco.Numero := edtEmitNumero.Text;
//        Emitente.Endereco.Complemento := edtEmitComp.Text;
//        Emitente.Endereco.Bairro := edtEmitBairro.Text;
//        Emitente.Endereco.xMunicipio := edtEmitCidade.Text;
//        Emitente.Endereco.UF := edtEmitUF.Text;
//        Emitente.Endereco.CEP := edtEmitCEP.Text;
//        Emitente.Endereco.CodigoMunicipio := edtCodCidade.Text;
//
//        Emitente.Contato.Telefone := '1633445566';
//        Emitente.Contato.Email := '[email protected]';
////        Configuracoes.Geral.Versao := ve101;
//      end;

      {=========================================================================
        Dados do Serviço
      =========================================================================}

      Servico.ItemListaServico := dm_notasfiscais.q_nfse_individual.FieldByName('ItemListaServico').Value;

      Servico.CodigoNBS := dm_notasfiscais.q_nfse_individual.FieldByName('codigo_nbs').Value;

      Servico.Discriminacao := StringReplace( dm_notasfiscais.q_nfse_individual.FieldByName('Discriminacao').Value, #13, '|', [rfReplaceAll] );

//      Servico.CodigoTributacaoMunicipio := '001';

      Servico.CodigoMunicipio := dm_notasfiscais.q_nfse_individual.FieldByName('Servico.CodigoMunicipio').Value;
      Servico.CodigoPais := 1058; // Brasil

     {=========================================================================
        Dados do Serviço (valores)
      =========================================================================}

      Servico.Valores.ValorServicos := dm_notasfiscais.q_nfse_individual.FieldByName('ValorServicos').Value;
      Servico.Valores.ValorDeducoes := dm_notasfiscais.q_nfse_individual.FieldByName('ValorDeducoes').Value;
      Servico.Valores.Aliquota := dm_notasfiscais.q_nfse_individual.FieldByName('Aliquota').Value;

      Servico.Valores.DescontoIncondicionado := dm_notasfiscais.q_nfse_individual.FieldByName('valor_descontoincondicionado').Value;
      Servico.Valores.DescontoCondicionado := dm_notasfiscais.q_nfse_individual.FieldByName('valor_descontocondicionado').Value;

//      Servico.Valores.tribMun.cPaisResult := 0;
      // TtribISSQN = (tiOperacaoTributavel, tiImunidade, tiExportacao, tiNaoIncidencia);
//      Servico.Valores.tribMun.tribISSQN := tiNaoIncidencia; //tiOperacaoTributavel;
//      Servico.Valores.tribMun.tpImunidade := timNenhum;
//      Servico.Valores.tribMun.tpRetISSQN := trNaoRetido;
//      Servico.Valores.totTrib.indTotTrib := indNao;

//      if OptanteSN = osnNaoOptante then
//      begin
//        Servico.Valores.totTrib.indTotTrib := indSim;
//        Servico.Valores.totTrib.pTotTribSN := 2;
//      end;

      {
         Só devem ser informados se o Prestador não for Simples Nacional
      }
      {
      Servico.Valores.tribFed.CST := cst01;
      Servico.Valores.tribFed.vBCPisCofins := Servico.Valores.ValorServicos -
                                         Servico.Valores.ValorDeducoes -
                                         Servico.Valores.DescontoIncondicionado;

      Servico.Valores.tribFed.pAliqPis := 0; //1.65;
      Servico.Valores.tribFed.pAliqCofins := 0; //7.60;
      Servico.Valores.tribFed.vPis := Servico.Valores.tribFed.vBCPisCofins *
                                      Servico.Valores.tribFed.pAliqPis / 100;
      Servico.Valores.tribFed.vCofins := Servico.Valores.tribFed.vBCPisCofins *
                                    Servico.Valores.tribFed.pAliqCofins / 100;
      Servico.Valores.tribFed.tpRetPisCofins := trpcNaoRetido;

      Servico.Valores.totTrib.vTotTribFed := Servico.Valores.tribFed.vPis +
                                             Servico.Valores.tribFed.vCofins;
      Servico.Valores.totTrib.vTotTribEst := 0;
      Servico.Valores.totTrib.vTotTribMun := 0;
      }

      {=========================================================================
        Dados do Prestador de Serviço
      =========================================================================}
      Prestador.IdentificacaoPrestador.CpfCnpj := dm_notasfiscais.q_nfse_emitente.FieldByName('Prestador.Cnpj').Value;
//      Prestador.IdentificacaoPrestador.InscricaoMunicipal := edtEmitIM.Text;
//      Prestador.IdentificacaoPrestador.CAEPF := '12345678901234';

      Prestador.cUF := 35;

      Prestador.Endereco.CodigoMunicipio := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.CodigoMunicipio').AsString;

      Prestador.Endereco.Endereco := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco').AsString;
      Prestador.Endereco.Numero := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.Numero').AsString;
      Prestador.Endereco.Complemento := '';
      Prestador.Endereco.Bairro := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.Bairro').AsString;
      Prestador.Endereco.xMunicipio := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.xmunicipio').AsString;
      Prestador.Endereco.UF := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.UF').AsString;
      Prestador.Endereco.CEP := dm_notasfiscais.q_nfse_emitente.FieldByName('Endereco.CEP').AsString;

      Prestador.Contato.Telefone := StringReplace(dm_notasfiscais.q_nfse_emitente.FieldByName('Contato.telefone').AsString, '-', '', [rfReplaceAll]);
      Prestador.Contato.Email := dm_notasfiscais.q_nfse_emitente.FieldByName('Contato.Email').AsString;

      {=========================================================================
        Dados do Tomador de Serviço
      =========================================================================}

      Tomador.AtualizaTomador := snNao;
      Tomador.TomadorExterior := snNao;

      Tomador.IdentificacaoTomador.CpfCnpj := dm_notasfiscais.q_nfse_individual.FieldByName('CpfCnpj').AsString;
      Tomador.IdentificacaoTomador.InscricaoMunicipal := dm_notasfiscais.q_nfse_individual.FieldByName('inscricao_municipal').AsString;
      Tomador.IdentificacaoTomador.InscricaoEstadual := dm_notasfiscais.q_nfse_individual.FieldByName('InscricaoEstadual').AsString;
      Tomador.IdentificacaoTomador.CAEPF := '';

      Tomador.RazaoSocial := dm_notasfiscais.q_nfse_individual.FieldByName('tomador.RazaoSocial').AsString;

      Tomador.Endereco.TipoLogradouro := dm_notasfiscais.q_nfse_individual.FieldByName('TipoLogradouro').AsString;
      Tomador.Endereco.Endereco := dm_notasfiscais.q_nfse_individual.FieldByName('Tomador.Endereco').AsString;
      Tomador.Endereco.Numero := dm_notasfiscais.q_nfse_individual.FieldByName('Endereco.Numero').AsString;
//      Tomador.Endereco.Complemento := 'APTO 11';
      Tomador.Endereco.TipoBairro := 'BAIRRO';
      Tomador.Endereco.Bairro := dm_notasfiscais.q_nfse_individual.FieldByName('Bairro').AsString;
      Tomador.Endereco.CodigoMunicipio := dm_notasfiscais.q_nfse_individual.FieldByName('CodigoMunicipio').AsString;
      Tomador.Endereco.xMunicipio := dm_notasfiscais.q_nfse_individual.FieldByName('xMunicipio').AsString;
      Tomador.Endereco.UF := dm_notasfiscais.q_nfse_individual.FieldByName('UF').AsString;
      Tomador.Endereco.CodigoPais := dm_notasfiscais.q_nfse_individual.FieldByName('CodigoPais').AsInteger;
      Tomador.Endereco.CEP := StringReplace(dm_notasfiscais.q_nfse_individual.FieldByName('CEP').AsString, '-', '', [rfReplaceAll]);
      Tomador.Endereco.xPais := dm_notasfiscais.q_nfse_individual.FieldByName('xpais').AsString;

      Tomador.Contato.Telefone := StringReplace(dm_notasfiscais.q_nfse_individual.FieldByName('Telefone').AsString, '-', '', [rfReplaceAll]);
      Tomador.Contato.Email := dm_notasfiscais.q_nfse_individual.FieldByName('Email').AsString;
    end;
  end;

  var numero := ACBrNFSeX1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero;
  ACBrNFSeX1.Emitir(numero, meUnitario);

 

Desde já, agradeço caso alguém consiga me ajudar.

Rodrigo
TI – VivaAer

17695-ger-nfse.xml 17697-ger-nfse.xml

  • Este tópico foi criado há 134 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.