ECF – GERAÇÃO DO ARQUIVO DA ECF

1. Introdução
É possível o preenchimento da ECF no próprio programa gerador da ECF, em virtude da funcionalidade de edição de campos.
No entanto, a empresa poderá gerar o arquivo da ECF com recursos próprios. O arquivo será obrigatoriamente submetido ao programa gerador da ECF para validação de conteúdo, assinatura digital, transmissão e visualização.
A recuperação de dados da ECD é obrigatória para empresas que são obrigadas a entregar a ECD.

2. Características do Arquivo
O arquivo a ser importado para o programa gerador da ECF deve ser no formato texto, codificado em ASCII – ISO 8859-1 (Latin-1), não sendo aceitos campos compactados (packed decimal), zonados, binários, ponto flutuante (float point), etc., ou quaisquer outras codificações de texto, tais como EBCDIC.
O arquivo possui organização hierárquica, assim definida pela citação do nível hierárquico ao qual pertence cada registro.
Exemplo:
Seja a estrutura hipotética de um arquivo com registros organizados hierarquicamente nos moldes da ECF, conforme abaixo:
Registro 10 – Nível hierárquico 1
Registro 20 – Nível hierárquico 1
Registro 30 – Nível hierárquico 2
Registro 40 – Nível hierárquico 3
Registro 50 – Nível hierárquico 3
Registro 60 – Nível hierárquico 2
Registro 70 – Nível hierárquico 1
Registros “Pais”: 10 (não possui registros “filhos”), 20 (possui registros “filhos”) e 70 (não possui registros “filhos”).
Registro 20: Possui os registros 30 (possui registros “filhos”) e 60 (não possui registros “filhos”) como “filhos”.
Registro 30: Possui os registros 40 (não possui registros “filhos”) e 50 (não possui registros “filhos”) como “filhos”.

Os registros são sempre iniciados na primeira coluna (posição 1) e têm tamanho variável.
A linha do arquivo digital deve conter os campos na exata ordem em que estão listados nos respectivos registros.

Ao início do registro e ao final de cada campo deve ser inserido o caractere delimitador “|” (Pipe ou Barra Vertical: caractere 124 da Tabela ASCII). O caractere delimitador “|” (Pipe) não deve ser incluído como parte integrante do conteúdo de quaisquer campos numéricos ou alfanuméricos.
Todos os registros devem conter, ao final de cada linha do arquivo digital, após o caractere delimitador “|” (Pipe), os caracteres “CR” (Carriage Return) e “LF” (Line Feed) correspondentes a “retorno do carro” e “salto de linha”, respectivamente (CR e LF: caracteres 13 e 10, respectivamente, da Tabela ASCII).
Exemplo (campos do registro):
1
o 2
o 3
o 4
o
REG NOME CNPJ IE
|I550|Arnaldo Silva & Irmãos Ltda|60001556000257|01238578455|CRLF
|I550|José Lopes ME|99222333000150||CRLF
Na ausência de informação, o campo vazio (campo sem conteúdo ou nulo ou null) deverá ser imediatamente encerrado com o caractere “|” (Pipe) delimitador de campo.
Exemplos de conteúdo do campo:
Campo alfanumérico: Afrodite & Irmãos Ltda

|Afrodite & Irmãos Ltda|
Campo numérico: 1234,56

|1234,56|
Campo numérico ou alfanumérico vazio

||
Exemplo de campo vazio no meio da linha:
|123,00||123654788000354|
Exemplo de campo vazio em fim de linha:
||CRLF

3. Regras Gerais de Preenchimento
Veremos aqui as regras que devem ser respeitadas em todos os registros gerados, quando não excepcionadas por regra específica referente a um dado registro.
3.1. Formato dos Campos
ALFANUMÉRICO: Representados por “C” – todos os caracteres das posições da Tabela ASCII, excetuados os caracteres “|” (Pipe ou Barra Vertical: caractere 124 da Tabela ASCII) e os não
imprimíveis (caracteres 00 a 31 da Tabela ASCII).
NUMÉRICO: Representados por “N” – algarismos das posições de 48 a 57 da Tabela ASCII e o caractere “,” (vírgula: caractere 44 da tabela ASCII).
NUMÉRICO SINALIZADO: Representados por “NS” – um único caractere de sinal “+” ou “-”, posições 43 e 45 respectivamente da Tabela ASCII, acrescidos de um ou mais algarismos das
posições de 48 a 57 da Tabela ASCII. Quando o sinal for omitido, o número será considerado positivo “+”.
Fundamentação Legal: Manual de Orientação do Leiaute 7 da ECF.