Marcos_Muller Postado 23 Fevereiro Postado 23 Fevereiro 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; segue xml da nota em questão usado como exemplo nota exemplo.xml
Marcos_Muller Postado 23 Fevereiro Autor Postado 23 Fevereiro Na emissão da nota qual TAG devo informar a situação tributaria do PIS/COFINS pois esta sempre não informado.
Marcos_Muller Postado 23 Fevereiro Autor Postado 23 Fevereiro Resolvido, a ordem do CST na atualização do Acbr tinha mudado um pouco
Consultores Juliomar Marchetti Postado 23 Fevereiro Consultores Postado 23 Fevereiro Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br 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 !!
Recommended Posts