Tópicos deste artigo
- Manual do webservice
- Portais disponíveis
- Métodos disponíveis
- Tipo de impressão
- Observações gerais
- Observações específicas por cidade
- Emissão pelo PlugNotas
- Emissão pelo ManagerEDoc/ManagerSaaS
- Emissão pelo Componente NFSe
- Observações sobre a geração do XML
- Erros comuns
- Campos customizados para a impressão do RPS
- Campos customizados para a impressão da NFSe
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.
- Não necessita envio sequencial.¹
- Não aceita envio de lote de RPS.
- Consulta de NFSe.
- Cancelamento de NFSe.
¹Não necessita que as notas sejam enviadas de forma sequencial
Tipo de impressão
- A impressão é feita via link da prefeitura.¹
¹ Nossos produtos realizam o download do PDF da NFSe que foi gerado pela própria prefeitura.
Observações gerais
- Padrão exige que o prestador solicite autorização para emitir via WebService. A Solicitação deve ser feita a prefeitura do prestador.
- É necessário preencher os parâmetros "Login" e "Senha" nas configurações de Autenticação da Prefeitura com o Login e Senha de acesso ao portal da prefeitura.
Dúvidas sobre o preenchimento, clique aqui. - 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".
- Tomador Estrangeiro - Em emissões para tomador estrangeiro é necessário solicitar o cadastro do tomador junto a prefeitura ou suporte do padrão IPM pelo contato: (047) 3531-1500 ramal: 2
- 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.
-
O padrão IPM20 possui 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
Cancelamento de NFSe
- 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.
Observações especificas por cidade
Cidade | Observação |
Três Pontas/MG |
|
Rio do Sul/SC |
|
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.
- A Tag situacao_tributaria atualmente é preenchido automaticamente pelos nossos produtos, levando em conta os outros campos informados (Clique aqui para acessar as orientações de como preencher os campos para envio correto da Situação Tributária). Caso o cliente opte por preencher esse campo manualmente, é possível através do campo SituacaoTributaria no tx2. Os números referentes ao preenchimento podem ser vistos na pg 23 do manual da IPM.
Erros comuns
-
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), será necessário ativar a opção "Retornar XML Completo" no portal da prefeitura nos seguintes passos:
- Acesse o portal da prefeitura do município do prestador e realize o login;
- Localize o menu Manutenção e selecione a opção Personalização do Prestador;
- Busque pelo CNPJ do prestador:
- Selecione o registro e clique em Alterar para editar as configurações já definidas;
- No menu WebService ative a opção Utiliza Retorno Completo na Importação de XML e Confirme as alterações no fim da página.
Com essa opção ativada no portal do prestador fará com que o retorno de XML sejá completo contendo não apenas a Rejeição mas também todos os dados da NFSe Autorizada na prefeitura. Dessa forma nossa API conseguirá seguir o fluxo para resolver a nota automaticamente.
Caso não seja ativado essa opção, basta seguir os próximos passos: - Informe 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>" .
-
00282 - Não há relacionamento de bairro e logradouro com o CEP informado.
Este padrão tem algumas peculiaridades quanto ao envio do endereço do Tomador. Para algumas cidades é necessário que o Tomador esteja cadastrado no sistema IPM e deve-se enviar no arquivo de integração os mesmos dados de endereço que estão no sistema IPM. Para corrigir siga estes passos:- Acessar o portal IPM https://www.nfs-e.net/fiscalweb.php
- Cadastrar o tomador em "cadastros > globais > pessoas > incluir"
Campos customizados para a 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]
Campos customizados para a 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]
Comentários
0 comentário
Por favor, entre para comentar.