A importação do registro das Notas Fiscais de Serviço Eletrônica (NFS-e) para arquivos TXT foi feita para facilitar o intercâmbio de informações entre o nosso software Emissor de NFS-e e as prefeituras homologadas na solução. Por meio da importação é possível a conversão dos dados TXT, assinatura e posterior transmissão para a respectiva Secretaria de Finanças ou Fazenda do Município.
O TXT ABRASF é um layout que tenta agrupar todos os campos necessários para emissão da NFS-e, não apenas para municípios que utilizam o layout da ABRASF (Associação Brasileira das Secretarias de Finanças das Capitais), mas também para outros municípios que utilizam outros layouts: Tiplan, DSF, Atende.net, Smarapd, Nota Imperial, SoftPlan, dentre outros.
Segue abaixo as especificações de como o arquivo TXT deve ser gerado: seu formato, conteúdo, regras e campos.
Formato do Arquivo
O arquivo texto deve ser codificado em UTF-8, considerando os casos em que se é utilizada acentuação gráfica em um campos. Caso o sistema de faturamento (ERP) utilize a API REST para realizar as chamadas não é obrigatório gerar o arquivo texto, apenas passar o conteúdo do mesmo no parâmetro do endpoint da API e tratar a resposta.
Conteúdo do Arquivo
No arquivo enviado deverá constar o registro de uma Nota Fiscal de Serviço a ser emitidas por um único emitente. Caso a empresa possua mais de um estabelecimento, cada um deles deverá gerar suas notas de serviços em arquivos separados.
O arquivo TXT segue uma estrutura hierárquica de GRUPOS, que são determinados por letras (GN01, GN02, GN03, …) e a delimitação dos campos de cada grupo pelo caractere “|”, denominado pipe.
Cada GRUPO de informações deve ser gerado em uma linha com uma quebra de linha ao final da mesma. O caractere de final de linha é referido como LF (Line feed, ‘\n’, 0x0A, 10 em decimal) ou CR (Carriage return, ‘\r’, 0x0D, 13 em decimal).
Expressões e regras
O modelo utilizado seguirá o mesmo padrão que o modelo TXT-SP para NF-e, facilitando o entendimento e integrações, visto que muitas empresas estarão emitindo tanto NF-e como NFS-e.
Alguns conceitos utilizados:
- [ 0 a N ] { … } : Expressão indicando que todo o conteúdo entre chaves ( “{“ e “}” ) pode ser inserido 0 (ou seja, nenhuma vez) ou mais vezes.
- [ 0 a 1 ] { … } : Expressão indicando que todo o conteúdo entre chaves ( “{“ e “}” ) pode ser inserido 0 (ou seja, nenhuma vez) ou 1 vez.
- [ 1 a 990 ] { … } : Expressão indicando que todo o conteúdo entre chaves ( “{“ e “}” ) pode ser adicionado até um limite de 990, mas deve ser inserido pelo menos 1 vez.
- Cadeias hierárquicas de chaves “{“ “}”: Sempre deve-se seguir a precedência das chaves.
Vários municípios têm definido Data/Hora em diversos formatos. Por padrão, será usado sempre o formato ISO 8601 utilizado também no ABRASF.
- Campo Data/Hora: yyyy-MM-ddTHH:mm:ss
- Campo Data: yyyy-MM-dd
Para campos no formato Valor o separador de decimal será o ponto. Exemplo: 100.00
Preenchimento Detalhado dos Campos
Confira o resumo e todos os detalhes dos campos do TXT ABRASF:
Confira o resumo e todos os detalhes dos campos do TXT ABRASF para Cancelamento de NFSe: