Solução para importação de NFSe para prefeituras sem webservices

Egon Hilgenstieler

Algumas prefeituras possuem nota fiscal eletrônica de serviços mas não possuem a possibilidade de integrar com outros sistemas através de webservices. A solução nestes casos é a importação de NFSe: situação onde a prefeitura disponibiliza uma forma de importar várias notas fiscais para emissão em lote, evitando o trabalho de digitar e autorizar cada NFSe de forma manual.

Conteúdo

Algumas prefeituras possuem nota fiscal eletrônica de serviços mas não possuem a possibilidade de integrar com outros sistemas através de webservices.

A solução nestes casos é a importação de NFSe: situação onde a prefeitura disponibiliza uma forma de importar várias notas fiscais para emissão em lote, evitando o trabalho de digitar e autorizar cada NFSe de forma manual.

A API do Focus NFe agora atende essas situações fornecendo uma interface padronizada para geração destes arquivos, usando um formato muito similar com o já usado para autorizar NFSe’s individualmente.

Geração do arquivo de importação

Para gerar o arquivo para importação, deve ser feita a seguinte solicitação

POST /lotes_nfse?token=TOKEN&ref=REFERENCIA

Onde TOKEN é o seu token de acesso e REFERENCIA uma referência do lote a ser gerado (ele poderá ser usado posteriormente na consulta). Os dados que devem ir no POST é um arquivo YAML muito similar ao arquivo de autorização de NFSe, consistindo pelos seguintes campos:

prestador:

  • cnpj(*): CNPJ do prestador de serviços.
  • codigo_municipio(*): Código IBGE do município do prestador
  • inscricao_municipal: Inscrição municipal do prestador de serviços.

lista_nfse: Array com  as notas a serem geradas, usando o mesmo formato do arquivo de NFSe omitindo apenas a seção “prestador”.

Exemplo de arquivo:

prestador:
  cnpj: 32334535000121
  inscricao_municipal: 123123
  codigo_municipio: 3547304
lista_nfse:
  - data_emissao: 2015-02-04T17:7:26-03:00
    natureza_operacao: 1
    servico:
      discriminacao: "Servico 1"
      item_lista_servico: "01.06"
      valor_iss: 10.26
      valor_servicos: 513.00
    tomador:
      razao_social: 'João da Silva'
      cpf: '03055054812'
      codigo_municipio: 4106902
      cep: 80310333
      logradouro: Rua ABC
      numero: 12
      complemento: apto 21
      email: joao@example.com
  - data_emissao: 2015-02-05T17:7:26-03:00
    natureza_operacao: 1
    servico:
      discriminacao: "Serviço 2"
      item_lista_servico: "01.06"
      valor_iss: 10.26
      valor_servicos: 513.00
    tomador:
      razao_social: 'Maria da Silva'
      cpf: '04055054813'
      codigo_municipio: 4106902
      cep: 88000090
      logradouro: Rua XYZ
      numero: 21
      complemento: casa
      email: maria@example.com

A solicitação é síncrona e pode retornar os seguintes status HTTP:

  • HTTP status 201 (Created) – Arquivo de importação gerado. É devolvido o conteúdo do arquivo como resposta
  • HTTP status 415 (Unsupported Media Type) – Formato de arquivo YAML inválido
  • HTTP status 422 (Unprocessable Entity) – Campos obrigatórios não preenchidos ou em formato incorreto
  • HTTP status 400 (Bad Request ) – Requisição rejeitada devido a CNPJ ou token inválido (mensagem de erro apropriada é exibida)

Consulta do arquivo de importação

Esta operação está disponível caso queira consultar novamente o arquivo gerado. Seu formato é:

GET /lotes_nfse/REFERENCIA?token=TOKEN

Retorno:

  • HTTP status 200 (OK) – É devolvido o conteúdo do arquivo de importação como resposta
  • HTTP status 404 (Not found) – Lote não encontrado com referência informada

Importando o arquivo de resposta (opcional)

