Sim ronei ta 100%, vou te mostra minha configuracao para homologacao ok
procedure TfrmDemo_ACBrNFSe.btnGerarEnviarLoteClick(Sender: TObject);
var
vAux, vNumLote : String;
begin
if not(InputQuery('Gerar e Enviar Lote', 'Numero do RPS', vAux))
then exit;
if not(InputQuery('Gerar e Enviar Lote', 'Numero do Lote', vNumLote))
then exit;
ACBrNFSe1.NotasFiscais.Clear;
GerarNFSe(vAux);
ACBrNFSe1.Enviar(vNumLote);
Memo1.Lines.Add( ACBrNFSe1.WebServices.RecepcaoLoteRps );
Memo1.Lines.Add( ACBrNFSe1.WebServices.ConsLote.Protocolo );
Memo1.Lines.Add( ACBrNFSe1.WebServices.ConsSitLote.Protocolo );
Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.Protocolo );
Memo1.Lines.Add( DateToStr( ACBrNFSe1.NotasFiscais.Items[0].NFSe.dhRecebimento ) );
Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero );
Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao );
--------------------------------------------------------------------------------------
procedure TfrmDemo_ACBrNFSe.GerarNFSe(NumNFSe: String);
var
ValorISS: Double;
begin
ACBrNFSe1.NotasFiscais.Clear;
with ACBrNFSe1 do
begin
NotasFiscais.NumeroLote:='0001';
with NotasFiscais.Add.NFSe do
begin
IdentificacaoRps.Numero := FormatFloat('#########0', StrToInt(NumNFSe));
// Para o provedor ISS.NET em ambiente de Homologação mudar a série para '8'
IdentificacaoRps.Serie := '8';
// TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
IdentificacaoRps.Tipo := trRPS;
DataEmissao := Date;
// TnfseNaturezaOperacao = ( noTributacaoNoMunicipio, noTributacaoForaMunicipio, noIsencao, noImune, noSuspensaDecisaoJudicial, noSuspensaProcedimentoAdministrativo );
NaturezaOperacao := noTributacaoNoMunicipio;
// NaturezaOperacao := noTributacaoNoMunicipio51;
// TnfseRegimeEspecialTributacao = ( retNenhum, retMicroempresaMunicipal, retEstimativa, retSociedadeProfissionais, retCooperativa, retMicroempresarioIndividual, retMicroempresarioEmpresaPP );
// RegimeEspecialTributacao := retNenhum;
RegimeEspecialTributacao := retMicroempresaMunicipal;
// TnfseSimNao = ( snSim, snNao );
OptanteSimplesNacional := snSim;
// TnfseSimNao = ( snSim, snNao );
IncentivadorCultural := snSim;
// TnfseSimNao = ( snSim, snNao );
// snSim = Ambiente de Produção
// snNao = Ambiente de Homologação
Producao := snNao;
// TnfseStatusRPS = ( srNormal, srCancelado );
Status := srNormal;
(* Usando quando o RPS for substituir outro
RpsSubstituido.Numero := FormatFloat('#########0', i);
RpsSubstituido.Serie := 'UNICA';
// TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
RpsSubstituido.Tipo := trRPS;
*)
Servico.Valores.ValorServicos := 100.00;
Servico.Valores.ValorDeducoes := 0.00;
Servico.Valores.ValorPis := 0.00;
Servico.Valores.ValorCofins := 0.00;
Servico.Valores.ValorInss := 0.00;
Servico.Valores.ValorIr := 0.00;
Servico.Valores.ValorCsll := 0.00;
// TnfseSituacaoTributaria = ( stRetencao, stNormal, stSubstituicao );
// stRetencao = snSim
// stNormal = snNao
Servico.Valores.IssRetido := stNormal;
Servico.Valores.OutrasRetencoes := 0.00;
Servico.Valores.DescontoIncondicionado := 0.00;
Servico.Valores.DescontoCondicionado := 0.00;
Servico.Valores.BaseCalculo := Servico.Valores.ValorServicos -
Servico.Valores.ValorDeducoes -
Servico.Valores.DescontoIncondicionado;
Servico.Valores.Aliquota := 2.00;
if Servico.Valores.IssRetido = stNormal
then begin
ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;
ValorISS := 2.00;
// A função RoundTo5 é usada para arredondar valores, sendo que o segundo
// parametro se refere ao numero de casas decimais.
// exemplos: RoundTo5(50.532, -2) ==> 50.53
// exemplos: RoundTo5(50.535, -2) ==> 50.54
// exemplos: RoundTo5(50.536, -2) ==> 50.54
Servico.Valores.ValorIss := RoundTo5(ValorISS, -2);
Servico.Valores.ValorIssRetido := 0.00;
end
else begin
ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;
ValorISS := 2.00;
Servico.Valores.ValorIss := 0.00;
Servico.Valores.ValorIssRetido := RoundTo5(ValorISS, -2);
end;
Servico.Valores.ValorLiquidoNfse := Servico.Valores.ValorServicos -
Servico.Valores.ValorPis -
Servico.Valores.ValorCofins -
Servico.Valores.ValorInss -
Servico.Valores.ValorIr -
Servico.Valores.ValorCsll -
Servico.Valores.OutrasRetencoes -
Servico.Valores.ValorIssRetido -
Servico.Valores.DescontoIncondicionado -
Servico.Valores.DescontoCondicionado;
Servico.ItemListaServico := '105'; //'01.07';
// Para o provedor ISS.NET em ambiente de Homologação
// o Codigo CNAE tem que ser '6511102'
Servico.CodigoCnae := '6511102';
Servico.CodigoTributacaoMunicipio := '50000024'; //VARZEA GRANDE - MT pegue da sua cidade
//Servico.CodigoCnae := '6202300'; // Informação Opcional
//Servico.CodigoTributacaoMunicipio := '7221400'; //'118879';
Servico.Discriminacao := 'Aluguel de SoftWare'; //'discriminacao';
// Para o provedor ISS.NET em ambiente de Homologação
// o Codigo do Municipio tem que ser '999'
//Servico.CodigoMunicipio := edtCodCidade.Text;
Servico.CodigoMunicipio :='999';
// Informar A Exigibilidade ISS para fintelISS [1/2/3/4/5/6/7]
Servico.ExigibilidadeISS := exiExigivel;
// Informar para Saatri
Servico.CodigoPais := 1058; // Brasil
Servico.MunicipioIncidencia := StrToIntDef(edtCodCidade.Text, 0);
with Servico.ItemServico.Add do
begin
Descricao := 'SERVICO 1';
Quantidade := 1;
ValorUnitario := 100.00;
end;
Prestador.Cnpj := edtEmitCNPJ.Text;
Prestador.InscricaoMunicipal := edtEmitIM.Text;
// Para o provedor ISSDigital deve-se informar também:
Prestador.Senha := 'senha';
Prestador.FraseSecreta := 'frase secreta';
Prestador.cUF := 33;
Tomador.IdentificacaoTomador.CpfCnpj := '03953552000102';
//Tomador.IdentificacaoTomador.InscricaoMunicipal := '20370';
Tomador.IdentificacaoTomador.InscricaoMunicipal := '';
Tomador.RazaoSocial := 'NERY E ANDRADE NERY LTDA - ME';
Tomador.Endereco.Endereco := 'RUA PRINCIPAL';
Tomador.Endereco.Numero := '100';
Tomador.Endereco.Complemento := 'APTO 11';
Tomador.Endereco.Bairro := 'CENTRO';
Tomador.Endereco.CodigoMunicipio := edtCodCidade.Text;
Tomador.Endereco.UF := edtEmitUF.Text;
Tomador.Endereco.CEP := edtEmitCEP.Text;
Tomador.Contato.Telefone := '1122223333';
Tomador.Contato.Email := '
[email protected]';
(* Usando quando houver um intermediario na prestação do serviço
IntermediarioServico.RazaoSocial := 'razao';
IntermediarioServico.CpfCnpj := '00000000000';
IntermediarioServico.InscricaoMunicipal := '12547478';
*)
(* Usando quando o serviço for uma obra
ConstrucaoCivil.CodigoObra := '88888';
ConstrucaoCivil.Art := '433';
*)
end;
end;
end;
----------------------------------------------------
Qualqer duvida to ai blz.