> ## 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.

# Conexa as a data source

> Bring data from Conexa to your Lakehouse.

Conexa is a Brazilian management platform for recurring billing, finance, and coworking spaces. The connector extracts your customers and the people linked to them, plans, contracts, sales and recurring sales, charges, expenses (bills), suppliers, accounts, and the settings around them, such as products, service categories, and receiving and payment methods. For Conexa Coworking accounts, it also extracts room bookings. With it you can analyze your recurring revenue, billing and collections, expenses, and customer base in your Lakehouse.

## Configuring Conexa as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Conexa option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

Conexa authenticates with an Application Token and your account's subdomain. To create the token, an administrator goes to **Config > Integrações > API / Token** in Conexa, creates a token, and copies it.

<Tip>Create the token with access to all units, so every unit's data is extracted. The connector only reads data.</Tip>

The following configurations are available:

* **Subdomain**: the first part of the address you use to open Conexa. For `https://mycompany.conexa.app`, enter `mycompany`. Required.

* **Application Token**: the token created in **API / Token**. Required.

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

### 2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
* **Folder**: a folder can be created inside the selected layer to group all tables being created from this new data source.
* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once and make this process faster!
* **Sync Type**: all Conexa streams are FULL\_TABLE: Conexa does not let the connector ask only for records changed since the last sync, so every sync reads the whole table. Read more about Sync Types [here](https://docs.nekt.com/get-started/core-concepts/types-of-sync).

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/get-started/core-concepts/triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

## Limits and behavior

* Conexa allows 60 requests per minute per account, shared with any other integration that uses the same account. The connector reads 100 records per request and stays under that limit, so large accounts take longer to sync: about 6,000 records per minute.
* If the token cannot read a stream (for example, a module that is not part of your Conexa plan), that stream is skipped with a warning and its table is not updated. The sync fails only when none of the selected streams can be read.
* Fields marked "Conexa Coworking" are only filled for accounts of that product.

# Streams and Fields

Below you'll find all available data streams from Conexa and their corresponding fields. API reference: [Conexa API v2](https://documenter.getpostman.com/view/25182821/2s93RZMpcB).

<Note>Timestamps are stored in UTC. Objects and lists of objects (addresses, custom fields, quotas, complementary services) are stored as JSON text, and the most used values inside them also get their own columns (for example `cpf`, `cnpj`, `product_id`, `place_name`).</Note>

<AccordionGroup>
  <Accordion title="Companies (units)">
    The units (branches) your Conexa account manages (`GET /companies`).

    Primary key: `company_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `company_id` | Integer | Unique identifier of the unit (company). |
    | `trade_name` | String | Trade name of the unit. |
    | `legal_name` | String | Legal name of the unit. |
    | `cnpj` | String | CNPJ (Brazilian company taxpayer number) of the unit, digits only. |
    | `address` | String | Address of the unit (JSON object): zipCode, street, number, neighborhood, additionalDetails, city and state (id, name and abbreviation). |
    | `city` | String | City of the unit's address. |
    | `state` | String | State (abbreviation, e.g. SP) of the unit's address. |
    | `phone` | String | Phone number of the unit. |
    | `notification_emails` | Array of strings | E-mail addresses that receive notifications. |
    | `backup_emails` | Array of strings | Backup e-mail addresses. |
    | `time_zone` | String | Time zone of the unit (e.g. America/Sao\_Paulo). |
    | `notes` | String | Notes on the unit. |
    | `active` | Boolean | Whether the unit is active. |
    | `created_at` | Datetime | When the unit was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the unit was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Customers">
    Your customers, individuals or companies, with documents, contacts, address, tax withholding settings, and custom fields (`GET /customers`).

    Primary key: `customer_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `customer_id` | Integer | Unique identifier of the customer. |
    | `company_id` | Integer | Identifier of the unit (company) the customer belongs to. |
    | `name` | String | Legal name (legal entity) or full name (individual) of the customer. |
    | `trade_name` | String | Trade name of the customer. |
    | `first_name` | String | First name of the customer. |
    | `pronunciation` | String | How the customer's name is pronounced. |
    | `field_of_activity` | String | Line of business of the customer. |
    | `notes` | String | Notes on the customer. |
    | `is_juridical_person` | Boolean | Whether the customer is a legal entity (company). |
    | `is_foreign` | Boolean | Whether the customer is foreign. |
    | `cpf` | String | CPF (Brazilian individual taxpayer number) of an individual customer. |
    | `cnpj` | String | CNPJ (Brazilian company taxpayer number) of a legal-entity customer. |
    | `natural_person` | String | Data of an individual customer (JSON object): cpf, rg, birthDate, issuingAuthority, maritalStatus and profession. |
    | `legal_person` | String | Data of a legal-entity customer (JSON object): cnpj, foundationDate, stateInscription and municipalInscription. |
    | `foreign` | String | Data of a foreign customer (JSON object): document, birthDate and profession. |
    | `address` | String | Address of the customer (JSON object): zipCode, street, number, neighborhood, additionalDetails, city and state (id, name and abbreviation). |
    | `city` | String | City of the customer's address. |
    | `state` | String | State (abbreviation, e.g. SP) of the customer's address. |
    | `cell_number` | String | Mobile phone number. |
    | `phones` | Array of strings | Contact phone numbers. |
    | `emails` | Array of strings | E-mail addresses of the customer. |
    | `emails_message` | Array of strings | E-mail addresses that receive messages for the customer. |
    | `emails_financial_messages` | Array of strings | E-mail addresses that receive financial notices. |
    | `website` | String | Website of the customer. |
    | `has_login_access` | Boolean | Whether the customer can log in to the Conexa customer area. |
    | `login` | String | Login of the customer area. |
    | `automatically_issue_nfse` | String | When the service invoice (NFS-e) is issued automatically: whenGeneratingBilling, afterPaymentBilling or notIssue. |
    | `notes_nfse` | String | Notes printed on the customer's service invoices (NFS-e). |
    | `has_iss_retention` | Boolean | Whether the customer withholds ISS (municipal service tax). |
    | `tax_deductions` | String | Taxes the customer withholds (JSON object of flags): iss, ir, pis, inss, csll and cofins. |
    | `tags_id` | Array of integers | Identifiers of the tags assigned to the customer. |
    | `is_blocked` | Boolean | Whether the customer is blocked. |
    | `is_active` | Boolean | Whether the customer is active. |
    | `extra_fields` | String | Custom (extra) fields of the customer (JSON array of objects with id, name and value). |
    | `default_due_day` | Integer | Default due day of the month of the customer's charges. |
    | `created_at` | Datetime | When the customer was registered in Conexa (UTC). |
    | `is_networking_profile_visible` | Boolean | Whether the customer's profile is shown in the networking area of the customer area (Conexa Coworking). |
    | `is_blocked_booking_customer_area` | Boolean | Whether the customer is prevented from booking from the customer area (Conexa Coworking). |
    | `is_allowed_booking_outside_business_hours` | Boolean | Whether the customer can book outside business hours (Conexa Coworking). |
    | `internet_plan` | String | Name of the customer's internet plan (Conexa Coworking, Mikrotik module). |
    | `business_presentation` | String | Short presentation of the customer (Conexa Coworking). |
    | `offered_services_products` | String | Services and products the customer offers (Conexa Coworking). |
    | `reception_orientations` | String | Instructions for the front desk (Conexa Coworking). |
    | `mailing_orientations` | String | Instructions for handling the customer's mail (Conexa Coworking). |
    | `mailing_address` | String | Mailing address of the customer (JSON object, Conexa Coworking): zipCode, street, number, neighborhood, additionalDetails, landmark, city and state. |
    | `extension_numbers` | Array of strings | Phone extensions of the customer (Conexa Coworking). |
    | `dedicated_phones` | String | Dedicated phone lines of the customer (JSON array of objects with id and phone, Conexa Coworking). |
    | `mailboxes` | Array of strings | Mailboxes (P.O. boxes) of the customer (Conexa Coworking). |
  </Accordion>

  <Accordion title="Persons">
    People linked to customers: partners, guarantors, and staff with access to the customer area (`GET /persons`).

    Primary key: `person_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `person_id` | Integer | Unique identifier of the person. |
    | `customer_id` | Integer | Identifier of the customer the person is linked to. |
    | `company_id` | Integer | Identifier of the unit (company) the person belongs to. |
    | `name` | String | Name of the person. |
    | `cpf` | String | CPF (Brazilian taxpayer number). |
    | `rg` | String | RG (Brazilian identity card) number. |
    | `issuing_authority` | String | Authority that issued the RG (e.g. SSP). |
    | `birth_date` | Date | Date of birth. |
    | `marital_status` | String | Marital status: single, married, divorced, widowed or not informed. |
    | `sex` | String | Sex: I (not informed), M (male) or F (female). |
    | `nationality` | String | Nationality. |
    | `place_of_birth` | String | Place of birth. |
    | `profession` | String | Profession. |
    | `job_title` | String | Job title at the customer. |
    | `resume` | String | Short résumé of the person. |
    | `notes` | String | Notes on the person. |
    | `is_foreign` | Boolean | Whether the person is foreign. |
    | `is_company_partner` | Boolean | Whether the person signs on behalf of the customer company. |
    | `is_guarantor` | Boolean | Whether the person is a guarantor of the customer. |
    | `is_individual_customer` | Boolean | Whether the person is the customer itself (individual customer). |
    | `has_login_access` | Boolean | Whether the person can log in to the Conexa customer area. |
    | `is_active` | Boolean | Whether the person is active. |
    | `cell_number` | String | Mobile phone number. |
    | `phones` | Array of strings | Phone numbers. |
    | `emails` | Array of strings | E-mail addresses. |
    | `photo` | String | URL of the person's photo. |
    | `address` | String | Address of the person (JSON object): zipCode, street, number, neighborhood, additionalDetails, city and state (id, name and abbreviation). |
    | `can_receive_mail` | Boolean | Whether the person can receive mail for the customer (Conexa Coworking). |
    | `url_linkedin` | String | LinkedIn profile URL (Conexa Coworking). |
    | `url_instagram` | String | Instagram profile URL (Conexa Coworking). |
    | `url_facebook` | String | Facebook profile URL (Conexa Coworking). |
    | `url_twitter` | String | Twitter profile URL (Conexa Coworking). |
    | `print_fee_id` | String | Identifier of the person in print billing files (Conexa Coworking, depends on configuration). |
    | `access_id` | String | Identifier of the person in access control devices (Conexa Coworking, depends on configuration). |
    | `use_facial_recognition_photo` | Boolean | Whether the person's photo is used by facial recognition devices (Conexa Coworking). |
  </Accordion>

  <Accordion title="Plans">
    The plans contracts are built on, with prices per billing periodicity and the quotas they include (`GET /plans`).

    Primary key: `plan_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `plan_id` | Integer | Unique identifier of the plan. |
    | `company_id` | Integer | Identifier of the unit (company) the plan belongs to. |
    | `name` | String | Name of the plan. |
    | `description` | String | Description of the plan. |
    | `is_active` | Boolean | Whether the plan is active. |
    | `is_custom` | Boolean | Whether the plan was created as a custom plan while registering a contract. |
    | `is_online_contracting_enabled` | Boolean | Whether the plan can be hired online. |
    | `service_category_id` | Integer | Identifier of the service category. |
    | `cost_center_id` | Integer | Identifier of the cost center. |
    | `refund_value` | Number | Amount of the returnable deposit. |
    | `membership_fee` | Number | Membership (sign-up) fee. |
    | `fidelity_months` | Integer | Length of the loyalty (minimum term) period, in months. |
    | `nfse_description` | String | Description printed on the service invoice (NFS-e). |
    | `payment_periodicities` | String | Price of the plan per billing periodicity it offers (JSON object): monthly, bimonthly, quarterly, semester and yearly. |
    | `product_quotas` | String | Quotas of services or items included in the plan (JSON array of objects with id, productId and quota). |
    | `receipt_description` | String | Description printed on the rental receipt (Conexa Coworking). |
    | `is_sms_enabled` | Boolean | Whether messages are also sent by SMS (Conexa Coworking). |
    | `private_space_ids` | Array of integers | Identifiers of the private spaces of the plan (Conexa Coworking). |
    | `discount_on_rooms` | Number | Discount (percentage) on meeting room bookings (Conexa Coworking). |
    | `discount_on_workstation` | Number | Discount (percentage) on shared space bookings (Conexa Coworking). |
    | `service_correspondence_quotas` | String | Front-desk service and mail quotas (JSON object, Conexa Coworking): whether they are limited, the limit and the price of each one above it. |
    | `booking_models` | String | Booking models for shared space workstations (JSON array of objects: id, name, shareSpaceId, frequency, isActive, startHour, endHour, resume, daysOfWeek, monthlyType, createdAt, updatedAt; Conexa Coworking). |
    | `hour_quotas` | String | Hour quotas in meeting rooms, shared spaces or room groups (JSON array of objects: id, name, spaceId, groupId, quantity, validityType, createdAt, updatedAt; Conexa Coworking). |
    | `created_at` | Datetime | When the plan was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the plan was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Contracts">
    Recurring agreements with your customers: plan, amount, billing frequency, start and end dates, and complementary services (`GET /contracts`).

    Primary key: `contract_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `contract_id` | Integer | Unique identifier of the contract. |
    | `customer_id` | Integer | Identifier of the contracting customer. |
    | `plan_id` | Integer | Identifier of the plan the contract follows. |
    | `seller_id` | Integer | Identifier of the user (seller) responsible for the contract. |
    | `creator_user_id` | Integer | Identifier of the user who created the contract. |
    | `cost_center_id` | Integer | Identifier of the cost center. |
    | `payment_frequency` | String | How often the contract is billed: Monthly, Bimonthly, Quarterly, Semester or Yearly. |
    | `contract_summary` | String | Short description of the contract. |
    | `start_date` | Date | Start date of the contract. |
    | `end_date` | Date | End date of the contract, if ended. |
    | `end_reason_id` | Integer | Identifier of the cancellation reason, if the contract was ended. |
    | `fidelity_date` | Date | End date of the loyalty (minimum term) period. |
    | `date_sales_generation` | Date | Date from which the contract generates sales. |
    | `due_day` | Integer | Due day of the month of the contract's charges. |
    | `had_prorata` | Boolean | Whether the first billing was calculated pro rata. |
    | `is_active` | Boolean | Whether the contract is active. |
    | `sales_quantity` | Integer | Number of sales the contract has generated. |
    | `amount` | Number | Final amount of the contract. |
    | `refund_amount` | Number | Amount of the returnable deposit. |
    | `notes` | String | Notes on the contract. |
    | `last_contractual_readjustment` | String | Last price readjustment of the contract (JSON object): index, date and percentage. |
    | `complementary_services` | String | Complementary services of the contract (JSON array of objects): productOrServiceId, startDate, endDate, isActive, quantity, amount and notes. |
    | `product_quotas` | String | Quotas of products (services or items) the customer can consume without being charged (JSON array of objects with productId and quantity). |
    | `extra_fields` | String | Custom (extra) fields of the contract (JSON array of objects). |
    | `discount_on_rooms` | Number | Discount (percentage) on meeting room bookings (Conexa Coworking). |
    | `discount_on_workstation` | Number | Discount (percentage) on shared space bookings (Conexa Coworking). |
    | `is_sms_enabled` | Boolean | Whether messages are also sent by SMS (Conexa Coworking). |
    | `private_space_id` | Integer | Identifier of the private office or room linked to the contract (Conexa Coworking). |
    | `booking_models` | String | Workstation quotas on predefined days and hours (JSON array of objects with personId and hourPlanId, Conexa Coworking). |
    | `hour_plan_quota` | String | Hour packages of the contract (JSON array of objects with quantity, spaceId and groupId, Conexa Coworking). |
    | `service_correspondence_quotas` | String | Front-desk service and mail quotas (JSON object, Conexa Coworking): whether they are limited, the limit and the price of each one above it. |
    | `created_at` | Datetime | When the contract was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the contract was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Products">
    The services and items you sell (`GET /products`).

    Primary key: `product_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `product_id` | Integer | Unique identifier of the product (service or item). |
    | `company_id` | Integer | Identifier of the unit (company) the product belongs to. |
    | `name` | String | Name of the service or item. |
    | `description` | String | Description of the service or item. |
    | `price` | Number | Price of the product. |
    | `active` | Boolean | Whether the product is active. |
    | `is_customer_consumable` | Boolean | Whether customers can consume the product from the customer area. |
    | `is_default_product` | Boolean | Whether the product is a default product of the Conexa system. |
    | `cost_center_id` | Integer | Identifier of the cost center. |
    | `service_category_id` | Integer | Identifier of the service category. |
    | `notifications_emails` | Array of strings | E-mail addresses notified when the product is sold. |
    | `nfse_description` | String | Description printed on the service invoice (NFS-e). |
    | `receipt_description` | String | Description printed on the rental receipt (Conexa Coworking). |
    | `created_at` | Datetime | When the product was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the product was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Service Categories">
    Service categories and their tax settings for service invoices (`GET /serviceCategories`).

    Primary key: `service_category_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `service_category_id` | Integer | Unique identifier of the service category. |
    | `name` | String | Name of the category. |
    | `description` | String | Description of the category. |
    | `is_active` | Boolean | Whether the category is active. |
    | `companies` | String | Units the category belongs to (JSON array of objects with id and name). |
    | `cnae_code` | String | CNAE code (Brazilian classification of economic activities). |
    | `nbs_code` | String | NBS code (Brazilian nomenclature of services). |
    | `municipal_service_code` | String | Service code of the municipality. |
    | `municipal_tax_code` | String | Tax code of the municipality. |
    | `municipal_benefit_code` | String | Municipal benefit code of the national NFS-e portal. |
    | `operation_indicator_code` | String | Operation indicator code (cIndOp) of the tax reform. |
    | `tax_classification_code` | String | Tax classification code (cClassTrib) of the tax reform. |
    | `tax_situation_code` | String | Tax situation code (CST), usually the first 3 digits of cClassTrib. |
    | `property_cib_code` | String | Property CIB code of the category (returned by Conexa, not documented). |
    | `municipal_ibs_percentage` | Number | Municipal IBS rate (percentage, tax reform). |
    | `state_ibs_percentage` | Number | State IBS rate (percentage, tax reform). |
    | `cbs_percentage` | Number | CBS rate (percentage, tax reform). |
    | `commission_percentage` | Number | Commission percentage (when the commission module is enabled). |
    | `nfse_percentage` | Number | Share of the amount billed on a service invoice (percentage). |
    | `receipt_percentage` | Number | Share of the amount billed on a receipt (percentage). |
    | `tax_deductions` | String | Tax rates of the category (JSON object): iss, inss, pis, cofins, ir, csll, irp (public-company income tax) and minValueDarf (minimum DARF amount). |
  </Accordion>

  <Accordion title="Extra Fields">
    Custom fields defined for customers, plans, and contracts (`GET /extraFields`).

    Primary key: `id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `id` | Integer | Unique identifier of the extra field. |
    | `name` | String | Name of the extra field. |
    | `type` | String | Record type the field applies to: customer, plan or contract. |
    | `show_customer_service` | Boolean | Whether the field is shown in the customer service information. |
    | `created_at` | Datetime | When the extra field was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the extra field was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Sales">
    Every sale, whether registered by hand or generated by a contract or a recurring sale (`GET /sales`).

    Primary key: `sale_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `sale_id` | Integer | Unique identifier of the sale. |
    | `status` | String | Status of the sale: paid, billed, cancelled, notBilled, deductedFromQuota, billedCancelled, billedNegociated or partiallyPaid. |
    | `customer_id` | Integer | Identifier of the customer of the sale. |
    | `requester_id` | Integer | Identifier of the person (of the customer) who requested the sale. |
    | `seller_id` | Integer | Identifier of the user (seller) who registered the sale. |
    | `contract_id` | Integer | Identifier of the contract that generated the sale, if any. |
    | `recurring_sale_id` | Integer | Identifier of the recurring sale that generated the sale, if any. |
    | `product_id` | Integer | Identifier of the product (service or item) sold. |
    | `product_name` | String | Name of the product sold. |
    | `product_company_id` | Integer | Identifier of the unit (company) the product sold belongs to. |
    | `quantity` | Number | Quantity of the product in the sale. |
    | `original_amount` | Number | Original amount of the sale, before the discount. |
    | `discount_value` | Number | Discount given on the sale. |
    | `amount` | Number | Final amount of the sale, after the discount. |
    | `reference_date` | Datetime | Date and time the sale refers to (UTC). |
    | `notes` | String | Notes on the sale. |
    | `created_at` | Datetime | When the sale was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the sale was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Recurring Sales">
    Sales repeated on a schedule (`GET /recurringSales`).

    Primary key: `recurring_sale_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `recurring_sale_id` | Integer | Unique identifier of the recurring sale. |
    | `customer_id` | Integer | Identifier of the customer of the recurring sale. |
    | `requester_id` | Integer | Identifier of the person (of the customer) who requested it. |
    | `seller_id` | Integer | Identifier of the user (seller) responsible for the recurring sale. |
    | `creator_user_id` | Integer | Identifier of the user who created the recurring sale. |
    | `product_id` | Integer | Identifier of the product (service or item) sold; empty when an hour package is sold instead. |
    | `package_id` | Integer | Identifier of the hour package sold (Conexa Coworking); empty when a product is sold instead. |
    | `frequency` | String | How often the sale repeats: daily, weekly, monthly, bimonthly, quarterly, semester or yearly. |
    | `occurrence_quantity` | Integer | Number of occurrences planned for the recurring sale. |
    | `generated_quantity` | Integer | Number of sales the recurring sale has generated so far. |
    | `start_date` | Date | Date of the first occurrence. |
    | `end_date` | Date | Date of the last occurrence (end of the recurring sale). |
    | `quantity` | Number | Quantity of the product in each occurrence. |
    | `amount` | Number | Amount of each occurrence. |
    | `notes` | String | Notes on the recurring sale. |
    | `last_adjustment_date` | Date | Date of the last price adjustment. |
    | `recurring_sale_contract_id` | Integer | Identifier of the contract that generated the recurring sale, if any. |
    | `is_active` | Boolean | Whether the recurring sale is active. |
    | `is_calculate_pro_rata` | Boolean | Whether the first occurrence is charged pro rata (Conexa Coworking). |
    | `created_at` | Datetime | When the recurring sale was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the recurring sale was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Charges">
    What your customers are billed, with amounts, due and payment dates, status, and bank slip details (`GET /charges`).

    Primary key: `charge_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `charge_id` | Integer | Unique identifier of the charge. |
    | `company_id` | Integer | Identifier of the unit (company) the charge belongs to. |
    | `customer_id` | Integer | Identifier of the customer charged. |
    | `account_id` | Integer | Identifier of the account that receives the charge. |
    | `receiving_method` | String | Name of the receiving method configured for the charge. |
    | `type` | String | Type of the charge: loose, contractual, returnableDeposit, contractualPlan or contractualServices. |
    | `status` | String | Status of the charge: unpaid, paid, negotiated, generatedByNegotiation, cancelled, denied, thirdPartyCompany, protested, juridical or excluded. |
    | `origin` | String | Where the billing came from: default, onlineHiring or invoicing. |
    | `amount` | Number | Amount of the charge. |
    | `raw_amount` | Number | Gross amount, before discounts (raw\_amount - amount = discount). |
    | `current_amount` | Number | Current amount, including interest and late fees. |
    | `paid_amount` | Number | Amount paid. |
    | `discount_amount` | Number | Discount granted on the charge. |
    | `payment_discount_amount` | Number | Discount granted when the charge was paid. |
    | `conditional_discount` | String | Summary of the conditional (early payment) discount. |
    | `conditional_discount_type` | String | Type of the conditional discount: fixed or percentage. |
    | `conditional_discount_fixed_amount` | Number | Fixed amount of the conditional discount. |
    | `conditional_discount_percentage` | Number | Percentage of the conditional discount. |
    | `conditional_discount_date` | Date | Last date on which the conditional discount applies. |
    | `due_date` | Date | Due date of the charge. |
    | `payment_date` | Date | Date the charge was paid (settled). |
    | `competence_date` | Date | Competence (accrual) date of the charge. |
    | `cancel_date` | Date | Date the charge was cancelled. |
    | `installment_number` | Integer | Installment number, when the charge is paid in installments. |
    | `total_installments_amount` | Integer | Total number of installments, when the charge is paid in installments. |
    | `father_charge_id` | Integer | Identifier of the parent charge. |
    | `original_charge_id` | Integer | Identifier of the original charge. |
    | `sales_ids` | Array of integers | Identifiers of the sales billed in the charge. |
    | `customer_views` | Integer | Number of times the customer viewed the charge. |
    | `has_iss_retention` | Boolean | Whether the customer withholds ISS (municipal service tax). |
    | `iss_amount` | Number | Amount of ISS withheld by the customer. |
    | `tax_invoice_number` | Integer | Number of the service invoice (NFS-e) issued for the charge, if any. |
    | `notes` | String | Notes on the charge. |
    | `charge_url` | String | URL of the invoice. |
    | `billet_digitable_line` | String | Typeable line of the bank slip (boleto), when billed by boleto. |
    | `billet_url` | String | URL of the bank slip (boleto) PDF. |
    | `receipt_amount` | Number | Amount of the invoice/receipt (Conexa Coworking). |
    | `raw_receipt_amount` | Number | Gross amount of the invoice/receipt (Conexa Coworking). |
    | `receipt_description` | String | Additional description of the invoice/receipt (Conexa Coworking). |
    | `receipt_code` | String | Code of the invoice/receipt (Conexa Coworking). |
    | `created_at` | Datetime | When the charge was issued (UTC). |
    | `updated_at` | Datetime | When the charge was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Invoicing Methods">
    How charges are issued (`GET /invoicingMethods`).

    Primary key: `invoicing_method_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `invoicing_method_id` | Integer | Unique identifier of the invoicing method. |
    | `company_id` | Integer | Identifier of the unit (company) the method belongs to. |
    | `name` | String | Name of the invoicing method. |
    | `type` | String | Type of the invoicing method: billet (bank slip) or others. |
    | `is_active` | Boolean | Whether the invoicing method is active. |
  </Accordion>

  <Accordion title="Receiving Methods">
    How payments are received, with their fees and settlement times (`GET /receivingMethods`).

    Primary key: `receiving_method_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `receiving_method_id` | Integer | Unique identifier of the receiving method. |
    | `name` | String | Name of the receiving method. |
    | `max_installments` | Integer | Maximum number of installments. |
    | `credit_days` | Integer | Days until the amount received is credited. |
    | `is_installment_fee` | Boolean | Whether the fee is charged per installment. |
    | `transaction_fee` | Number | Fixed fee per transaction. |
    | `transaction_rate` | Number | Fee as a percentage of the transaction amount. |
    | `account_id` | Integer | Identifier of the account it credits. |
    | `cost_center_id` | Integer | Identifier of the cost center of the fee expense. |
    | `bill_category_id` | Integer | Identifier of the expense category of the fee. |
    | `bill_subcategory_id` | Integer | Identifier of the expense subcategory of the fee. |
    | `payment_method_id` | Integer | Identifier of the payment method of the fee expense. |
    | `supplier_id` | Integer | Identifier of the supplier of the fee expense. |
    | `is_active` | Boolean | Whether the receiving method is active. |
    | `created_at` | Datetime | When the receiving method was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the receiving method was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Payment Methods">
    How expenses are paid (`GET /paymentMethods`).

    Primary key: `payment_method_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `payment_method_id` | Integer | Unique identifier of the payment method. |
    | `name` | String | Name of the payment method. |
    | `max_installments` | Integer | Maximum number of installments. |
    | `account_id` | Integer | Identifier of the account assigned to the payment method. |
    | `is_active` | Boolean | Whether the payment method is active. |
    | `created_at` | Datetime | When the payment method was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the payment method was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Bills">
    Your expenses, with supplier, category, amounts, and due and payment dates (`GET /bills`).

    Primary key: `bill_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `bill_id` | Integer | Unique identifier of the expense. |
    | `parent_bill_id` | Integer | Identifier of the parent expense (partial settlement). |
    | `original_bill_id` | Integer | Identifier of the original expense (partial settlement). |
    | `recurrent_bill_id` | Integer | Identifier of the fixed or recurring expense that generated it. |
    | `charge_id` | Integer | Identifier of the charge that generated the expense, if any. |
    | `installment_id` | Integer | Identifier of the installment plan, when paid in installments. |
    | `installment_number` | Integer | Installment number, when paid in installments. |
    | `company_id` | Integer | Identifier of the unit (company) the expense belongs to. |
    | `supplier_id` | Integer | Identifier of the supplier. |
    | `account_id` | Integer | Identifier of the account the expense is paid from. |
    | `category_id` | Integer | Identifier of the expense category. |
    | `subcategory_id` | Integer | Identifier of the expense subcategory. |
    | `payment_method_id` | Integer | Identifier of the payment method. |
    | `status` | String | Status of the expense: unpaid, cancelled, paid, received or scheduled. |
    | `type` | String | Type of the expense: fixed or loose. |
    | `description` | String | Description of the expense. |
    | `amount` | Number | Amount of the expense. |
    | `paid_amount` | Number | Amount paid. |
    | `due_date` | Date | Due date of the expense. |
    | `competence_date` | Date | Competence (accrual) date of the expense. |
    | `payment_date` | Date | Date the expense was paid (settled). |
    | `document_date` | Date | Issue date of the expense document. |
    | `document_number` | String | Number of the expense document. |
    | `digitable_line` | String | Typeable line of the expense's bank slip (boleto). |
    | `is_reconciled` | Boolean | Whether the expense is reconciled with the bank statement. |
    | `cac_is_included` | Boolean | Whether the expense is counted in the customer acquisition cost (CAC). |
    | `cac_percentage` | Number | Share of the expense counted in the customer acquisition cost (percentage). |
    | `cost_centers` | String | Cost centers the expense is split across (JSON array of objects with id and percentage). |
    | `created_at` | Datetime | When the expense was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the expense was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Bill Categories">
    Expense categories (`GET /billCategories`).

    Primary key: `bill_category_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `bill_category_id` | Integer | Unique identifier of the expense category. |
    | `name` | String | Name of the expense category. |
    | `is_active` | Boolean | Whether the category is active. |
    | `subcategories` | String | Subcategories of the category (JSON array of objects with id and name). |
  </Accordion>

  <Accordion title="Bill Subcategories">
    Expense subcategories and the income statement (DRE) group each one is reported under (`GET /billSubcategories`).

    Primary key: `bill_subcategory_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `bill_subcategory_id` | Integer | Unique identifier of the expense subcategory. |
    | `name` | String | Name of the expense subcategory. |
    | `bill_category_id` | Integer | Identifier of the expense category it belongs to. |
    | `dre_category` | String | Income statement (DRE) group the subcategory is reported under. |
    | `accounting_code` | Integer | Code of the subcategory in the accounting software. |
    | `is_active` | Boolean | Whether the subcategory is active. |
  </Accordion>

  <Accordion title="Suppliers">
    Your suppliers (`GET /suppliers`).

    Primary key: `supplier_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `supplier_id` | Integer | Unique identifier of the supplier. |
    | `name` | String | Name or trade name of the supplier. |
    | `legal_name` | String | Legal name of a legal-entity supplier. |
    | `type` | String | Type of the supplier: legalPerson (company) or naturalPerson (individual). |
    | `cpf` | String | CPF (Brazilian individual taxpayer number) of an individual supplier. |
    | `cnpj` | String | CNPJ (Brazilian company taxpayer number) of a legal-entity supplier. |
    | `natural_person` | String | Data of an individual supplier (JSON object): cpf, rg and issuingAuthority. |
    | `legal_person` | String | Data of a legal-entity supplier (JSON object): legalName, cnpj, stateInscription and municipalInscription. |
    | `field_of_activity` | String | Line of business of the supplier. |
    | `notes` | String | Notes on the supplier. |
    | `cell_number` | String | Mobile phone number. |
    | `website` | String | Website of the supplier. |
    | `phones` | Array of strings | Phone numbers. |
    | `emails` | Array of strings | E-mail addresses. |
    | `contact_person_names` | Array of strings | Names of the contact people at the supplier. |
    | `address` | String | Address of the supplier (JSON object): zipCode, street, number, neighborhood, additionalDetails, city and state (id, name and abbreviation). |
    | `origin` | String | Where the supplier was registered from. |
    | `is_active` | Boolean | Whether the supplier is active. |
    | `created_at` | Datetime | When the supplier was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the supplier was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Cost Centers">
    Cost centers (`GET /costCenters`).

    Primary key: `cost_center_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `cost_center_id` | Integer | Unique identifier of the cost center. |
    | `name` | String | Name of the cost center. |
    | `created_at` | Datetime | When the cost center was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the cost center was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Accounts">
    Bank and cash accounts money moves through (`GET /accounts`).

    Primary key: `account_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `account_id` | Integer | Unique identifier of the account. |
    | `company_id` | Integer | Identifier of the unit (company) that owns the account. |
    | `name` | String | Name of the account. |
    | `movement_block_until` | Date | Date until which entries in the account are blocked. |
    | `automatic_bank_reconciliation` | Boolean | Whether the account has automatic bank reconciliation. |
    | `accounting_code` | Integer | Code of the account in the accounting software. |
    | `is_active` | Boolean | Whether the account is active. |
    | `synced_at` | Datetime | When the account was last synchronized with the bank (UTC). |
    | `created_at` | Datetime | When the account was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the account was last updated in Conexa (UTC). |
  </Accordion>

  <Accordion title="Room Bookings">
    Meeting room bookings (`GET /room/bookings`). Only for Conexa Coworking accounts with the module enabled by Conexa's support; otherwise the stream is skipped with a warning. Access passwords are not extracted.

    Primary key: `booking_id`

    | Field | Type | Description |
    | :- | :- | :- |
    | `booking_id` | Integer | Unique identifier of the booking. |
    | `sale_id` | Integer | Identifier of the sale generated by the booking. |
    | `place_id` | Integer | Identifier of the room booked. |
    | `place_name` | String | Name of the room booked. |
    | `customer_id` | Integer | Identifier of the customer responsible for the booking. |
    | `person_id` | Integer | Identifier of the person responsible for the booking. |
    | `recurring_booking_id` | Integer | Identifier of the recurring booking it belongs to, if any. |
    | `status` | String | Billing status of the booking: notBilled, billed, billedCancelled, partiallyPaid, paid, cancelled or deductedFromQuota. |
    | `origin` | String | Where the booking was made: managerArea, app, api, broker or customerArea. |
    | `start_time` | Datetime | When the booking starts (UTC). |
    | `final_time` | Datetime | When the booking ends (UTC). |
    | `completed` | Boolean | Whether the booking was completed. |
    | `is_active` | Boolean | Whether the booking is active. |
    | `is_billed` | Boolean | Whether the booking was billed. |
    | `is_online_payment` | Boolean | Whether the booking was paid online. |
    | `device_access_released` | Boolean | Whether access through devices was released for the booking. |
    | `cancellation_reason` | String | Reason for the cancellation, if cancelled. |
    | `room_temperature` | Number | Temperature set for the room (°C). |
    | `visitors` | String | Visitors of the booking (JSON array of objects with id, name and email). |
    | `notes` | String | Notes on the booking. |
    | `created_at` | Datetime | When the booking was created in Conexa (UTC). |
    | `updated_at` | Datetime | When the booking was last updated in Conexa (UTC). |
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.