Manual: ECD (Sped-Contábil).
O arquivo a ser importado para o PGE do Sped Contábil 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.
Ademais, 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 ECD, 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
Há três registros pais: 10, 20 e 70.
Os registros 10 e 70 não têm filhos.
O registro 20 tem dois filhos, 30 e 60.
O registro 30, filho de 20, tem, por sua vez, dois filhos, 40 e 50.
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º | 2º | 3º | 4º |
REG | NOME | CNPJ | IE |
|1550|José Silva & Irmãos Ltda|60001556000257|01238578455|CRLF
|1550|Armando Silva 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 (conteúdo do campo):
Campo alfanumérico: José da Silva & Irmãos Ltda. => |José da Silva & Irmãos Ltda|
Campo numérico: 1234,56 => |1234,56|
Campo numérico ou alfanumérico vazio => ||
Exemplo (campo vazio no meio da linha):
|123,00||123654788000354|
Exemplo (campo vazio em fim de linha):
||CRLF