Integração TXT¶
Estrutura do arquivo¶
O arquivo TXT segue uma estrutura hierárquica de grupos, que são determinados por letras e a delimitação dos campos de cada grupo pelo caractere “|”, denominado como pipe.
O arquivo TXT possui grupos de dados opcionais que podem ser omitidos do registro da NF-e, assim como grupos que podem ser repetidos diversas vezes.
Sobre os campos dos grupos, estes podem ter limitações de tamanho mínimo e máximo, além de validações de tipo (apenas caracteres, apenas números, datas, etc.). Assim, é necessário realizar a verificação do tipo e tamanho para cada campo, conforme detalhado no item “4.1.2 - Layout da NF-e 4.10 | Tabela com detalhamento dos campos” presente neste documento.
Grupos: identificados por uma letra seguida de “|”. Exemplo: A| , B|. Caso seja opcional, o preenchimento do grupo não será obrigatório. Exemplo:
Campos: Identificados pelo código do campo e separados por “|”. Exemplo: cUF, cNF. Caso seja opcional ou não informado, deixa-se o campo VAZIO (seminformação).
E05|XLgr|Nro|XCpl|XBairro|CMun|UF|CEP|CPais|XPais|Fone
Caso não seja necessário o preenchimento do complemento (xCpl), CEP (CEP) e do Telefone (Fone), deixar os campos VAZIOS (sem informação):
E05|Avenida Rangel Pestana|300||Se|3550308|São Paulo|SP||1058|Brasil||
Ocorrência: [ 0 a N ] { ... } : Expressão indicando que todo o conteúdo entre chaves pode ser inserido 0 (ou seja, nenhuma vez) ou mais vezes.
[ 1 a 990 ] { ... } : Expressão indicando que todo o conteúdo entre chaves pode ser adicionado até um limite de 990, mas deve ser inserido pelo menos uma vez.
[seleção entre X ou Y ] { X|... [ou] Y|... } Expressão indicando que deve-se realizar uma escolha entre o código X ou o código Y, lembrando que X e Y podem variar de acordo com os códigos do leiaute. Exemplo:
Neste caso, deve-se realizar a escolha entre C02 ou C02a: caso insira C02 (C02|CNPJ), não poderá ser inserido C02a (C02a|CPF) e vice-versa.
Cadeias hierárquicas de chaves { }: Sempre deve-se seguir a precedência das chaves. Exemplo:
Na estrutura apresentada anteriormente, caso seja inserido o grupo O (O**|ClEnq|CNPJProd|CSelo|QSelo|CEnq|), a próxima linha a ser inserida deve ser a escolha entre **O07 (O07**|CST|VIPI|) ou **O08 (O08**|CST|). Caso seja escolhido **O07, deve-se escolher ainda entre O010 (O10**|VBC|PIPI|) ou **O011 (**O11**|QUnid|VUnid|). Assim, temos as seguintes escolhas possíveis para o grupo em questão:
Encoding dos Arquivos TXT gerados pelo ERP¶
Para esta integração, recomendamos criar um arquivo com nome “Encoding.integracao” dentro da pasta NFePACKService (Esta pasta será criada na estrutura de diretórios no momento da implantação) para que o NFePACK saiba qual o encoding utilizado. O conteúdo do documento deverá conter apenas o nome do encoding usado, sem espaços ou quebras de linha.
Exemplo: windows-1252, utf-8
Encoding aceitos pelo NFePACK:¶
IBM037; IBM437; IBM500; ASMO-708; DOS-720; ibm737; ibm775; ibm850; ibm852; IBM855; ibm857;IBM00858; IBM860; ibm861; DOS-862; IBM863; IBM864; IBM865; cp866; ibm869; IBM870; windows-874;cp875; shift_jis; gb2312; ks_c_5601-1987; big5; IBM1026; IBM01047; IBM01140; IBM01141; IBM01142;IBM01143; IBM01144; IBM01145; IBM01146; IBM01147; IBM01148; IBM01149; utf-16;utf-16BE;windows-1250; windows-1251; Windows-1252; windows-1253; windows-1254; windows-1255; windows-1256; windows-1257; windows-1258; Johab; macintosh; x-mac-japanese; x-mac-chinesetrad; x-mackorean; x-mac-arabic; x-mac-hebrew; x-mac-greek; x-mac-cyrillic; x-mac-chinesesimp; x-mac-romanian;x-mac-ukrainian; x-mac-thai; x-mac-ce; x-mac-icelandic; x-mac-turkish; x-mac-croatian; utf-32; utf-32BE;x-Chinese-CNS; x-cp20001; x-Chinese-Eten; x-cp20003; x-cp20004; x-cp20005; x-IA5; x-IA5-German; xIA5-Swedish; x-IA5-Norwegian; us-ascii; x-cp20261;x-cp20269; IBM273; IBM277; IBM278; IBM280;IBM284; IBM285; IBM290; IBM297; IBM420; IBM423; IBM424; x-EBCDIC-KoreanExtended; IBM-Thai; koi8-r; IBM871; IBM880; IBM905; IBM00924; EUC-JP; x-cp20936; x-cp20949; cp1025; koi8-u; iso-8859-1; iso-8859-2; iso-8859-3; iso-8859-4; iso-8859-5; iso-8859-6; iso-8859-7; iso-8859-8; iso-8859-9; iso-8859-13;iso-8859-15; x-Europa; iso-8859-8-i; iso-2022-jp; csISO2022JP; iso-2022-jp; iso-2022-kr; x-cp50227; eucjp; EUC-CN; euc-kr; hz-gb-2312; GB18030; x-iscii-de; x-iscii-be; x-iscii-ta; x-iscii-te; x-iscii-as; x-iscii-or; xiscii-ka; x-iscii-ma; x-iscii-gu; x-iscii-pa; utf-7;utf-8
Nomenclatura dos Arquivos¶
O processo de integração envolve seis tipos de arquivos:
- Arquivo de Autorização de NF-e (gerado pelo ERP e importado no NFePACK);
- Arquivo de Cancelamento de NF-e (gerado pelo ERP e importado no NFePACK);
- Arquivo de Inutilização de Numeração (gerado pelo ERP e importado no NFePACK);
- Retorno de Autorização de NF-e (gerado pelo NFePACK e importado no ERP);
- Retorno de Cancelamento de NF-e (gerado pelo NFePACK e importado no EFP);
- Retorno de Inutilização de Numeração (gerado pelo NFePACK e importado no ERP);
Tipos de Arquivo e Nomenclatura Padrão:
Forma de Integração | Leiaute | Nomenclatura |
Envio da Solicitação de Autorização de NF-e | nfe*.txt | |
Envio da Solicitação de Cancelamento | cnfe*.txt | |
Arquivo Texto “|” | Envio da Solicitação de Inutilização | infe*.txt |
Retorno da Solicitação de Autorização | nfer*.txt | |
Retorno da Solicitação de Cancelamento | cnfer*.txt | |
Retorno da Solicitação de Inutilização | infer*.txt |
- Atenção
- Arquivos com nome fora do padrão serão movidos para a pasta “processado” sem geração de erros no log. Os arquivos de retorno, devem ser processados por ordem de nome ou data pelo sistema corporativo.
Arquivos de Envio e Retorno¶
Envio da Solicitação de Autorização - TXT “|”¶
O ERP deve disponibilizar na pasta “Processar” da “CaixaEntrada” os arquivos no formato TXT. Estes arquivos poderão conter uma ou mais NF-e, porém, sugerimos que cada arquivo contenha apenas uma NF-e, pois no caso de uma NF-e encontrar-se com uma possível critica ou inconsistência, o restante do arquivo será desconsiderado e não ocorrerá a integração das demais notas válidas. O retorno será gerado pelo NFePACK na pasta “Processar” da “CaixaSaida”.
Envio da Solicitação de Cancelamento - TXT “|”¶
O arquivo TXT para solicitação de cancelamento deve ser disponibilizado na pasta “Processar” da “CaixaEntrada” e deve conter os seguintes campos separados por “|”:
- CNPJ do estabelecimento gerador (tam: 14, numérico)
- Código UF do estabelecimento gerador (tam: 2, numérico - Tabela IBGE)
- Ano e mês de emissão da NF-e (tam: 4, numérico - AAMM)
- Modelo do documento fiscal (tam: 2, numérico. Ex.: 55)
- Número da série do documento fiscal (tam: 1 a 3, numérico)
- Número do documento fiscal (tam: 1 a 9, numérico)
- Motivo do cancelamento (tam: 15 a 255, alfanumérico)
- Data e hora do registro do cancelamento (tam: 19, alfanumérico - dd/mm/aaaa hh:mm:ss)
99999999999999|42|1406|55|10|1|cancelamento devido erro de digitacao|03/06/201413:29:00
Envio da Solicitação de Inutilização - TXT “|”¶
O arquivo TXT para solicitação de inutilização deve ser disponibilizado na pasta “Processar” da “CaixaEntrada” e deve conter os seguintes campos separados por “|”:
- CNPJ do estabelecimento gerador (tam: 14, numérico)
- Código UF do estabelecimento gerador (tam: 2, numérico – Tabela IBGE)
- Ano da inutilização (tam: 4, numérico - Ex.: 2014)
- Modelo do documento fiscal (tam: 2, numérico. Ex.: 55)
- Número da série do documento fiscal (tam: 1 a 3, numérico)
- Número inicial do documento fiscal(tam: 1 a 9, numérico)
- Número final do documento fiscal(tam: 1 a 9, numérico)
- Motivo da inutilização (tam: 15 a 255, alfanumérico)
- Data e hora do registro da inutilização (tam: 19, alfanumérico - dd/mm/aaaahh:mm:ss)
99999999999999|42|2014|55|10|21|30|informar o motivo|03/06/201413:29:00
- Atenção
- Limite de inutilização de 10 mil numerações por arquivo. Quando a solicitação possuir mais de mil numerações pode ocorrer demora no processamento por parte da SEFAZ.
Retorno de Autorização da NF-e - TXT “|”¶
O NFePACK gera na pasta “Processar” da “CaixaSaida” um arquivo TXT contendo as informações de retorno da solicitação de autorização da NF-e.
O arquivo TXT de retorno possui os seguintes campos separados por “|”:
- CNPJ do estabelecimento gerador (tam: 14, numérico)
- Código UF do estabelecimento gerador (tam: 2, numérico – Tabela IBGE)
- Ano e mês de emissão da NF-e (tam: 4, numérico - AAMM)
- Modelo do documento fiscal (tam: 2, numérico. Ex.: 55)
- Número da série do documento fiscal (tam: 1 a 3, numérico)
- Número do documento fiscal (tam: 1 a 9, numérico)
- Número da série do documento fiscal contingência (tam: 1 a 3, numérico)
- Número do documento fiscal contingência (tam: 1 a 9, numérico)
- Status da NF-e (tam: 2, numérico) 3=Crítica Validação, 6=Autorizada, 7=Denegada, 8=Rejeitada, 10=Pendente de retorno, 11=A cancelar, 12=A inutilizar)
- Identificador da NF-e (tam: 44,numérico)
99999999999999|42|1406|55|10|89| | |6|42140685542878000119555020000000891000000004
Ainda é possível retornar Informações Extras do NFePACK separadas por “|”:
- Status de cancelamento da NF-e conforme retorno da SEFAZ (tam: 3, numérico)
- Data e hora de processamento da autorização na SEFAZ (tam: 19, alfanumérico - dd/mm/aaaa hh:mm:ss)
- DigVal – Resumo enviado no retorno da SEFAZ utilizado para conferir a integridade de uma NFe original
- Número do protocolo da SEFAZ (tam: 1 a 9, numérico)
- Tipo de ambiente em que a nota foi autorizada (tam: 1, Produção=1, Homologação=2)
- Versão do aplicativo emissor da nota fiscal (tam. 1 a 20, alfanumérico)
- Descrição do status de retorno da SEFAZ, referente à autorização da NF-e (tam: 1 a 255, alfanumérico)
99999999999999|42|1406|55|10|89| | |6|42140685742878000187555020000000911135892462|100|04/06/2014 14:48:31|alfwKo3mj8KpCqEh33cv/2VYIXU=|342140000386346|2|1.07|Autorizado o uso da NF-e
- Atenção
- As informações extras serão mostradas apenas se a opção “Saída Arquivo Texto Completo” seja marcada como “Sim” nas configurações da filial:
Retorno de Cancelamento da NF-e - TXT “|”¶
O NFePACK gera na pasta “Processar” da “CaixaSaida” um arquivo TXT contendo as informações de retorno da solicitação de cancelamento da NF-e.
O arquivo TXT de retorno possui os seguintes campos separados por “|”:
- CNPJ do estabelecimento gerador (tam: 14, numérico)
- Código UF do estabelecimento gerador (tam: 2, numérico – Tabela IBGE)
- Ano e mês de emissão da NF-e (tam: 4, numérico - AAMM)
- Modelo do documento fiscal (tam: 2, numérico. Ex.: 55)
- Número da série do documento fiscal (tam: 1 a 3, numérico)
- Número do documento fiscal (tam: 1 a 9, numérico)
- Número da série do documento fiscal contingência (tam: 1 a 3, numérico)
- Número do documento fiscal contingência (tam: 1 a 9, numérico)
- Status de cancelamento da NF-e (tam: 1, numérico) 2 = Autorizada,3=Rejeitada)
- Descrição do status da resposta da SEFAZ, ref. ao cancelamento da NF-e
- Data e hora de processamento do cancelamento na SEFAZ (tam: 19, alfanumérico - dd/mm/aaaa hh:mm:ss)
- Número do protocolo da SEFAZ (tam: 1 a 9, numérico)
- Código da UF responsável pela resposta à solicitação feita à SEFAZ (tam: 2, numérico – Tabela IBGE)
99999999999999|42|1406|55|10|96|10|96|2|Evento registrado e vinculado a NF-e|11/06/2014 19:00:51|342140020459663|42
Ainda é possível retornar Informações Extras do NFePACK separadas por “|”:
- Chave de acesso da nota fiscal cancelada
- Status de cancelamento da NF-e conforme retorno da SEFAZ (tam: 3, de 101 a 999)
- Número do protocolo da SEFAZ (tam: 1 a 9, numérico)
- Ambiente em que a nota foi enviada (Tam: 1, Produção=1, Homologação=2)
- Versão do aplicativo que gerou a NF-e (tam. 1 a 20, alfanumérico)
- Descrição do status da resposta da SEFAZ, ref. ao cancelamento da NF-e (se a nota for Cancelada)
99999999999999|42|1406|55|10|95|10|95|2|Evento registrado e vinculado aNF-e|11/06/2014 18:49:00|342140000419648|42|42140689989978000159555020000000951135492461|101|342140000419648|2|1.07|Cancelamento de NF-ehomologado
- Atenção
- As informações extras serão mostradas apenas se a opção “Saída Arquivo Texto Completo” seja marcada como “Sim” nas configurações da filial:
Retorno de Inutilização de Numeração¶
O NFePACK gera na pasta “Processar” da “CaixaSaida” um arquivo TXT contendo as informações de retorno da solicitação de inutilização da NF-e.
O arquivo TXT de retorno possui os seguintes campos separados por “|”:
- CNPJ do estabelecimento gerador (tam: 14, numérico)
- Código UF do estabelecimento gerador (tam: 2, numérico – Tabela IBGE)
- Ano da inutilização das NF-e (tam: 2, numérico - AA)
- Modelo do documento fiscal (tam: 2, numérico. Ex.: 55)
- Número série do documento fiscal (tam: 1 a 3, numérico)
- Número inicial do documento fiscal (tam: 1 a 9, numérico)
- Número final do documento fiscal (tam: 1 a 9, numérico)
- Status de inutilização das NF-e (tam: 1, numérico. 2 = Autorizada, 3=Rejeitada)
- Descrição do status da resposta da SEFAZ (tam: 1 a 255, alfanumérico)
- Data e hora de processamento da inutilização na SEFAZ (tam: 19, alfanumérico - dd/mm/aaaa hh:mm:ss)
- Número do protocolo da SEFAZ (tam: 1 a 9, numérico)
- Código da UF responsável pela resposta à solicitação feita à SEFAZ (tam: 2, numérico – Tabela IBGE)
99999999999999|42|14|55|10|98|98|2|Inutilizacao de número homologado|11/06/2014 21:23:57|342140250416743|42
Ainda é possível retornar Informações Extras do NFePACK separadas por “|”:
- Ano da inutilização das NF-e (tam: 2, numérico - AA)
- Código do status de Inutilização da NF-e conforme retorno da SEFAZ (tam: 3, de 101 a 999)
- Data e hora do recebimento pela SEFAZ (TAM:19, alfanumérico. Ex.: “dd/mm/aaaahh:mm:ss”)
- Identificação do protocolo retornado pela Sefaz (ID+número do protocolo)
- Ambiente em que a nota foi enviada (Tam: 1, Produção=1, Homologação=2)
- Versão do aplicativo que gerou a NF-e (tam. 1 a 20, alfanumérico)
- Descrição do status da resposta da SEFAZ (tam: 1 a 255, alfanumérico)
85782878000189|42|14|55|502|100|100|2|Inutilizacao de numero homologado|11/06/2014 21:37:40|342140000419747|42|14|102|11/06/2014 21:37:40|ID342140000419747|2|1.07|Inutilizacao de numero homologado
- Atenção
- As informações extras serão mostradas apenas se a opção “Saída Arquivo Texto Completo” seja marcada como “Sim” nas configurações da filial:
Controle de Retornos¶
As seguintes situações de retorno (Status da NF-e) devem ser tratadas:
3 – CRÍTICA VALIDAÇÃO¶
Este retorno indica que houve alguma crítica no processo. Deve-se ajustar a nota ou registrar uma solicitação de inutilização neste caso. Para solucionar a situação deve-se reenviar o arquivo com a nota fiscal corrigida, disponibilizando o mesmo em sua respectiva caixa de entrada.
6 – AUTORIZADA¶
Indica que a nota fiscal está com uso autorizado pela SEFAZ. Não há ação a tomar neste caso, exceto a solicitação de cancelamento, caso seja necessário.
7 – DENEGADA¶
Indica que a nota fiscal está com uso denegado pela SEFAZ. Esta nota está portanto registrada na SEFAZ e não pode-se mais utilizar esta numeração. Lembrando que nota denegada não pode mais ser utilizada.
8 – REJEITADA¶
Indica que alguma crítica foi apontada para esta nota na SEFAZ. Há duas saídas neste caso. Solicitar uma inutilização, ou corrigir a nota e reutilizá-la. Neste caso (reutilização), deve-se proceder conforme o status 3 (crítica de validação).
10 – PENDENTE DE RETORNO CONTINGÊNCIA¶
Indica que a nota foi enviada à SEFAZ, mas devido a problemas técnicos foi necessária a entrada em contingência. As notas com este status, devem ser reservadas para futuramente serem canceladas ou inutilizadas.
As notas com status “pendente de retorno” devem ser geradas novamente, com uma nova numeração, a fim de garantir o seu reenvio.
As notas com este status, após a saída de contingência passarão para “11 – A CANCELAR” (quando identificada a autorização da respectiva NFe na SEFAZ) e “12 – A INUTILIZAR” (quando não foi identificada a respectiva NFe na SEFAZ) caso estas configurações estejam atividas no portal NfePackMonitor (Verificar no guia de utilização do WebMonitor disponibilizado em nossa central de relacionamento - MovieDesk).
11 – A CANCELAR¶
Indica que após o retorno de contingência, a nota fiscal deverá ser cancelada. Neste caso, deve ser enviada a solicitação de cancelamento da respectiva nota para o NFePACK.
12 – A INUTILIZAR¶
Indica que após o retorno de contingência, a nota fiscal deverá ser inutilizada. Neste caso, deve ser enviada a solicitação de inutilização da respectiva nota para o NFePACK.