Manual de Integração com o WebService
Em anexo ao final da documentação.
Portais Disponíveis
Métodos Disponíveis
- Envio.
- Síncrono.
- Cancelamento de NFSe (para algumas cidades).
Observações
- Este padrão possui envio em lote, com exceção para a cidade de Vinhedo - SP. O limite de notas por lote é de 20 notas.
- A cidade de Vinhedo não possui os métodos de Cancelamento e Consulta via WebService. Essas solicitações devem ser feitas diretamente no portal da prefeitura
- O Envio em lote pode acarretar lentidão do processamento das notas por limitações do WebService.
- O arquivo de integração com o WebService é no formato JSON. Para isso, o Componente NFSe realiza a conversão do XML do Lote RPS para JSON logo antes do envio e do cancelamento das notas.
- Para realizar todos os métodos disponíveis pelo WebService, é necessário informar a Senha da Empresa no sistema da Prefeitura como parâmetro extra.
- O parâmetro extra deve ser informado da seguinte forma: Senha=XXXXXXX;
- A impressão de RPS não está disponível no momento da homologação.
- Acentuação muitas vezes causa problema de rejeição no servidor. Devido a isso está sendo removido os acentos do RPS.
- É recomendado habilitar a opção "Utilizar numeração automática" e a opção "Reutilizar numeração de notas descartadas" no Manager eDoc/SaaS, visto que este padrão possui certa rigidez quanto à numeração de RPS informada nas notas enviadas.
- No Manager eDoc/SaaS impressão para o padrão é feita via link, o mesmo possui um tempo indeterminado para sincronizar. Portanto, implementamos um tempo limite de 45 segundos para realizar a primeira impressão.
- O Retorno <retorno xsi:type="xsd:string">Erro</retorno> é conhecido por numero do RPS fora da sequencia determinada pela prefeitura
- Para a cidade Campos do Jordão, não é necessário preencher no tx2 o campo ItemListaServiço, porém é obrigatório preencher o campo codigoCNAE, pois é ele que irá preencher a tag <atividade>.
ATENÇÃO: no Manager eDoc/SaaS, será disponibilizada a possibilidade de sincronizar notas que estejam em situações intermediárias no Manager, mas que estão AUTORIZADAS/CANCELADAS na prefeitura. As notas que poderão ser sincronizadas são aquelas que acusarem erros referentes à RPS já informado, ou que sofrerem algum problema de comunicação com o WebService durante o processo de autorização da mesma no Manager.
RESOLVE:
Caso a nota esteja AUTORIZADA na prefeitura, mas não no Manager eDoc/SaaS: será possível realizar a sincronização dessa nota utilizando a rota RESOLVE. Deverá ser informado o parâmetro parametroExtra, preenchido com o número da nota já autorizada e o código de verificação da mesma, no seguinte formato: "NumNota_CodVerificacao". Portanto, apenas realize essa operação após certificar-se de que seja a mesma nota.
Exemplo dos parâmetros:
Ou seja, será realizado uma tentativa de sincronizar a nota referente ao Handle=124, com os dados da nota parametroExtra=8555_2xhfgr4g4r2g354gkcs (NumeroNFSe_CodVerificacao).
DESCARTA:
Caso queira descartar uma nota que esteja em situação intermediaria, basta utilizar a rota DESCARTA, passando os seguintes parâmetros na requisição:
O parâmetro forcar com o valor "true" deverá ser informado como uma garantia de que esta operação deverá realmente ser executada. Portanto, apenas realize essa operação após analisar a real situação da nota em questão.
CANCELA:
Para algumas cidades deste padrão o cancelamento não está disponível via WebService, portanto o mesmo apenas poderá ser realizado no portal da prefeitura. Visto que essa ação foi realizada e deseja-se atualizar a situação de uma nota que esteja ainda como AUTORIZADA no Manager eDoc/SaaS, passe os seguintes parâmetros na rota CANCELA:
Ou seja, a nota AUTORIZADA referente ao handle 113 será sincronizada com a situação da mesma no portal da prefeitura após essa operação. O parâmetro forcar com o valor "true" deverá ser informado como uma garantia de que esta operação deverá realmente ser executada. Portanto, apenas realize essa operação após analisar se a nota em questão está realmente CANCELADA no portal da prefeitura.
Geração de Xml - Campos Importantes
- O código do serviço segue o que está descrito na LC-116.
Relação dos campos do TX2, seus valores e significados
* -> Campos Obrigatórios
- * formato=tx2 - Formato do arquivo Tx2
- * padrao=TecnoNFSe - Padrão único TecnoNFSe
- * NomeCidade=UbatutaSP - Identificação da cidade no TecnoNFSe
- * INCLUIRRPS - Identificador de inclusão do RPS
- * InscricaoMunicipalPrestador - Inscrição municipal do prestador (Deve conter 9 caracteres exatamente, preencher com zeros a esquerda caso necessário)
- * NumeroRPS - Número do RPS que será transformado no número da nota (Deve conter 6 caracteres exatamente)
- * DataEmissao - Deve ser informado no formato YYYY-MM-DD
- InscricaoEstadualTomador - Inscrição estadual do tomador (Não obrigatório, Máximo 14 caracteres)
- RazaoSocialTomador - Razão social do tomador (Máximo 60 caracteres)
- * CpfCnpjTomador - Documento do tomador, informar 11 caracteres para CPF ou 14 para CNPJ.
- PaisTomador - Informar a descrição do país do tomador, máximo 45 caracteres.
- EnderecoTomador - Máximo 60 caracteres
- NumeroTomador - Máximo 6 caracteres
- ComplementoTomador - Máximo 100 caracteres
- BairroTomador - Máximo 60 caracteres
- UFTomador - Máximo 2 caracteres
- DescricaoCidadeTomador - Máximo 60 caracteres
- CepTomador - Preencher com exatamente 60 caracteres
- EmailTomador - Máximo 60 caracteres
- EnderecoPrestacaoServico= Endereço completo de onde o serviço foi prestado, muita atenção no preenchimento desse campo, pois ele é a junção do endereço completo.
- Forma de informar: RUA ONDE FOI PRESTADO O SERVICO_NÚMERO_Complemento do local_Bairro do local_CEP da rua_Pais
- Exemplo: RUA TESTE_999_Complemento teste_bairro teste_9999999_BRASIL
- Caso o endereço não possua algum desses parâmetros, informe o _ e passe para o próximo campo
- Exemplo RUA TESTE_999__Bairro teste_9999999_BRASIL
- A rua deve possuir no máximo 60 caracteres
- O número deve possuir no máximo 6 caracteres
- O complemento deve possuir no máximo 100 caracteres
- O bairro deve possuir no máximo 60 caracteres
- O cep deve possuir no máximo 15 caracteres
- O país deve possuir no máximo 80 caracteres
- Forma de informar: RUA ONDE FOI PRESTADO O SERVICO_NÚMERO_Complemento do local_Bairro do local_CEP da rua_Pais
- * DescricaoCidadePrestacao - Máximo 60 caracteres
- CodigoCidadePrestacao - Máximo 7 caracteres
- UfCidadePrestacao - Máximo 2 caracteres
- TipoTributacao - 6 e 8 para ISS devido no local, o restante para NÃO
- OutrasInformacoes - Observações do serviço
- * DiscriminacaoServico - Máximo 2500 caracteres
- * ValorServicos - Máximo 14 caracteres
- * BaseCalculo - Máximo 14 caracteres
- * ValorLiquidoNfse - Máximo 14 caracteres
- * CodigoItemListaServico - Máximo 5 caracteres
- * AliquotaISS - Máximo 4 caracteres, informada sem dividir. Exemplo: 2.00
- ValorInss - Máximo 14 caracteres
- ValorIr - Máximo 14 caracteres
- ValorCsll - Máximo 14 caracteres
- ValorCofins - Máximo 14 caracteres
- ValorPis - Máximo 14 caracteres
- DescontoCondicionado - Máximo 14 caracteres
- DescontoIncondicionado - Máximo 14 caracteres
- ValorDeducoes - Máximo 14 caracteres
- * IssRetido - 1 Para SIM e 2 para Não
- Operacao - B para incluir a dedução material segundo o manual da prefeitura
- OptanteSimplesNacional - 1 para prestador Optante do simples Nacional
- RegimeEspecialTributacao - 5 para empresas MEI
- SALVARRPS - Identificador para salvar o RPS
Existe um campo deste padrão que não se encaixa em nenhum campo do padrão unificado da Tecnospeed. Trata-se do campo "tipoIss", que diz respeito ao tipo do recolhimento que a empresa realiza no municı́pio, podendo ser mensal ou de forma fixa (anual). Para informar este campo no tx2 deve-se colocar o caracter "@" antes do nome do campo. Desta forma:
@tipoIss=M ou @tipoIss=F
Particularidades da Impressão
Impressão da NFSe
A impressão de NFSe pode ser feita por um link retornado no envio. Para obter esse link, basta utilizar o comando auxiliar ObterLinkImpressaoNFSe, conforme exemplo abaixo:
Parâmetros:
- Xml de uma NFSe Autorizada.
procedure TfrmExemplo.btnObterLinkImpressaoClick(Sender: TObject);
var
_nomeComando, _nomeParametro, _valorParametro, _resposta: string;
_XmlNFSe : TStringList;
begin
_XmlNFSe := TStringList.Create;
try
_nomeComando := 'ObterLinkImpressaoNFSe';
_XmlNFSe.LoadFromFile(XMLNFSE);
_nomeParametro := 'XML';
_valorParametro := _XmlNFSe.Text;
NFSe.Comando(_nomeComando).Parametros[_nomeParametro] := _valorParametro;
_resposta := NFSe.Executar(_nomeComando);
finally
_XmlNFSe.Free;
end;
end;
Resposta:
'http://www.nfevinhedo.com.br/usuario/nNotaFiscal/notaFiscalPdf.php?codigo=55555&exibir=1'
- O link da impressão é único para uma NFSe, independente da situação da mesma.
Comentários
0 comentário
Por favor, entre para comentar.