> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conta Simples as a data source

> Bring data from Conta Simples to Nekt.

Conta Simples is a Brazilian digital banking platform designed for businesses, offering corporate credit cards, banking services, and expense management tools. This connector extracts financial transaction data, card information, user data, and category details from your Conta Simples account into your Nekt Catalog.

## Configuring Conta Simples as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click the "Add source" button in the top-right corner, then select Conta Simples from the list of connectors.

Click **Next** and add your access details.

### 1. Add account access

The following configuration fields are available:

* **API Key**: API Key obtained from Conta Simples Internet Banking. Check [Conta Simples developer documentation](https://developers.contasimples.com/br/comece-aqui/quickstart) for instructions on generating your credentials.
* **API Secret**: API Secret obtained from Conta Simples Internet Banking.
* **Start Date**: The earliest date from which statement data will be synced.

After configuring access, click **Next**.

### 2. Select streams

Choose which streams you want to sync. For faster extractions, select only the streams you need.

> Tip: You can search streams by name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how data should appear in your Catalog, including layer, table naming, and sync type.

* **Layer**: Select the destination layer where extracted tables will be created.
* **Table name**: Use the suggested name or customize it. You can also apply a prefix to all tables.
* **Sync Type**: Choose between `INCREMENTAL` and `FULL_TABLE`.

When you're done, click **Next**.

### 4. Configure data source

Add a clear description for this source so your team can identify it easily.

To define your [Trigger](https://docs.nekt.com/runs/scheduling-and-triggers), choose how often data should be extracted (for example, daily, weekly, or at fixed times).

Optionally, configure additional settings:

* Delta Log Retention, which controls how long old table states are kept. Learn more [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync), to periodically complement incremental runs with a complete refresh.

When you are ready, click **Next** to finalize setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, trigger a run manually from the source actions.

<Warning>To see data in the [Catalog](https://app.nekt.ai/catalog), at least one source run must complete successfully.</Warning>

# Streams and Fields

Below are the currently available streams in the Conta Simples connector and their main fields.

<AccordionGroup>
  <Accordion title="Credit Card Statement">
    Credit card transaction records from the `/statements/v1/credit-card` endpoint. Supports incremental sync via `transactionDate`.

    | Field                   | Type     | Description                                                |
    | :---------------------- | :------- | :--------------------------------------------------------- |
    | `id`                    | String   | Unique transaction identifier.                             |
    | `operation`             | String   | Transaction direction: `CASH_IN` or `CASH_OUT`.            |
    | `transactionDate`       | DateTime | Date and time of the transaction.                          |
    | `status`                | String   | Transaction status: `PENDING`, `PROCESSED`, or `CANCELED`. |
    | `isCanceled`            | Boolean  | Whether the transaction was canceled.                      |
    | `type`                  | String   | Transaction type (e.g., `PURCHASE`, `REFUND`, `IOF`).      |
    | `merchant`              | String   | Name of the merchant or establishment.                     |
    | `amountBrl`             | Number   | Transaction amount in BRL.                                 |
    | `exchangeRateUsd`       | Number   | USD exchange rate (for international transactions).        |
    | `card_id`               | String   | Card identifier.                                           |
    | `card_maskedNumber`     | String   | Masked card number (e.g., `**** **** **** 1234`).          |
    | `card_responsibleName`  | String   | Name of the cardholder.                                    |
    | `card_responsibleEmail` | String   | Email of the cardholder.                                   |
    | `card_type`             | String   | Card type: `VIRTUAL` or `PHYSICAL`.                        |
    | `category_id`           | String   | Category identifier.                                       |
    | `category_name`         | String   | Category name.                                             |
    | `costCenter_id`         | String   | Cost center identifier.                                    |
    | `costCenter_name`       | String   | Cost center name.                                          |
    | `isConciled`            | Boolean  | Whether the transaction has been reconciled.               |
    | `installment`           | Integer  | Installment number.                                        |
    | `notes`                 | String   | User-added notes.                                          |
    | `attachments`           | String   | JSON-encoded list of attached files.                       |
  </Accordion>

  <Accordion title="Banking Statement">
    Banking account transaction records from the `/statements/v1/banking` endpoint. Supports incremental sync via `transactionDate`.

    | Field                         | Type     | Description                                                    |
    | :---------------------------- | :------- | :------------------------------------------------------------- |
    | `id`                          | Integer  | Unique transaction identifier.                                 |
    | `companyId`                   | String   | Company identifier.                                            |
    | `status`                      | Integer  | Transaction status code (1=Cancelled, 2=Processed, 3=Pending). |
    | `statusDescription`           | String   | Human-readable status description.                             |
    | `accountId`                   | Integer  | Bank account identifier.                                       |
    | `transactionDate`             | DateTime | Date and time of the transaction.                              |
    | `description`                 | String   | Transaction description.                                       |
    | `notes`                       | String   | User-added notes.                                              |
    | `brlAmount`                   | Number   | Amount in BRL.                                                 |
    | `usdAmount`                   | Number   | Amount in USD.                                                 |
    | `usdExchangeRate`             | Number   | USD exchange rate.                                             |
    | `totalTransactionAmount`      | Number   | Total transaction amount.                                      |
    | `iofAmount`                   | Number   | IOF tax amount.                                                |
    | `feeServiceAmount`            | Number   | Service fee amount.                                            |
    | `mccCode`                     | Integer  | Merchant Category Code.                                        |
    | `mccDescription`              | String   | MCC description.                                               |
    | `sourceDestinationName`       | String   | Name of the source or destination.                             |
    | `placeEstablishment`          | String   | Establishment location.                                        |
    | `transactionType_id`          | Integer  | Transaction type identifier.                                   |
    | `transactionType_description` | String   | Transaction type description.                                  |
    | `category_id`                 | String   | Category identifier.                                           |
    | `category_description`        | String   | Category description.                                          |
    | `costCenter_id`               | String   | Cost center identifier.                                        |
    | `costCenter_description`      | String   | Cost center description.                                       |
    | `user_id`                     | String   | User identifier.                                               |
    | `user_email`                  | String   | User email.                                                    |
    | `conciliation_conciled`       | Boolean  | Whether the transaction has been reconciled.                   |
    | `customCategory_id`           | Integer  | Custom category identifier.                                    |
    | `customCategory_name`         | String   | Custom category name.                                          |
    | `attachments`                 | String   | JSON-encoded list of attached files.                           |
  </Accordion>

  <Accordion title="Cards">
    Credit card listing from the `/credit-cards/v1/cards` endpoint. Supports incremental sync via `updatedAt`.

    | Field               | Type     | Description                                                         |
    | :------------------ | :------- | :------------------------------------------------------------------ |
    | `id`                | String   | Unique card identifier.                                             |
    | `maskedNumber`      | String   | Masked card number (e.g., `**** **** **** 1234`).                   |
    | `cardHolderName`    | String   | Cardholder name.                                                    |
    | `responsible_name`  | String   | Name of the responsible person.                                     |
    | `responsible_email` | String   | Email of the responsible person.                                    |
    | `type`              | String   | Card type: `PHYSICAL` or `VIRTUAL`.                                 |
    | `createdAt`         | DateTime | Card creation date.                                                 |
    | `updatedAt`         | DateTime | Last update date.                                                   |
    | `status`            | String   | Card status: `ACTIVATED`, `BLOCKED`, `CANCELLED`, or `INACTIVATED`. |
    | `expirationDate`    | DateTime | Card expiration date.                                               |
    | `name`              | String   | Assigned card name.                                                 |
    | `purpose`           | String   | Card purpose (e.g., `FREE`, `TRIP`, `ADS`, `SOFTWARE`).             |
    | `costCenter_id`     | String   | Cost center identifier.                                             |
    | `costCenter_name`   | String   | Cost center name.                                                   |
  </Accordion>

  <Accordion title="Categories">
    Expense categories from the `/categories/v1/categories` endpoint. Supports incremental sync via `updatedAt`.

    | Field            | Type     | Description                                 |
    | :--------------- | :------- | :------------------------------------------ |
    | `id`             | Integer  | Category identifier.                        |
    | `createdAt`      | DateTime | Creation date.                              |
    | `updatedAt`      | DateTime | Last update date.                           |
    | `companyId`      | String   | Company identifier.                         |
    | `name`           | String   | Category name.                              |
    | `type_id`        | Integer  | Category type identifier.                   |
    | `type_type`      | String   | Category type: `CUSTOM` or `DEFAULT`.       |
    | `establishments` | String   | JSON-encoded list of linked establishments. |
  </Accordion>

  <Accordion title="Users">
    User accounts from the `/users/v1/users` endpoint.

    | Field       | Type    | Description                 |
    | :---------- | :------ | :-------------------------- |
    | `id`        | String  | User identifier.            |
    | `email`     | String  | User email.                 |
    | `name`      | String  | User name.                  |
    | `phone`     | String  | Phone number.               |
    | `active`    | Boolean | Whether the user is active. |
    | `role_id`   | String  | Role identifier.            |
    | `role_name` | String  | Role name.                  |
  </Accordion>

  <Accordion title="Roles">
    User roles from the `/users/v1/roles` endpoint.

    | Field  | Type   | Description      |
    | :----- | :----- | :--------------- |
    | `id`   | String | Role identifier. |
    | `name` | String | Role name.       |
  </Accordion>

  <Accordion title="Invites">
    Pending user invitations from the `/users/v1/invites` endpoint.

    | Field       | Type     | Description               |
    | :---------- | :------- | :------------------------ |
    | `id`        | String   | Invite identifier.        |
    | `email`     | String   | Invited user email.       |
    | `role_id`   | String   | Assigned role identifier. |
    | `role_name` | String   | Assigned role name.       |
    | `status`    | String   | Invite status.            |
    | `createdAt` | DateTime | Invite creation date.     |
  </Accordion>
</AccordionGroup>

## Implementation Notes

### Date Windowing

The Conta Simples API enforces a maximum of 62 days per query for statement endpoints. The connector automatically splits larger date ranges into 62-day windows and paginates within each window.

### Authentication

This connector uses OAuth2 client credentials flow. Tokens are automatically refreshed every 30 minutes.
