O que é
A importação via CSV permite cadastrar em lote grandes volumes de dados no sistema sem precisar incluir cada registro manualmente. O processo ocorre em duas etapas, pré-validação e confirmação, de modo que você veja os erros antes de qualquer dado ser gravado.
Passo a passo
Etapa 1 — Pré-validação
Acesse Minha conta > Organização > Importação de Dados.
Selecione a opção CSV e Importar.
Defina o tipo de entidade que deseja importar.
Faça o upload do arquivo CSV.
O sistema analisa todas as linhas e exibe um relatório com:
Total de linhas encontradas
Quantidade de linhas válidas
Quantidade de linhas inválidas
Para cada linha inválida: o número da linha e a descrição do erro
Revise os erros. Você pode corrigir o arquivo ainda na tela e antes de prosseguir.
Etapa 2 — Confirmação
Ao confirmar, a importação é iniciada em segundo plano. Você pode acompanhar o progresso em tempo real na tela.
Ao finalizar, o sistema exibirá um dos seguintes estados:
Status | Significado |
Em processamento | Importação ainda em andamento |
Concluída | Todos os registros foram gravados com sucesso |
Concluída com erros | Parte dos registros foi gravada; os que falharam são detalhados em um arquivo de erros disponível para download |
Falhou | Nenhum registro foi gravado |
Se houver erros de processamento, baixe o arquivo de erros gerado, corrija as linhas indicadas e importe novamente apenas elas.
Formato do arquivo
Atributo | Valor |
Extensão |
|
Separador de colunas | (pipe) |
Delimitador de texto |
|
Codificação | UTF-8 |
Primeira linha | Cabeçalho com os nomes das colunas |
Limites e tamanhos
Limite | Valor |
Tamanho testado e suportado | Arquivos de até 50 MB |
Limite explícito de linhas | Não há limite fixo |
Atenção — arquivos grandes: O processamento ocorre em memória e não pode ser retomado em caso de interrupção (queda do servidor, reinício, timeout). Registros já gravados permanecem no banco, mas não há como saber o ponto de parada nem reprocessar apenas o restante. Prefira dividir o arquivo em lotes menores (recomendado: até 10.000 linhas) para reduzir o tempo de processamento, o risco de timeout e o impacto de uma eventual falha — além de facilitar a correção de erros.
Validações aplicadas
Pré-validação (antes de gravar)
Erro | Tratativa |
Campo obrigatório em branco | Sempre que o campo está marcado como obrigatório |
Formato de CPF inválido | Campos com formato |
Formato de CNPJ inválido | Campos com formato |
Formato de data inválido | Campos de data — aceita |
Estrutura de campo composto inválida | Campos com separadores internos ( |
Processamento (durante a gravação)
Validação | Entidades afetadas |
Data não pode ser anterior a 20 anos | ASO, Atestado Médico, Deficiência, Questionário Clínico, Vacinas, Riscos |
Registros que falham nessa validação são registrados no arquivo de erros e pulados; os demais continuam sendo gravados. |
|
Entidades suportadas
ASO
Colunas obrigatórias: individualRegistration, consultationDate, consultationType, doctorName, crm, state, motivation, scheduleDate, consultationNature, nature, emissionDate, recommendation
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | CPF | CPF do colaborador. Deve ter prontuário cadastrado |
| Sim |
| Data e hora da consulta |
| Não | Inteiro | Duração da consulta em minutos. Padrão: |
| Sim |
| Tipo de consulta — ver tabela |
| Sim | Texto | Nome completo do médico |
| Sim | Texto | Número do CRM do médico |
| Sim | UF | Estado do CRM (ex: |
| Sim | Texto | Motivo da consulta |
| Não |
| Data clínica do exame |
| Não |
| Indicador do resultado — |
| Não | Texto | Descrição do resultado |
| Não |
| Indicador diagnóstico — |
| Não | Composto | Exames complementares — ver estrutura abaixo |
| Sim |
| Data de agendamento |
| Sim |
| Natureza da consulta — ver tabela |
| Sim |
| Natureza do ASO — ver tabela |
| Não |
| Data de cancelamento |
| Sim |
| Data de emissão do ASO |
| Sim |
| Resultado — ver tabela |
| Não |
| Trabalho em plataforma |
| Não |
| Manutenção civil |
| Não |
| Uso de explosivos |
| Não |
| Trabalho em altura |
| Não |
| Escavação |
| Não |
| Eletricidade |
| Não |
| Solda |
| Não |
| Espaço confinado |
| Não |
| Frio |
| Não |
| Radiação |
| Não |
| Pressão |
| Não |
| Manuseio de cargas |
consultationType — Tipo de consulta
Valor | Descrição |
| Ocupacional |
| Exame Toxicológico |
| Clínica |
| Urgência |
| Qualidade de Vida |
| Monitoramento |
consultationNature e nature — Natureza
Valor | Descrição |
| Admissional |
| Periódico |
| Retorno ao trabalho |
| Mudança de função |
| Demissional |
| Monitoramento pontual |
recommendation — Parecer
Valor | Descrição |
| Apto |
| Inapto |
| Apto com restrições |
exams — Estrutura dos exames complementares
Múltiplos exames separados por @. Cada exame: nomeCredenciado;nomeExame
"Hospital Jaraguá;Audiometria@Lab Central;Hemograma"
Exemplo
"individualRegistration" | "consultationDate" | "minutes" | "consultationType" | "doctorName" | "crm" | "state" | "motivation" | "scheduleDate" | "consultationNature" | "nature" | "emissionDate" | "recommendation" "488.569.137-04" | "2021-09-02 10:00" | "30" | "0" | "Eduardo Paz" | "45741" | "SC" | "Admissional" | "2021-09-02" | "0" | "0" | "2021-09-02" | "0"
Atestado Médico
Colunas obrigatórias: individualRegistration, dateStart, dateEnd, amountOfTreatmentDays, certificateType, doctorName, doctorCrm, crmState, doctorType
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | CPF | CPF do colaborador |
| Sim |
| Data de início do atestado |
| Sim |
| Data de fim do atestado |
| Sim | Inteiro | Quantidade de dias de tratamento |
| Sim |
| Tipo do documento — ver tabela |
| Não | Código CID | Código CID (ex: |
| Não | Código grupo CID | Grupo CID (ex: |
| Não | Texto | Observação livre |
| Não | ERP ID | ID do tipo de afastamento. Requer |
| Não | ERP ID | ID do tipo de abono. Requer tipo = Declaração |
| Não |
| Início do afastamento |
| Não |
| Fim do afastamento |
| Sim | Texto | Nome do médico ou dentista |
| Sim | Texto | Número do CRM/CRO |
| Sim | UF | Estado do CRM (ex: |
| Sim |
| Tipo de profissional — |
certificateType — Tipo do documento
Valor | Descrição |
| Declaração |
| Atestado |
| Licença maternidade |
| Aposentadoria por invalidez |
Exemplo
"individualRegistration" | "dateStart" | "dateEnd" | "amountOfTreatmentDays" | "certificateType" | "icdId" | "observation" | "doctorName" | "doctorCrm" | "crmState" | "doctorType" "488.569.137-04" | "2023-06-01 03:00" | "2023-06-03 03:00" | "3" | "1" | "A00.0" | "Repouso recomendado" | "Francisco" | "123456" | "SC" | "0"
Credenciado
Colunas obrigatórias: name, contractStart
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | Texto | Nome do credenciado. Deve ser único |
| Não | CNPJ | CNPJ do prestador. Deve estar ativo no sistema |
| Sim |
| Data de início do contrato |
| Não | Composto | Exames oferecidos — ver estrutura abaixo |
exams — Estrutura dos exames
Múltiplos exames separados por @. Cada exame: nomeExame;preço
"Hemograma Completo;35@Audiometria;250"
Exemplo
"name" | "documentNumber" | "contractStart" | "exams" "Health S.A." | "" | "2022-01-01" | "Hemograma Completo;35@Audiometria;250"
Deficiência
Colunas obrigatórias: individualRegistration, type, date
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | CPF | CPF do colaborador |
| Sim |
| Tipo de deficiência — ver tabela |
| Sim |
| Data do diagnóstico |
| Não |
| Data de recuperação. Não pode ser anterior a 20 anos |
| Não | Código CID | Código CID (ex: |
| Não | Texto | Observação livre |
type — Tipo de deficiência
Valor | Descrição |
| Física |
| Visual |
| Mental |
| Auditiva |
| Psicossocial |
| Fala |
| Intelectual |
| Reabilitado |
Exemplo
"individualRegistration" | "type" | "date" | "recoveryDate" | "icd" | "observation" "488.569.137-04" | "3" | "2021-09-02" | "" | "A00.0" | "Perda auditiva bilateral"
Prontuário Médico
Colunas obrigatórias: individualRegistration
Todos os demais campos são opcionais e atualizam os dados cadastrais do colaborador.
Colunas principais
Coluna | Formato | Descrição |
| CPF | CPF do colaborador (obrigatório) |
| Texto | Nome completo |
|
| Data de nascimento |
|
| É candidato |
|
|
|
|
| Tipo sanguíneo |
|
| Doador de sangue |
|
| Fumante |
| Número | Peso em kg |
| Número | Altura em cm |
| Inteiro | Cor dos olhos (índice do enum) |
| Inteiro | Cor da pele (índice do enum) |
| Inteiro | Cor do cabelo (índice do enum) |
| Número | Pressão sistólica |
| Número | Pressão diastólica |
| Número | Temperatura corporal |
| Número | Pulso |
| Texto | Histórico clínico |
Medidas antropométricas (todas opcionais, em cm)
eyeHeight, nippleLine, pubicHeight, kneeHeight, elbowHeight, armSize, forearmSize, handSize, legLength, shoeSize
Exemplo
"individualRegistration" | "name" | "birthday" | "gender" | "bloodType" | "weight" | "height" | "smoker" "18211931052" | "Saulo Mestrini" | "1998-03-26" | "0" | "0" | "92" | "190" | "false"
Questionário
Colunas obrigatórias: description, questionsGroup, quizType
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | Texto | Nome do questionário. Deve ser único |
| Sim | Composto | Perguntas e opções de resposta — ver estrutura |
| Sim |
| Tipo do questionário — ver tabela |
quizType — Tipo do questionário
Valor | Descrição |
| Saúde |
| Segurança |
| Ambos |
questionsGroup — Estrutura das perguntas
Múltiplas perguntas separadas por @. Cada pergunta: textoPergunta;opção1&opção2&opção3
"Goza de boa saúde;Sim&Não@Está em tratamento médico;Sim&Não&Não sei"
Exemplo
"description" | "questionsGroup" | "quizType" "Admissional" | "Goza de boa saúde;Sim&Não@Está fazendo algum tratamento médico;Sim&Não" | "0"
Questionário Clínico
Colunas obrigatórias: individualRegistration, realizationDate, quiz, response
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | CPF | CPF do colaborador |
| Sim |
| Data de realização. Não pode ser anterior a 20 anos |
| Sim | Texto | Nome do questionário. Deve existir no sistema |
| Sim | Composto | Respostas — ver estrutura |
response — Estrutura das respostas
Múltiplas respostas separadas por @. Cada resposta: índiceDaOpção;detalhes
O índice corresponde à posição (0-based) da opção de resposta cadastrada no questionário.
"1;Detalhes adicionais@0;Não sei"
Exemplo
"individualRegistration" | "realizationDate" | "quiz" | "response" "488.569.137-04" | "2020-09-08 10:00" | "Admissional" | "1;Detalhes@0;Não sei"
Riscos
Colunas obrigatórias: recognitionDate, riskAgent, generatingSource, environment
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim |
| Data de reconhecimento do risco |
| Sim | Composto | Agente de risco — ver estrutura |
| Sim | Texto | Fonte geradora. Criada automaticamente se não existir |
| Sim | Texto | Ambiente físico. Criado automaticamente se não existir |
| Não | Composto | Centros de custo — ver estrutura |
| Não | Composto | Departamentos — ver estrutura |
| Não | Composto | Cargos/funções — ver estrutura |
| Não | Composto | Tarefas — separadas por |
| Não | Composto | Pessoas — ver estrutura |
| Não | Composto | Medições — ver estrutura |
| Não | Composto | Medidas de controle — ver estrutura |
| Não | Composto | EPIs — cada um: |
| Não | Composto | Treinamentos — ver estrutura |
| Não | Composto | Exames — ver estrutura |
riskAgent — Agente de risco
eCode;descrição;grupo;avaliação
Campo | Valor |
| Código eSocial do agente (deixe vazio se não houver) |
| Nome do agente. Criado automaticamente se não existir |
|
|
|
|
";Ruído;0;0"
costCenter, department, occupation — Estrutura
Múltiplos itens separados por @. Cada item: erpId;descrição Se o erpId for informado, busca por ele; caso contrário, pela descrição. Criado automaticamente se não existir.
"001;Administrativo@002;Operacional"
person — Estrutura de pessoa
Múltiplas pessoas separadas por @. Cada pessoa: erpId;nome;cpf;dataNascimento;genero
Campo | Valor |
|
|
";João Silva;123.456.789-00;1990/05/20;0@;Maria Souza;987.654.321-00;1985/11/03;1"
measurement — Medição
Múltiplas medições separadas por @. Cada medição: data;quantidade;instrumentoDecrição
"2021/08/30;10;Decibelímetro@2021/09/01;8;Decibelímetro"
controlMeasure — Medida de controle
Múltiplas medidas separadas por @. Cada medida: nome;tipo
Tipo | Descrição |
| Proteção individual |
| Proteção coletiva |
| Monitoramento biológico |
| Medidas administrativas |
| Engenharia |
| Outros |
"Uso de protetor auricular;0@Cabine acústica;1"
training — Treinamento
Múltiplos treinamentos separados por @. Cada treinamento: erpId;descrição;urgência
Urgência | Descrição |
| Indispensável |
| Desejado |
| Recomendado |
";NR-15 Ruído;0@;NR-6 EPI;2"
exam — Exame por risco
Múltiplos exames separados por @. Cada exame:
descrição;tipoResultado;admissão;periódico;faixaEtária;retornoTrabalho;mudançaFunção;demissional
Campo | Valores |
|
|
|
|
|
|
"Audiometria;3;true;true;anual#0#99#12#0;false;false;false"
Exemplo
"recognitionDate" | "riskAgent" | "generatingSource" | "environment" | "costCenter" | "ipe" "2021-08-17" | ";Ruído;0;0" | "Máquinas industriais" | "Linha de produção" | "001;Produção" | "27182"
Vacinas
Colunas obrigatórias: individualRegistration, vaccine, date, status, currentDose, dose
Colunas
Coluna | Obrigatório | Formato | Descrição |
| Sim | CPF | CPF do colaborador. Deve ter prontuário cadastrado |
| Sim | Composto | Definição da vacina — ver estrutura abaixo |
| Não | Texto | Número do lote da vacina |
| Sim |
| Data de aplicação. Não pode ser anterior a 20 anos |
| Sim |
| Situação do registro — ver tabela |
| Sim |
| Dose atual — ver tabela |
| Sim | Inteiro | Número sequencial da dose (ex: |
vaccine — Definição da vacina
8 valores separados por ; na seguinte ordem:
nome;genero;idadeMin;idadeMax;reforco;intervaloReforco;intervalo2aDose;intervalo3aDose
Posição | Campo | Valores aceitos | Descrição |
1 |
| Texto | Nome da vacina. Criada automaticamente se não existir |
2 |
|
|
|
3 |
| Inteiro | Idade mínima indicada, em meses |
4 |
| Inteiro | Idade máxima indicada, em meses |
5 |
|
|
|
6 |
| Inteiro | Intervalo entre reforços, em dias |
7 |
| Inteiro | Intervalo entre 1ª e 2ª dose, em dias |
8 |
| Inteiro | Intervalo entre 2ª e 3ª dose, em dias |
status — Situação
Valor | Descrição |
| Pendente |
| Realizada |
| Recusa |
currentDose — Dose atual
Valor | Descrição |
| 1ª dose |
| 2ª dose |
| 3ª dose |
| Reforço |
Exemplo
"individualRegistration" | "vaccine" | "batch" | "date" | "status" | "currentDose" | "dose" "936.406.870-00" | "Coronavac;2;0;99;2;5;5;11" | "ABC240" | "2022-05-17 10:15" | "1" | "1" | "1"
Integrações e efeitos colaterais
A importação via CSV não gera eventos para o eSocial. Nenhuma das entidades suportadas enfileira mensagens no eSocial durante o processo de importação, inclusive o ASO, que em criações manuais dispararia o S-2220.
