Manual de integração com o webservice
Portais Disponíveis
- Produção
- Homologação* (depende do município)
Métodos Disponíveis
- Envio.
- Síncrono.
- Consulta de NFSe.
- Cancelamento de NFSe.
Observações
- Formato de Autenticação: "Login=99999999999999;senha=123"
- Impressão de RPS pelo componente disponível.
- Caso o tomador seja órgão público informar o campo no campo DescricaoDocumentoTomador o valor "OP".
Consulta NFSe
A consulta de NFSe pode ser feita de duas formas:
- código verificador de autenticidade: informar o código verificador de autenticidade no parâmetro da consulta da nota.
- número da NFSe + série + IM: informar o número da NFSe no parâmetro da consulta da nota e no parâmetro extra informar a SerieNFSe, além das informações de login e senha. Ex: Login=00000000000000;Senha=123;SerieNFSe=1. O cadastro da IM é preenchido automaticamente.
Obs.: Para o Manager SaaS e eDoc é possível realizar a consulta de NFSe apenas pelo código verificador de autenticidade.
Cancelamento
- Para o Cancelamento é necessário utilizar a chave numeroNFSE|chaveCancelamento___
- No cancelamento, também é possível informar o parâmetro extra MotivoCancelamento. Ex: Login=00000000000000;Senha=123;MotivoCancelamento=Teste
- Por ser um valor obrigatório no XML, caso não seja informado nada no MotivoCancelamento o componente preenche com a seguinte mensagem: NFSe cancelada à pedido do prestador.
- Em alguns casos, ao informar algum valor no MotivoCancelamento, recebemos a seguinte mensagem no XML de retorno do cancelamento: "Erro na estrutura do arquivo XML enviado. Verifique a estrutura da tag NFSE". Passar o MotivoCancelamento em branco poderá resolver.
- Cidade Cascavel/PR não utiliza mais o cancelamento via WS. Para realizar o cancelamento é necessário entrar em contato com a prefeitura e solicitar o cancelamento via processo administrativo.
A partir do dia 01/06/2020 o padrão IPM possuirá a inclusão de múltiplas parcelas. O preenchimento no arquivo TX2 de integração fica conforme exemplo abaixo:
INCLUIRFORMAPAGAMENTO
TipoPagamento=1 -> Tipo da forma de Pagamento, verificar possíveis valores abaixo.
Parcela=1 -> Número da parcela
DataVencimentoParcela=2020-05-27 -> Data do vencimento da parcela, deve estar no formato yyyy-mm-dd
ValorParcela=2.00 -> Valor da parcela.
SALVARFORMAPAGAMENTO
Valores referentes ao tipo da forma de pagamento:
1 - À vista
2 - À prazo
3 - Na Apresentação
4 - Cartão de Débito
5 - Cartão de Crédito
Edoc/SaaS - Notas com situação Enviada : Motivo 00209 - Já consta uma NFSe para o referido prestador de serviço com o mesmo IDENTIFICADOR de arquivo
- Caso ocorra divergências entre a situação da nota na prefeitura (Autorizada) e em nosso produto (Enviada), o procedimento a ser realizado é informar o Código de Verificação da nota na rota de resolve, acrescentando o parâmetro cod_verificador_autenticidade, Exemplo: cod_verificador_autenticidade=1234
- Para encontrar a Código Verificador Autenticidade da nota, é necessário fazer o download do XML no portal da prefeitura e visualizar o conteúdo da tag "<cod_verificador_autenticidade>" .
Múltiplos Serviços para cidade Três Pontas-MG
- Situação tributária: Para informar a situação tributária diferente para cada serviço é necessário incluir no tx2 dentro do dataSet INCLUIRRPS e também nos dataSets INCLUIRSERVICO o campo Tributavel. Exemplo: Tributavel=2.
Múltiplos Serviços para cidade Rio do Sul - SC
- ISSQN: É utilizado o campo customizado ValorISS para a soma do ISS de cada item. Caso não possuir múltiplos serviços, este campo ficará com o valor do ISS do único item.
Geração do XML - Campos Importantes
- O código do serviço segue o que está descrito na LC-116.
- Caso não esteja utilizando o TecnoNFSe, o código deve ser informado sem pontuação.
- O campo CodigoCNAE não é utilizado no esquema. E o campo CodigoTributacaoMunicipio é facultativo.
- Caso não esteja utilizando o padrão único, a alíquota deve ser informada com o valor inteiro, utilizando ',' para separador decimal. Ex: Aliquota=5,00.
Campos customizados para a impressão
Impressão do RPS
- NomeFantasiaPrestador=String[80]
- RazaoSocialPrestador=String[80]
- EnderecoPrestador=String[80]
- CodigoCidadePrestador=String[10]
- UfPrestador=String[2]
- NumeroEnderecoPrestador=String[10]
- ComplementoEnderecoPrestador=String[20]
- BairroPrestador=String[20]
- CepPrestador=String[20]
- TelefonePrestador=String[40]
- EmailPrestador=String[40]
- InscricaoEstadualPrestador=String[15]
- DataVencimento=String[10]
- ValorTributoFederal=String[20]
- ValorTributoEstadual=String[20]
- ValorTributoMunicipal=String[20]
- PorcentagemTributoFederal=String[20]
- PorcentagemTributoEstadual=String[20]
- PorcentagemTributoMunicipal=String[20]
- ValorTotalIssrf=String[20]
- RetencaoPrevidenciaSocial=String[15]
Impressão da NFSe
A impressão de NFSe pode ser feita por um link retornado no envio e na consulta. Para obter esse link, basta utilizar o comando auxiliar ObterLinkImpressaoNFSe ou pode ser feita através do comando ObterPDF onde o PDF da nota é baixado, conforme exemplo abaixo:
Parâmetros:
- Xml de uma NFSe Autorizada.
- Caminho completo e o nome do PDF.
Exemplo de implementação:
procedure TfrmExemplo.btnObterPDFClick(Sender: TObject);
var
_nomeComando, _nomeParametro, _valorParametro, _resposta: string;
_XmlNFSe : TStringList;
begin
_XmlNFSe := TStringList.Create;
try
_nomeComando := 'ObterPDF';
_XmlNFSe.LoadFromFile(XMLNFSE);
_nomeParametro := 'XML';
_valorParametro := _XmlNFSe.Text;
NFSe.Comando(_nomeComando).Parametros[_nomeParametro] := _valorParametro;
_nomeParametro := 'CaminhoCompletoArquivo';
_valorParametro := 'H:\ImpressaoIPM.pdf';
NFSe.Comando(_nomeComando).Parametros[_nomeParametro] := _valorParametro;
_resposta := NFSe.Executar(_nomeComando);
finally
_XmlNFSe.Free;
end;
end;
Resposta:
'Impressão realizada na pasta: H:\ImpressaoIPM.pdf'
* Observação: Há cidades do padrão, no qual não retorna o link de impressão e a impressão é realizada pela Tecnospeed, porém é necessário informar os campos customizados.
Impressão da NFSe
- RazaoSocialPrestador=String[80]
- EnderecoPrestador=String[80]
- CodigoCidadePrestador=String[10]
- NumeroPrestador=String[10]
- ComplementoPrestador=String[20]
- BairroPrestador=String[20]
- CepPrestador=String[20]
- EmailPrestador=String[40]
- InscricaoMunicipalPrestador=String[40]
- ValorIss=String[40]
- BaseCalculo=String[40]
- ValorCSLL=String[40]
- OutrasRetencoes=String[40]
- DescontoIncondicionado=String[40]
- DescontoCondicionado=String[40]
- InscricaoEstadualPrestador=String[15]
- TelefonePrestador=String[40]
- OptanteSimplesNacional=String[1]
- DataVencimentoISS=String[10]
- ValorTributoFederal=String[20]
- ValorTributoEstadual=String[20]
- ValorTributoMunicipal=String[20]
- PorcentagemTributoFederal=String[20]
- PorcentagemTributoEstadual=String[20]
- PorcentagemTributoMunicipal=String[20]
- ValorTotalIssrf=String[20]
- NumeroNfse=String[20]
- CodVerificadorAutenticidade=String[50]
- DataEmissaoNfse=String[15]
- HoraEmissaoNfse=String[15]
- RetencaoPrevidenciaSocial=String[15]
Soluções Tecnospeed
- Componente NFSe: Release 8.7.50.X.
- Manager eDoc: Release 3.0.84.X.
Comentários
0 comentário
Por favor, entre para comentar.