Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleObservação

Página em construção

draw.io Diagram
bordertrue
diagramNamegeracao_importacao_informe
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth786
revision2

1 - Importação de dados

A importação de dados para o Informe de Rendimentos padrão é realizada por uma rotina de monitoramento de diretórios. Para o correto funcionamento dessa rotina os arquivos devem ser depositados na pasta de entrada da empresa correspondente àquele arquivo.

Também é possível efetuar a importação de um arquivo de até 1MB via API externa conforme documentado na página de DR - 01 - Especificação API - (STIR), e assim esse arquivo poderá ser lido pela rotina automática de acordo com o tempo especificado nas Configurações Gerais.

O sistema espera receber o arquivo JSON de uma competência específica com o seguinte padrão de nomenclatura: AAAAMM_SIGLA_SEQUENCIAL.json (ex.: 202513_CC_00001.json)

Inicialmente só serão aceitas competências anuais para processamento, portanto, é imprescindível que os arquivos importados estejam no formato de competência anual com os dígitos finais referentes ao mês com o valor "13", conforme exemplo acima.


1.1 - Pré-requisitos:

  • Empresa cadastrada no sistema com mesmo código empresa do arquivo.
  • Interface Origem cadastrada no sistema com mesma sigla de interface de origem do arquivo.
  • Configuração Geral devidamente preenchida com diretórios de importação e geração.

1.2 - Visão Geral do Processo:

  • Disponibilização (Manual/Externa): O arquivo JSON deve ser salvo na pasta de entrada correspondente à empresa desse arquivo, no caso da entrada via API o arquivo será armazenado na pasta referente ao código empresa passado como parâmetro.
  • Detecção e Processamento (Automático): Um Job agendado varre periodicamente as pastas de entrada, cria as pastas das empresas que tiverem sido cadastradas no sistema caso não tenha sido criadas ainda, valida os arquivos, processa o conteúdo (pasta processando) e move os arquivos para as pastas de destino conforme o resultado (sucesso, aviso ou erro).

1.3 - Estrutura de Diretórios:

A estrutura de pastas segue as empresas cadastradas no sistema.

  • Padrão de entrada: {Diretorio_Raiz_Configurado}/{CODIGO_EMPRESA}/entrada/
  • Diretorio_Raiz_Configurado: Caminho base definido nas Configurações Gerais do sistema.
  • CODIGO_EMPRESA: Código numérico da empresa (ex: 12345).

Exemplo: Se o diretório raiz for C:\Users\usuario\produto_informe_rendimentos\dados\importacao e a empresa for 11111, o arquivo deve ser salvo em: C:\Users\usuario\produto_informe_rendimentos\dados\importacao\11111\entrada\

Veja mais detalhes da estrutura de pastas na página correspondente em DR - 02 - Estrutura de Pastas (importação) - (STIR).

1.4 - Padrão de Nomenclatura do Arquivo:

O sistema irá mover para pasta de erros arquivos que não sigam estritamente o padrão de nomenclatura abaixo.

  • Formato: AAAAMM_CC_NNNNN.json
  • AAAAMM: Competência (Ano e Mês). Ex: 202513 (Anual).
  • CC: Sigla da Interface de Origem (2 letras maiúsculas). Ex: DP, MN.
  • NNNNN: Sequencial numérico (5 dígitos). Ex: 00001.
  • Extensão: Obrigatório ser .json.

Exemplos:

(seleção) 202513_CC_00001.json (Válido)

(seleção) 202113_CF_99999.json (Válido)

(erro) 202513_CC_1.json (Inválido - sequencial curto)

(erro) dados_importacao.json (Inválido - fora do padrão)

1.5 - Substituição dos Dados no Sistema e particionamento dos dados:

(aviso) No caso de envio de um arquivo que possua os mesmos dados de Competência, Interface de Origem e Empresa que outro já importado, o sistema irá sobrescrever as informações desses Declarantes/Clientes que tenham sido cadastrados anteriormente por outro arquivo.


Ou seja, o processamento de arquivos no sistema é substitutivo do ponto de vista das informações já salvas no banco de dados. Veja:

  • Fonte Pagadora: caso seja enviado mesmo documento e houver cadastro no sistema para tal, serão carregadas as mesmas informações da fonte pagadora cadastrada no sistema, caso não encontre, será adicionada com DocumentoFontePagadora e o NomeFontePagadora informados
  • Cliente: caso seja enviado mesmo documento de cliente, todas as informações serão atualizadas com as enviadas inclusive as que não forem obrigatórias e não tenham sido enviadas nessa nova importação serão removidas. Demais informações dentro da estrutura do cliente no json como seus rendimentos serão completamente excluídas e as novas serão cadastradas no lugar.
  • Rendimentos: os rendimentos de cada cliente bem como suas informações de conta e agência serão removidas e as novas serão cadastradas.

(aviso) ATENÇÃO: Se um determinado cliente for enviado em um arquivo com competência '202513' e interface 'CF' e empresa '12345' e novamente outro arquivo com as mesmas informações citadas for importado, mas esse cliente não for incluso, o cliente não sofrerá nenhuma alteração!


