Tópicos deste artigo
- Manual do webservice
- Portais disponíveis
- Métodos disponíveis
- Tipo de impressão
- Observações gerais
- Tomador estrangeiro
- Emissão pelo PlugNotas
- Emissão pelo ManagerEDoc/ManagerSaaS
- Emissão pelo Componente NFSe
- Observações sobre a geração do XML
- Campos customizados para a impressão do RPS
Manual de integração com o webservice
Portais Disponíveis
Métodos Disponíveis
-
Envio.
- Síncrono.
- Não necessita envio sequencial.¹
- Aceita envio de lote de RPS
- Consulta de NFSe.
- Consulta de NFSe por Data (Apenas por comando executar, exemplo abaixo).
- Cancelamento de NFSe.
¹Não necessita que as notas sejam enviadas de forma sequencial
Tipo de impressão
A impressão é feita via layout próprio da Tecnospeed.¹
¹Nossos produtos geram o PDF da NFSe, se aproximando o máximo possível do layout da prefeitura.
Observações
- O padrão aceita apenas o campo "DataEmissao" no XML e esta data não pode ser anterior à data da última nota emitida.
- Caso a nota possua mais de um serviço, o campo "ValorIss" deve ser informado um única vez, contento a soma dos valores de ISS de todos os serviços.
- Não será possível enviar o RPS com acentos, pois houveram inconsistências com o WebService do padrão.
- Padrão não possuí quebra de linha, ao informar uma quebra de linha, a API apresentou instabilidade.
- A integração disponibilizada pelo padrão SOFTPLAN não utiliza o protocolo SOAP, pois não se trata de um WebService e sim de uma API REST.
- O padrão passou por um processo de revisão em nosso sistema com relação ao preenchimento do Código Fiscal de Prestação de Serviços e do Código de Situação Tributária. Estas informações são calculadas de acordo com as informações preenchidas nos códigos dos municípios (Prestador, prestação e tomador) e aos campos relacionados à substituição tributária e do tipo da tributação. Estes dois valores também estão relacionados entre si, tendo como parâmetro, a grade de validação tributária, disponível na página 11 da seguinte documentação
-
O padrão SoftPlan adicionou o campo BaseCalculo ao dataSet de serviço, esse novo campo está disponível na versão 8.7.53 do componente NFSe e na versão 3.0.87 do Manager EDoc.
-
Para garantir a compatibilidade do padrão único, foi adicionado o campo ValorTotalBaseCalculo que deverá ser informado dentro do DataSet do Lote. Exemplo:
INCLUIR
ValorTotalBaseCalculo= <- Base de Calculo referente a todos os serviços. (Valor total)
SALVAR
INCLUIRRPS
....
....
....
....
BaseCalculo= <- Base de calculo referente ao 1º serviço da nota.
SALVARRPS -
Dessa forma o campo ValorTotalBaseCalculo é referente a base de calculo de todos os serviços da nota, o campo BaseCalculo dentro do INCLUIRRPS e SALVARRPS é referente a base de calculo do primeiro serviço. Os demais serviços da nota continuaram sendo informados normalmente com os identificados INCLUIRSERVICO e SALVARSERVICO. Exemplo:
INCLUIRSERVICO
CodigoCnae=8525
BaseCalculo=50.00 <- Novo Campo
AliquotaServico=2
DiscriminacaoServico=Servico teste
QuantidadeServicos=1
ValorUnitarioServico=1
ValorServicos=1
SALVARSERVICO
-
Para garantir a compatibilidade do padrão único, foi adicionado o campo ValorTotalBaseCalculo que deverá ser informado dentro do DataSet do Lote. Exemplo:
-
Os exemplos de geração de xml por DataSet bem como o Tx2 TecnoNFSe também foram atualizados e estão disponíveis logo abaixo:
-
Recentemente disponibilizamos o novo método Consultar NFSe por data, esse método consulta as notas dentro de um período especificado. O retorno é um JSON com a(s) nota(s). Exemplo de integração:
-
procedure TfrmExemplo.ComExecutarClick(Sender: TObject);
var
_resposta : string;
begin
NFSe.Comando('ConsultarNFSePorData').Parametros['Extras'] := 'client_id=teste_teste;client_secret=xxxxxxxxxxxxxxxxxxx;Senha=xxxxxx;numeroAEDF=999999';
NFSe.Comando('ConsultarNFSePorData').Parametros['DataInicial'] := '2018-07-25';
NFSe.Comando('ConsultarNFSePorData').Parametros['DataFinal'] := '2018-07-26';
NFSe.Comando('ConsultarNFSePorData').Parametros['Pagina'] := '2'; // Caso não informado, mostrará a primeira página.
_resposta := NFSe.Executar('ConsultarNFSePorData');
FormatReturnXML(_resposta);
end;
-
Recentemente disponibilizamos a emissão simplificada, se houver preenchimento de todos campos obrigatórios o envio será normal, caso não seja informado os campos referente ao tomador será envio simplificado. Observação:
- Quando não existem notas no período consultado, a API retorna vazio.
- Quando informada uma página que não existe, a API retorna a última página.
Tomador estrangeiro:
Para emitirmos uma NFSe para um tomador estrangeiro, devemos preencher os seguintes campos no tx2:
- PaisTomador=2755 (Código do país do tomador. Ex: 2755 = França)
- CepTomador=9999999 (O CepTomador obrigatoriamente deverá ser preenchido dessa forma, caracterizando ser um tomador estrangeiro)
- UfTomador=EX (Informar EX na UF para caracterizar tomador estrangeiro)
- CodigoCidadeTomador=9999999 (É obrigatório o preenchimento dessa forma, caracterizando ser um tomador estrangeiro)
- CpfCnpjTomador=999999999 (Esse campo deve ser preenchido com 999999999. Caso seja preenchido com CPF ou CNPJ, será levado em consideração esse valor, não o DocTomadorEstrangeiro)
- DocTomadorEstrangeiro=1234567890123456-EST (Este campo é onde informamos o documento estrangeiro. O tamanho é de até 20 caracteres).
Emissão pelo PlugNotas
-
Utiliza Login e Senha para fazer o envio, consulta e cancelamento das notas, os campos login e senha devem ser informados. Exemplo visual PlugNotas:
-
No painel PlugNotas, selecione a empresa e, após habilitar a edição, clique na guia NFS-e.
-
Na área Autenticação prefeitura informe as credenciais do CNPJ
-
No painel PlugNotas, selecione a empresa e, após habilitar a edição, clique na guia NFS-e.
- Para usuários do PlugNotas, os dados de Client_Secret e Client_Id não são obrigatórios de envio, onde é apenas necessário enviar os dados de Senha e número AEDF preenchidos conforme o modelo: Senha=XXXXXXXXX;NumeroAEDF=XXXXXXX. Os X no valor são somente uma representação visual do valor que deve ser passado. Essas informações devem ser obtidas juntamente a prefeitura da cidade, para mais detalhes verifique essa documentação na página 5.
Emissão pelo ManagerEDoc/ManagerSaaS
-
Utiliza Login e Senha para fazer o envio, consulta e cancelamento das notas, os campos login e senha devem ser informados como parâmetros extras da seguinte forma:
- No SaaS/eDoc, o campo Login deverá receber o conteúdo Hash de autenticação obtido através do portal da prefeitura.
-
Exemplo visual Saas/Edoc:
- O Tx2 no formato da cidade não é aceito, utilize apenas o padrão único.
- Para que o Manager EDoc consiga manter o controle interno das notas, é preciso informar os campo NumeroRPS, SerieRPS e TipoRPS no arquivo Tx2.
Emissão pelo Componente NFSe
- Os dados de login da autenticação deve ser informado no parâmetro extra "Login". Exemplo:
NFSe.ParametrosExtras = "Login=11d123d12f12a1234c12fdbb1f12345a";
-
No cancelamento Somente para o Componente NFSe, a chave da nota deve ser informada no formato: InscricaoMunicipalPrestador_NumeroNFSe_CodigoVerificacao.
- O campo InscricaoMunipalPrestador deve ser informado sem o último dígito, ou seja, se a inscrição possui 7 caracteres (1234567), deve ser informado (123456) no campo (chave) do cancelamento, ficando, portanto da seguinte forma: 123456_NumeroNFSe_CodigoVerificacao.
- Parâmetros extras para o cancelamento:
client_id=XXXXXXXX;client_secret=XXXXXXXXXXXXXXXXXX;Senha=XXXXXXXXX;MotivoCancelamento=Teste de cancelamento - Todos os parâmetros extras são de preenchimento obrigatório com exceção do MotivoCancelamento que caso não for informado, será preenchido com o valor: NFSe cancelada a pedido do prestador.
Observações sobre a geração do XML
- O código do serviço não segue a LC-116 e pode ser consultado clicando aqui.
-
O código CNAE é um campo obrigatório.
- Código CNAE possui uma tabela própria que pode ser consultada clicando aqui.
- Código CNAE corresponde ao campo idCNAE de uma NFSe emitida no portal
- Este padrão utiliza certificado digital para realizar a assinatura do xml e senha para realizar a autenticação na API do padrão.
- Ao informar alguns caracteres especiais no xml de envio, a API apresentou instabilidade para processar essas notas, é aconselhável não utilizar os caracteres: "|" (pipe), (quebras de linha), "<" e ">".
- O XML de envio de NFSe desse padrão não possuí nenhuma forma de controle de numeração, Série ou Tipo de RPS, ou seja, é possível autorizar “N” notas com o mesmo XML de envio, portanto é extremamente importante manter o controle dessas notas para as mesmas não serem enviadas com duplicidade.
Campos customizados para a impressão do RPS
- RazaoSocialPrestador=String[80]
- EnderecoPrestador=String[80]
- ComplementoEnderecoPrestador=String[40]
- BairroPrestador=String[40]
- DescricaoCidadePrestador=String[100]
- UfPrestador=String[2]
- CepPrestador=String[10]
- TelefonePrestador=String[20]
- CpfCnpjPrestador=String[14]
- InscricaoMunicipalPrestador=String[20]
Soluções Tecnospeed
- Componente NFSe: Release 8.7.48.X.
- Manager eDoc: Release 3.0.82.X.
Comentários
1 comentário
Olá! A respeito da primeira observação:
"Utiliza Login e Senha para fazer o envio, consulta e cancelamento das notas, os campos login e senha devem ser informados como parâmetros extras da seguinte forma:
client_id=XXXXXXXXclient_secret=XXXXXXXXXXXXXXXXXX;Senha=XXXXXXXXX;NumeroAEDF=XXXXXXXXX"
Visto que estou testando o envio pelo ManagerSaaS, devo enviar os valores acima nos parâmetros da requisição? Se sim, qual seria a key para o valor?
Tentei preencher os campos Login e Senha no cadastro individual da empresa no grupo, porém o campo senha não aceita mais do que 70 caracteres.
Obrigado desde já!
Por favor, entre para comentar.