Layout CSV — Estoque Diário (Importação)¶
Documentação do formato de arquivo CSV de estoque diário.
1. Características Gerais do Arquivo¶
| Item | Valor |
|---|---|
| Extensão | .csv |
| Encoding | UTF-8 (recomendado; o leitor decodifica como UTF-8) |
| Delimitador | ; (ponto e vírgula) — preferencial. Aceita , (vírgula) como fallback se nenhum campo for detectado |
| Quebra de linha | \r\n ou \n |
| Cabeçalho | Obrigatório na primeira linha; nomes de colunas case-insensitive |
| Locale numérico | pt-BR — decimais com vírgula (ex.: 6427,78); milhar opcional com . |
| Locale de datas | pt-BR — formato dd/MM/yyyy (ex.: 05/12/2025) |
| Ordem das colunas | Livre — o leitor identifica colunas pelo nome do cabeçalho |
| Colunas extras | Permitidas — colunas desconhecidas são ignoradas e logadas como "Coluna inesperada" |
Importante: Apenas a coluna
DATA_REFERENCIA(aliasfund_date) é estritamente obrigatória — sua ausência ou valor vazio causa erro no parsing. Todas as demais colunas são opcionais sob a ótica do leitor, mas é fortemente recomendado preencher os identificadores e valores principais (CNPJ do fundo, documentos do cedente/sacado, valores e datas) para que o título seja útil para o negócio.
2. Convenções de Tipos¶
| Tipo | Formato | Exemplo | Vazio aceito? |
|---|---|---|---|
string | texto livre, trim aplicado | FIDC EXEMPLO I | sim → null |
documento (CNPJ/CPF) | string com ou sem pontuação; pontuação é removida automaticamente | 00000000000191 ou 00.000.000/0001-91 | sim → null |
decimal | pt-BR, vírgula como separador decimal | 6427,78 | sim → null (exceto MORA/MULTA/JUROS que assumem 0) |
int | número inteiro | 165 | sim → null |
date | dd/MM/yyyy | 05/12/2025 | sim → null (exceto DATA_REFERENCIA) |
3. Tabela de Colunas¶
Legenda de obrigatoriedade:
- 🔴 Obrigatório — falha o parsing se vazio
- 🟡 Recomendado — opcional para o leitor, mas necessário para uso de negócio
- ⚪ Opcional — pode ficar em branco
| # | Coluna (preferencial) | Aliases aceitos | Tipo | Obrig. | Descrição |
|---|---|---|---|---|---|
| 1 | NM_FUNDO | NOME_FUNDO, fund_name | string | 🟡 | Nome do fundo (FIDC) |
| 2 | NU_CNPJ | DOC_FUNDO, fund_document | documento | 🟡 | CNPJ do fundo (pontuação é removida) |
| 3 | DATA_FUNDO | report_date | date | ⚪ | Data de referência cadastral do fundo |
| 4 | NOME_ORIGINADOR | originator_name | string | 🟡 | Nome do originador |
| 5 | DOC_ORIGINADOR | originator_document | documento | 🟡 | CNPJ/CPF do originador |
| 6 | NOME_CEDENTE | assignor_name | string | 🟡 | Nome do cedente |
| 7 | DOC_CEDENTE | assignor_document | documento | 🟡 | CNPJ/CPF do cedente |
| 8 | NOME_SACADO | borrower_name | string | 🟡 | Nome do sacado (devedor) |
| 9 | DOC_SACADO | borrower_document | documento | 🟡 | CNPJ/CPF do sacado |
| 10 | SEU_NUMERO | external_id | string | 🟡 | Identificador externo do título (do cliente/originador) |
| 11 | NU_DOCUMENTO | contract_number | string | 🟡 | Número do documento/título |
| 12 | TIPO_RECEBIVEL | asset_type | string | 🟡 | Espécie do recebível (ex.: Duplicata de Servico, Duplicata Mercantil, CCB, NP) |
| 13 | VALOR_NOMINAL | face_value | decimal | 🟡 | Valor de face do título |
| 14 | VALOR_PRESENTE | present_value | decimal | 🟡 | Valor presente (descontado) do título |
| 15 | VALOR_AQUISICAO | purchase_value | decimal | 🟡 | Valor de aquisição na cessão |
| 16 | VALOR_PDD | bad_provision_value | decimal | ⚪ | Provisão para devedores duvidosos |
| 17 | FAIXA_PDD | bad_provision_range | string | ⚪ | Faixa/aging de PDD (ex.: A, B, C) |
| 18 | DATA_REFERENCIA | fund_date | date | 🔴 | Obrigatória — data de corte da posição |
| 19 | DATA_VENCIMENTO_ORIGINAL | maturity_date | date | 🟡 | Vencimento original do título |
| 20 | DATA_VENCIMENTO_AJUSTADA | adjusted_maturity_date | date | ⚪ | Vencimento ajustado (renegociação) |
| 21 | DATA_EMISSAO | issue_date | date | 🟡 | Data de emissão do título |
| 22 | DATA_AQUISICAO | purchase_date | date | 🟡 | Data de aquisição/cessão |
| 23 | PRAZO | total_duration | int | ⚪ | Prazo original em dias |
| 24 | PRAZO_ATUAL | present_duration | int | ⚪ | Prazo atual (dias até vencimento) |
| 25 | SITUACAO_RECEBIVEL | — | string | ⚪ | Ex.: A Vencer, Vencido, Liquidado, Protestado |
| 26 | TAXA_CESSAO | — | decimal | ⚪ | Taxa de cessão (ex.: 0,1799998839) |
| 27 | TX_RECEBIVEL | purchase_rate_of_return | decimal | ⚪ | Taxa do recebível (spread/fee) |
| 28 | COOBRIGACAO | — | string | ⚪ | Indicador de coobrigação (ex.: SIM / NAO) |
| 29 | COD_ORIGINADOR | — | string | ⚪ | Código sistêmico do originador |
| 30 | CHAVE_NFE | — | string | ⚪ | Chave de acesso da NFe vinculada (44 dígitos) |
| 31 | NOSSO_NUMERO | DS_NOSSO_NUMERO | string | ⚪ | Identificador bancário (nosso número) |
| 32 | MORA | — | decimal | ⚪ | Valor de mora (default 0 quando vazio) |
| 33 | MULTA | — | decimal | ⚪ | Valor de multa (default 0 quando vazio) |
| 34 | JUROS | — | decimal | ⚪ | Valor de juros (default 0 quando vazio) |
4. Regras de Validação e Parsing¶
4.1 Strings¶
- Espaços em branco no início/fim são trimados.
- Strings vazias são convertidas para
null.
4.2 Documentos (CNPJ/CPF)¶
- Pontuação (
.,/,-) é removida automaticamente. - Aceita ambos os formatos:
00.000.000/0001-91e00000000000191. - O leitor não valida dígito verificador; o cliente deve garantir documentos válidos na origem.
4.3 Decimais¶
- Use vírgula como separador decimal:
6427,78✅ —6427.78❌. - Negativos são aceitos:
-100,50. - Valor vazio →
null(excetoMORA,MULTAeJUROS, que assumem0). - Valor inválido (ex.:
abc) → erro de parsing:Não é possível converter {Campo} com valor '{valor}'.
4.4 Datas¶
- Formato esperado:
dd/MM/yyyy(culturapt-BR). DATA_REFERENCIA(fund_date) é a única obrigatória: vazio ou inválido causa erro.- Demais datas: vazio →
null; inválido (ex.:2025-12-05) → erro de parsing.
4.5 Inteiros¶
- Apenas dígitos. Vazio →
null. Inválido → erro de parsing.
4.6 Cabeçalhos¶
- Comparação case-insensitive (
NM_FUNDO=nm_fundo=Nm_Fundo). - Colunas não reconhecidas são ignoradas e logadas (não bloqueiam o processamento).
- A primeira linha do arquivo é sempre tratada como cabeçalho.
5. Exemplo de Arquivo¶
Os CNPJs e nomes abaixo são fictícios, apenas para fins de demonstração de formato. Substitua pelos dados reais ao gerar o arquivo de produção.
Cabeçalho (todas as colunas)¶
NM_FUNDO;NU_CNPJ;DATA_FUNDO;NOME_ORIGINADOR;DOC_ORIGINADOR;NOME_CEDENTE;DOC_CEDENTE;NOME_SACADO;DOC_SACADO;SEU_NUMERO;NU_DOCUMENTO;TIPO_RECEBIVEL;VALOR_NOMINAL;VALOR_PRESENTE;VALOR_AQUISICAO;VALOR_PDD;FAIXA_PDD;DATA_REFERENCIA;DATA_VENCIMENTO_ORIGINAL;DATA_VENCIMENTO_AJUSTADA;DATA_EMISSAO;DATA_AQUISICAO;PRAZO;PRAZO_ATUAL;SITUACAO_RECEBIVEL;TAXA_CESSAO;TX_RECEBIVEL;COOBRIGACAO;COD_ORIGINADOR;CHAVE_NFE;NOSSO_NUMERO
Linhas de exemplo¶
FIDC EXEMPLO I;00000000000191;05/12/2025;ORIGINADORA EXEMPLO LTDA;11111111000111;CEDENTE EXEMPLO LTDA;22222222000122;SACADO EXEMPLO LTDA;33333333000133;000000000001;0000000001;Duplicata de Servico;6427,78;6415,13;5767,60;0,00;A;04/12/2025;09/12/2025;09/12/2025;15/04/2025;15/04/2025;165;3;A Vencer;0,1799998839;0,1800011238;NAO;CLI0001;00000000000000000000000000000000000000000001;000000000001
FIDC EXEMPLO I;00000000000191;05/12/2025;ORIGINADORA EXEMPLO LTDA;11111111000111;CEDENTE EXEMPLO LTDA;22222222000122;SACADO EXEMPLO LTDA;33333333000133;000000000002;0000000002;Duplicata de Servico;3970,43;3962,61;3562,64;0,00;A;04/12/2025;09/12/2025;09/12/2025;15/04/2025;15/04/2025;165;3;A Vencer;0,1799998839;0,1800000164;NAO;CLI0001;00000000000000000000000000000000000000000002;000000000002
Exemplo mínimo (apenas colunas recomendadas)¶
NU_CNPJ;DOC_CEDENTE;DOC_SACADO;NU_DOCUMENTO;TIPO_RECEBIVEL;VALOR_NOMINAL;VALOR_PRESENTE;VALOR_AQUISICAO;DATA_REFERENCIA;DATA_VENCIMENTO_ORIGINAL;DATA_EMISSAO
00000000000191;22222222000122;33333333000133;0000000001;Duplicata de Servico;6427,78;6415,13;5767,60;04/12/2025;09/12/2025;15/04/2025
6. Erros Comuns e Como Evitar¶
| Sintoma | Causa | Correção |
|---|---|---|
Arquivo não é um CSV válido | Cabeçalho ausente ou delimitador diferente de ; e , | Garantir 1ª linha de cabeçalho com ; como separador |
Não é possível converter DataReferencia com valor '' | DATA_REFERENCIA vazia | Preencher DATA_REFERENCIA (obrigatória) em todas as linhas |
Não é possível converter ValorNominal com valor '6427.78' | Decimal com . em vez de , | Usar pt-BR: 6427,78 |
Não é possível converter DataVencimentoOriginal com valor '2025-12-09' | Data em formato ISO | Usar dd/MM/yyyy: 09/12/2025 |
| Coluna ignorada silenciosamente | Nome de cabeçalho fora da lista de aceitos/aliases | Renomear coluna para o nome preferencial da tabela |
| Caracteres acentuados quebrados | Encoding diferente de UTF-8 (ex.: ANSI/Latin1) | Salvar arquivo como UTF-8 |
| Documento com formato inválido após import | Dígito verificador errado | Validar CNPJ/CPF na origem antes de gerar o CSV |