Quando mais de um arquivo é enviado com esses dados se houverem QUAISQUER clientes diferentes o sistema apenas incluirá esses novos clientes e substituirá as informações anteriores. 

Com isso é possível, por exemplo, corrigir informações de apenas um (ou mais) cliente enviando apenas um registro (ou mais) em um arquivo a ser importado com competência e interface origem e empresa iguais ao da informação a ser corrigida por exemplo para atualizar os campos de interesse, sejam esses referentes a nome, endereço ou informação pessoal do cliente contida no json, ou adicionar e/ou remover informações de rendimentos enviando menos ou mais rendimentos, ou rendimentos com informações diferentes das iniciais.


(aviso) Então é necessário CUIDADO ao fazer a divisão de dados por arquivo lembrando de sempre incluir todos os dados dos Rendimentos/Declaráveis de uma mesma Competência e Interface de Origem para o mesmo Declarante de uma determinada Empresa no mesmo arquivo! Isso facilita e otimiza o processamento e evita possíveis substituições não desejadas. 

1.6 - Detalhes do Arquivo:

O conteúdo do arquivo deve estar em formato JSON válido e conter a estrutura abaixo. Veja a estrutura completa na página de DR - 03 - Instruções para preenchimento do arquivo de entrada (JSON) - (STIR).

Bloco de código
{
  "Empresa": {
    "CodigoEmpresa": "12345",       // Deve existir no sistema empresa com tal código
    "SiglaInterface": "CC",         // Deve existir na tabela de interfaces de origem
    "Competencia": "202513",        // Formato AAAAMM (13 = Anual) - sem acento
    "ListaDeclarantes": [...]
  }
}

Validação de Cabeçalho (Erro Impeditivo)
Os dados dentro do objeto Empresa são validados contra o banco de dados:

  • CodigoEmpresa: precisa existir empresa com mesmo código cadastrada no sistema
  • SiglaInterface: precisa existir interface de origem cadastrada no sistema com mesma sigla 
  • Competencia: precisa estar no mesmo formato da nomenclatura do arquivo AAAAMM (13 = Anual).

Se houver divergência, o arquivo é movido imediatamente para a pasta erro e nada é processado.

Detalhe dos Declarantes e Rendimentos

O sistema aceita declarantes Pessoa Física (F) e Jurídica (J).

  • Declarante: 
    • Fonte Pagadora (Lista): 
      • Agência/Conta (Lista): 
        • Rendimentos Isentos (Lista - Tabela 02)
        • Tributação Exclusiva (Lista - Tabela 03)
        • Bens e Direitos (Lista - Tabela 04)
        • Dívidas e Ônus (Lista - Tabela 05)


Ciclo de Vida e Pastas de Saída

O sistema move o arquivo automaticamente entre pastas para indicar o status do processamento.

NÃO REMOVA arquivos das pasta processando manualmente, pois inconsistências podem ser geradas por essas movimentações.

  • /entrada: Local onde o usuário deposita o arquivo. O sistema lê daqui.
  • /processando: O sistema move o arquivo para cá enquanto lê e grava no banco.

Destino Final (Pós-processamento):

  • /sucesso: Todos os registros foram importados corretamente.
  • /aviso: O arquivo foi importado, mas alguns declarantes/itens falharam (erros de negócio) e foram ignorados. O restante foi salvo.
  • /erro: Falha crítica (JSON inválido, cabeçalho incorreto, erro de banco). Nada foi salvo.


Monitoramento de Erros

Para saber o motivo de um arquivo ter ido para a pasta /erro ou /aviso, utilize a tela de Monitoramento da Importação, emita um Relatório de Erros de Importação referente àquela importação de interesse ou a API de consulta de erros.

  • Erros Impeditivos (Pasta Erro): Geralmente problemas estruturais como:
    • JSON quebrado
    • CodigoEmpresa no JSON não cadastrado no sistema ou em formato inválido
    • SiglaInterface inexistente no sistema ou formato inválido
    • Permissões insuficientes para criação das pastas ou movimentação dos arquivos
  • Erros de Negócio (Pasta Aviso):
    • Cliente:
      • CPF/CNPJ inválido para cliente, ou combinação inválida (informado PF, mas fornecido CNPJ e vice-versa) - campo obrigatório
      • Nome vazio ou excede 255 caracteres - campo obrigatório
      • Tipo de pessoa inválida (valores aceitos F e J) - campo obrigatório
    • Fonte Pagadora:
      • Nome vazio ou excede 255 caracteres - campo obrigatório
      • CNPJ inválido - campo obrigatório
    • Agência e Conta:
      • TipoBeneficiario inválido - campo obrigatório
      • NumeroConta em formato inválido - não obrigatório
    • Declaráveis/Rendimentos
      • Código de Domínio ou Grupo (quando aplicável) não existente - campo obrigatório
      • Nome do Produto inválido - campo obrigatório
      • Valores numéricos inválidos - verificar campos específicos de cada rendimento na página inicial

Esses erros são registrados individualmente na tabela de erros do sistema.

2 - Consulta Status Importação

3 - Geração de informe

4 - Consultar resultado de geração