Limits
kycert enforces the following limits on every import:| Limit | Value |
|---|---|
| Maximum rows per batch | 500 rows |
| Maximum file size | 5 MB |
| Supported format | .xlsx (Microsoft Excel) |
Spreadsheet format
Your spreadsheet must include the three required columns listed below. All other columns are optional but recommended for a complete KYC record. kycert recognizes common column name variations and aliases, so you do not need to rename your existing spreadsheet headers exactly — as long as the header is recognizable, kycert maps it correctly.Required columns
| Column | Accepted header names | Description |
|---|---|---|
| tipo | tipo, tipo*, type | Registration type: pf for individuals or pj for companies. |
| nome_razao_social | nome, nome_razao_social, razao_social, nome completo, razão social | Full name (individual) or corporate name (company). Minimum 2 characters. |
| cpf_cnpj | cpf_cnpj, cpf, cnpj, documento, cpf/cnpj | CPF for individuals (11 digits) or CNPJ for companies (14 digits). Masks are stripped automatically. |
Optional columns
These fields enrich the customer record and are used in bureau KYC checks. Providing them upfront reduces the chance of aNO_DATA result from verification sources.
| Column | Accepted header names | Notes |
|---|---|---|
email, e-mail | Standard email format. | |
| telefone | telefone, celular, phone, fone | National or international format. Minimum 10 digits after stripping non-numeric characters. |
| data_nascimento | data_nascimento, nascimento, data de nascimento, dt_nascimento | PF only. Format: DD/MM/AAAA or AAAA-MM-DD. Required for individuals. |
| nacionalidade | nacionalidade | Country of nationality. |
| nome_mae | nome_mae, mae, mãe, nome da mãe | Mother’s full name (PF). |
| pep | pep, politicamente exposto | true or false. |
| profissao | profissao, profissão, ocupacao, ocupação | Occupation or profession (PF). |
| renda_mensal | renda_mensal, renda, renda mensal | Declared monthly income (PF), numeric. |
| pais_residencia | pais_residencia, país de residência | Country of residence. |
| nome_fantasia | nome_fantasia, nome fantasia | Trade name (PJ only). |
| cnae | cnae | Primary CNAE activity code (PJ only). |
| faturamento_anual | faturamento_anual, faturamento anual, faturamento | Annual revenue (PJ only), numeric. |
Import process
Navigate to Customers → Import
In your kycert dashboard sidebar, go to Customers, then select Import. This opens the bulk import panel.
Download the template spreadsheet
Click Download Template to get an XLSX file with the correct column headers already in place. Filling in the template is the fastest way to avoid header-mapping errors. The template includes one example row showing the expected formats for each field.
Fill in your spreadsheet and save as .xlsx
Populate your spreadsheet with customer data. Use
pf or pj in the tipo column for each row. Dates should be in DD/MM/AAAA or AAAA-MM-DD format. Save the file in .xlsx format before uploading — .csv and .xls formats are not accepted.Upload the file — kycert validates each row
Drag and drop your
.xlsx file onto the upload area, or click Choose File to browse. kycert reads every row immediately and runs full validation, including CPF/CNPJ check digit verification, email format checks, and duplicate detection. A preview table appears showing the status of each row.Review the validation preview and fix errors
The preview table shows each row with one of three statuses: valid (ready to import), duplicate (CPF/CNPJ already exists in your account), or error (a validation rule failed). For each error row, kycert displays the specific problem so you know exactly what to fix. You can either fix your spreadsheet and re-upload, or proceed and skip the invalid rows — valid rows are always imported regardless.
Validation rules
kycert applies the following checks to every row during the preview step. Rows that fail any required check are flagged aserror and skipped on import unless you fix them.
CPF format and check digit
kycert validates both the format (11 digits) and the mathematical check digit of every CPF. Sequences of repeated digits (e.g.,
111.111.111-11) are also rejected as invalid.CNPJ format and check digit
CNPJ values are validated for length (14 digits) and check digit correctness. The new alphanumeric CNPJ format is also supported.
Email format
Each email address is validated against standard RFC format. Rows with malformed email addresses are flagged but can still be imported if you choose to proceed with the warning.
Phone number format
Phone numbers must contain at least 10 digits after stripping all non-numeric characters. Both national (e.g.,
11987654321) and international (e.g., +5511987654321) formats are accepted.Birth date (PF)
For individual (
pf) rows, data_nascimento is required. kycert accepts DD/MM/AAAA and AAAA-MM-DD formats and rejects unparseable values.Duplicate detection
kycert checks whether each CPF or CNPJ already exists in your account using cryptographic hashing. Duplicates are flagged with the ID of the existing customer record so you can review them before deciding to skip.
Monitoring the import
After confirming, go to Customers → Import Batches to track progress. Each batch entry shows:| Field | Description |
|---|---|
| Total rows | Total number of data rows in the uploaded file. |
| Processed | Rows fully processed (customer created and bureau queued). |
| Errors | Rows that could not be processed due to validation failures. |
| Duplicates | Rows skipped because the CPF/CNPJ already existed. |
| Bureau done / total | Bureau KYC checks completed out of total queued for the batch. |
| Status | Overall batch status: processing, completed, partial_error, or failed. |
Bureau runs on import
When bureau KYC is enabled on your account, kycert automatically triggers a KYC run for every valid imported customer using your configured default template (one template for PF customers, one for PJ). You can review or change which template is used as the default in Settings → Bureau → Default Templates before importing. Bureau runs execute up to three checks in parallel per batch, then process the remaining queue sequentially. Results are available in the Customers list and Analysis Queue as each run completes. If your monthly bureau credit quota is reached mid-import, kycert’s behavior depends on your Settings → Bureau → Quota Exceeded setting: by default, bureau runs that exceed quota are halted (customer records are still created, but no bureau check is queued).Imported customers do not go through the self-registration portal flow. They are created directly using the data in your spreadsheet, bypassing email/phone OTP verification and the PEP self-declaration wizard. Make sure your data is complete and accurate before confirming an import, and that your internal process for obtaining customer consent complies with your BCB 3.978 obligations.