Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Bom dia, notei hoje um problema considerado grave, a parte das tributações da nota estão sempre vazias, mesmo informando que o pis e cofins vão ser retidos e que o issqn não é considerado imunidade
segue minha procedure pra fins de conferencia, caso esteja passando algo despercebido.



 

procedure padraonacional;
var
  strDDD: string;
  strTel: string;
  i: Integer;
  Telefone : string;
  teste : boolean;
  TeveReducao,TemDiferimento : boolean;
    totalibs,totalcbs,totalibsMun,totalis,totalbc_ibscbs:double;
  totaldifIBS,totaldifCBS,totaldifIBSMUN:double;
  valorteste : double;
begin
  with frmconsultanfse_X do
  begin


   with ACBrNFSeX1 do
   begin
    NotasFiscais.NumeroLote := vNumLote;

    with NotasFiscais.New do
    begin
     with NFSe do
      begin

        case ACBrNFSeX1.Configuracoes.WebServices.ambiente of
            taProducao : Producao := snSim;
            taHomologacao : producao := snNao;
        end;

        cLocEmi := qryparametroIBGE.value;

        // Numero do DPS a ser gerado e enviado para o WebService
        Numero := FormatFloat('#########0', qryconsultanumero.value);

        verAplic := 'ACBrNFSeX-1.00';

        IdentificacaoRps.Numero := FormatFloat('#########0', qryconsultanumero.value);

        IdentificacaoRps.Serie := dtmDados.serie_nfse;

        DataEmissao := qryconsultahorario.value;
        Competencia := qryconsultahorario.value;

        InformacoesComplementares := qryConsultaOUTRAS_INF.Value;


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

        // TOptanteSN = (osnNaoOptante, osnOptanteMEI, osnOptanteMEEPP)
        IF qryparametroSIMPLES.VALUE = 'S' THEN
         OptanteSn := osnOptanteMEEPP else
        OptanteSN := osnNaoOptante; //osnOptanteMEEPP;

       case strtoint(copy(trim(qryConsultaNATUREZA_OP.VALUE),0,2))  of
         0  : NaturezaOperacao := no0;
         1  : NaturezaOperacao := no1;
         2  : NaturezaOperacao := no2;
         3  : NaturezaOperacao := no3;
         4  : NaturezaOperacao := no4;
         5  : NaturezaOperacao := no5;
         6  : NaturezaOperacao := no6;
         7  : NaturezaOperacao := no7;
         8  : NaturezaOperacao := no8;
         9  : NaturezaOperacao := no9;
         10 : NaturezaOperacao := no10;
         15 : NaturezaOperacao := no15;
       end;

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

        //Servico.CodigoMunicipioLocalPrestacao := qryparametroIBGE.AsInteger;
        Servico.ItemListaServico := QryItensServicoITEM_LISTA.value;
        Servico.CodigoCnae :=   StringReplace(StringReplace(QryItensServicoCOD_SERVICO.value,'/','',[rfReplaceAll]),'-','',[rfReplaceAll]);
        Servico.CodigoNBS := QryItensServicoCODIGO_NBS.AsString;

        Servico.Discriminacao := qryConsultaDISCRIMINACAO.value;
        Servico.CodigoMunicipio := inttostr(ACBrNFSeX1.Configuracoes.Geral.CodigoMunicipio);

        Servico.CodigoPais := 1058; // Brasil

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

        Servico.Valores.ValorServicos := qryConsultaVALOR_TOTAL.value;
        Servico.Valores.ValorDeducoes := qryConsultaDEDUCOES_P_LEI.VALUE;
        Servico.Valores.Aliquota := qryConsultaALIQ.VALUE;

        Servico.Valores.DescontoIncondicionado := qryConsultaDESCONTOS_INC.VALUE;
        Servico.Valores.DescontoCondicionado := qryConsultaDESCONTO_COND.VALUE;


        // TtribISSQN = (tiOperacaoTributavel, tiImunidade, tiExportacao, tiNaoIncidencia);
        Servico.Valores.tribMun.tribISSQN := StrTotribISSQN(teste,qryConsultaTRIBISSQN.AsString); //tiOperacaoTributavel;

        Servico.Valores.tribMun.tpImunidade := StrTotpImunidade(teste,qryConsultaTIPO_IMUNIDADE.AsString);

        Servico.Valores.tribMun.tpRetISSQN := StrTotpRetISSQN(teste,qryConsultaRET_TOMADOR.AsString);

        Servico.Valores.totTrib.indTotTrib := indNao;
        Servico.MunicipioIncidencia := qryparametroIBGE.AsInteger;
        Servico.CodigoMunicipioLocalPrestacao := qryparametroIBGE.AsInteger;

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

        RegimeEspecialTributacao := TnfseRegimeEspecialTributacao(qryConsultaREGIME_ESPECIAL.asinteger); //retISSQNAutonomos;
        {
           Só devem ser informados se o Prestador não for Simples Nacional
        }
        IF trim(qryparametroSIMPLES.VALUE) = 'N' THEN
         begin
             case qryConsultaCST.VALUE of
             0  : Servico.Valores.tribFed.CST := TCST(0);
             1  : Servico.Valores.tribFed.CST := TCST(1);
             2  : Servico.Valores.tribFed.CST := TCST(2);
             3  : Servico.Valores.tribFed.CST := TCST(3);
             4  : Servico.Valores.tribFed.CST := TCST(4);
             5  : Servico.Valores.tribFed.CST := TCST(5);
             6  : Servico.Valores.tribFed.CST := TCST(6);
             7  : Servico.Valores.tribFed.CST := TCST(7);
             8  : Servico.Valores.tribFed.CST := TCST(8);
             9  : Servico.Valores.tribFed.CST := TCST(9);
             end;
          if Servico.Valores.tribFed.CST <> TCST(0) then
          Servico.Valores.tribFed.vBCPisCofins := qryConsultaBASE_CALCULO.value;

          //calculo pis cofins
          Servico.Valores.tribFed.pAliqPis := qryConsultaALQUOTA_PIS.value; //1.65;

          Servico.Valores.tribFed.pAliqCofins := qryConsultaALIQUOTA_COFINS.value; //7.60;

          Servico.Valores.tribFed.vPis := qryConsultaTRIB_PIS.value;

          Servico.Valores.tribFed.vCofins := qryConsultaTRIB_COFINS.value;

          Servico.Valores.tribFed.tpRetPisCofins := TtpRetPisCofins(qryConsultaTIPORETPISCOFINS.value);

          Servico.Valores.totTrib.vTotTribFed := Servico.Valores.tribFed.vPis +
                                                 Servico.Valores.tribFed.vCofins + 0.000001;
          Servico.Valores.totTrib.vTotTribEst := 0;
          Servico.Valores.totTrib.vTotTribMun := qryConsultaVALOR_ISS.value;

         


          {=========================================================================
            Dados do Prestador de Serviço
          =========================================================================}
          Prestador.IdentificacaoPrestador.CpfCnpj := qryparametroCGC.value;
         end;
          Prestador.contato.Email := qryparametroE_MAIL.value;
          Prestador.IdentificacaoPrestador.CpfCnpj := qryparametroCGC.value;


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

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

        Tomador.IdentificacaoTomador.CpfCnpj := qryConsultaCPF_CLI.VALUE;
        Tomador.IdentificacaoTomador.InscricaoMunicipal := '';
        Tomador.IdentificacaoTomador.InscricaoEstadual := qryConsultaIE_cli.VALUE;
        Tomador.IdentificacaoTomador.CAEPF := '';

        Tomador.RazaoSocial              := qryConsultaNOME_CLI.VALUE;
        Tomador.Endereco.Endereco        := qryConsultaENDERECO_CLI.VALUE;
        Tomador.Endereco.Numero          := qryConsultaNEND_CLI.VALUE;
        Tomador.Endereco.Complemento     := '';
        Tomador.Endereco.Bairro          := qryConsultabairro_cli.VALUE;
        Tomador.Endereco.TipoBairro := 'BAIRRO';
        Tomador.Endereco.CodigoMunicipio := qryConsultaIBGE_CLI.value;
        Tomador.Endereco.xMunicipio := qryConsultaCIDADE_CLI.value;
        Tomador.Endereco.UF := qryConsultaUF_CLI.value;
        Tomador.Endereco.CodigoPais := 1058; // Brasil
        Tomador.Endereco.CEP := qryConsultaCEP_CLI.value;
        Tomador.Endereco.xPais := 'BRASIL';

        Tomador.Contato.Telefone := qryConsultaFONE_CLI.value;
        Tomador.Contato.Email := qryConsultaEMAIL_CLI.asstring;

        if qryparametroREFORMA.value = 1 then
        begin
          IBSCBS.finNFSe := fnfsRegular;
          IBSCBS.indFinal := ifSim;
          IBSCBS.tpEnteGov := tcgNenhum;
          // idTomadorAdquirenteDestinatarioIguais, idTomadorAdquirenteIguais,
          IBSCBS.indDest := idTomadorAdquirenteDestinatarioIguais;
          IBSCBS.valores.trib.gIBSCBS.cClassTrib := qryConsultaCCLASSTRIB.Value;
          IBSCBS.valores.trib.gIBSCBS.cCredPres := cpNenhum;

          IBSCBS.valores.trib.gIBSCBS.gTribRegular.CSTReg := cstNenhum;
          IBSCBS.valores.trib.gIBSCBS.gTribRegular.cClassTribReg := '';

//          IBSCBS.valores.trib.gIBSCBS.gDif.pDifUF := qryconsultaALIQ_IBS_DIF.Value;
//          IBSCBS.valores.trib.gIBSCBS.gDif.pDifMun := qryConsultaALIQ_IBSMUN_DIF.Value;
//          IBSCBS.valores.trib.gIBSCBS.gDif.pDifCBS := qryConsultaALIQ_CBS_DIF.Value;
        end;
      end;
    end;
   end;
  end;

end;

 

image.png

image.png

image.png

segue xml da nota em questão usado como exemplo


nota exemplo.xml

  • Consultores
Postado

Obrigado por reportar.

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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.