Algumas prefeituras disponibilizam um arquivo de resposta, que poderá informar erros no arquivo enviado ou informar dados da nota fiscal gerada (por exemplo número e código de verificação). Quando implementado você poderá enviar a resposta da prefeitura para nossa API e iremos gerar a resposta de acordo com o padrão da nossa API.

Seu formato é:

POST /lotes_nfse/REFERENCIA/resposta?token=TOKEN

O conteúdo do POST deverá ser a resposta da prefeitura.

Retorno:

  • HTTP status 201 (Created) – Arquivo de importação gerado. É devolvido o status de cada nota enviada. Nenhuma nota é processada se alguma nota tiver algum erro.
  • HTTP status 415 (Unsupported Media Type) – Formato de arquivo inválido
  • HTTP status 400 (Bad Request ) – Requisição rejeitada devido a CNPJ ou token inválido (mensagem de erro apropriada é exibida)

Quando o arquivo é processado com sucesso, é gerado uma resposta com um array no mesmo formato de uma consulta de NFSe. Exemplo:

-
caminho_xml_nota_fiscal: /notas_fiscais_servico/NFSe21123430001233505708-4759664-31-3347-2325799-T.xml
  codigo_verificacao: 334L.2795.8967.1235799-T
  data_emissao: 2017-09-04 00:00:00 -03:00
  numero: "31"
  status: autorizado
  uri: "https://www.municipio.sp.gov.br/nfe/"
-
  caminho_xml_nota_fiscal: /notas_fiscais_servico/NFSe21237430001233505708-4759664-32-990R-9926-9-Z.xml
  codigo_verificacao: 990R.9926.0621.0181239-Z
  data_emissao: 2017-09-04 00:00:00 -03:00
  numero: "32"
  status: autorizado
  uri: "https://www.municipio.sp.gov.br/nfe/"
Picture of Egon Hilgenstieler

Egon Hilgenstieler

CTO e cofundador do Focus NFe, desenvolvedor, professor de yoga e praticante de meditação. Enquanto não está programando, procura a resposta para a vida, para o universo e para tudo mais.

Inscreva-se em nossa newsletter​

Receba nossos conteúdos exclusivos em primeira mão.

Explore outros conteúdos:

API de download de XML de NF-e: requisitos e como funciona
Tecnologia e API
Egon Hilgenstieler

API de download de XML da NFe: requisitos e como funciona

Uma API de download de XML da NFe é uma integração que permite listar, consultar e baixar documentos fiscais eletrônicos. Devido a digitalização das notas fiscais e dos processos de emissão, ferramentas como esta que facilitam o acesso e o armazenamento de documentos são essenciais para a gestão e segurança fiscal de empresas de todos os portes.

Entenda mais sobre este tipo de API, quais são seus benefícios e os requisitos para sua utilização no artigo de hoje.

Leia mais »
IT 2023.001 v1.10: Tributação Monofásica sobre Combustíveis
Notas Técnicas
Hélio Marques

Informe Técnico (IT) 2023.001 v1.10: Atualização da Tabela de Códigos de Produtos da ANP

O Informe Técnico (IT) 2023.001 v1.10 trouxe atualizações importantes na Tabela de Códigos de Produtos da Agência Nacional do Petróleo (ANP). Seu objetivo principal é a padronização e a regulamentação do setor de combustíveis, abrangendo distribuidoras, revendedores e demais players dessa indústria.

Confira neste artigo as principais mudanças e recomendações para as empresas. Acompanhe!

Leia mais »
O que é NFE
Documentos fiscais
Luciano Romaniecki

O que é NF-e, quais são os tipos e como emitir?

O que é uma NF-e? De forma simples, é o documento responsável pelo registro de transações de compra e venda em negócios de todos os portes. Sua emissão é essencial para a comprovação de que a transação comercial realmente aconteceu, perante consumidores e órgãos de fiscalização.

Independente do tamanho da sua empresa, ou se está abrindo um negócio agora, provavelmente você terá que emitir uma Nota Fiscal eletrônica durante sua vida comercial. Por isso, é importante que você saiba do que se trata esse documento.

Veja a seguir o que é uma NF-e, como emiti-la, quais são os tipos e algumas dúvidas sobre esse documento e seu uso.

Leia mais »