Skip to main content
ContaAzul is a financial management platform designed for small businesses in Brazil. It provides tools for invoicing, expense tracking, cash flow management, and integration with banks and accountants to simplify business finances. The ContaAzul API enables access to your financial data including payables, receivables, sales, products, services, and contacts.

Configuring ContaAzul as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the ContaAzul option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need to authorize Nekt to access your ContaAzul data. Click on the ContaAzul Authorization button and log in with your ContaAzul account. Grant the necessary permissions for the company you want to extract data from. The following configurations are available:
  • Start Date: The earliest date from which records will be synced. Used as the starting point for incremental streams and as a date filter for financial events.
Make sure your ContaAzul account has the necessary permissions to access the data you want to extract. The connector requires access to financial, sales, product, and contact APIs depending on which streams you select.
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: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
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, 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 define some additional settings:
  • 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.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from ContaAzul and their corresponding fields:
Accounts payable / expense records with status, amounts, and due dates.
Accounts receivable / revenue records with status, amounts, and due dates.
Detailed installment data for both payables (despesas) and receivables (receitas). Includes payment breakdowns, financial account info, billing requests, and attachments. This is a child stream fetched for each parent expense or receivable record.
Bank accounts and financial accounts registered in ContaAzul.
Financial categories used to classify transactions.
Hierarchical income statement (DRE) categories with sub-items and linked financial categories.
Cost centers used to allocate expenses and revenues.
Product catalog with inventory, pricing, and variant information.
Service catalog with pricing and type information.
List of contacts (customers, suppliers, etc.) with basic information and address.
Detailed contact information including financial summaries, multiple addresses, additional contacts, tax data, and custom fields. This is a child stream — one detail record is fetched per contact in the People List.
Supplier records with contact information and address.
List of sales with summary information, customer data, and status.
Full sale details including customer, financial event, operation type, payment conditions, value breakdown, and pending status. This is a child stream — one detail record is fetched per sale in the Sales List.
Individual line items for each sale. This is a child stream — items are fetched per sale in the Sales List.

Use Cases for Data Analysis

This guide outlines valuable business intelligence use cases when consolidating ContaAzul data, along with ready-to-use SQL queries that you can run on Explorer.

1. Cash Flow Overview

Analyze payables vs. receivables to understand your cash flow position. Business Value:
  • Monitor outstanding payables and receivables
  • Identify overdue payments
  • Track payment efficiency

2. Sales Performance by Customer

Analyze sales volume and revenue by customer to identify top accounts. Business Value:
  • Identify highest-value customers
  • Track sales trends by customer
  • Support customer segmentation

3. Product Inventory Status

Monitor product stock levels and identify items that need replenishment. Business Value:
  • Identify low-stock products before they run out
  • Track inventory turnover
  • Optimize purchasing decisions

Implementation Notes

Several streams follow a parent-child pattern where a list endpoint provides summary records, and a detail endpoint is called for each individual record:
  • Pessoas Lista → Pessoas Detalhes: The people list provides basic contact info; the detail stream fetches full contact data per person.
  • Vendas Lista → Vendas Detalhes: The sales list provides summary data; the detail stream fetches full sale info per sale.
  • Vendas Lista → Vendas Itens: Line items are fetched per sale from the sales list.
  • Despesas → Parcelas: Installment details are fetched for each expense.
  • Receitas → Parcelas: Installment details are fetched for each receivable.
The connector supports incremental sync for:
  • Despesas: Uses data_alteracao as the replication key
  • Receitas: Uses data_alteracao as the replication key
  • Vendas Lista / Detalhes / Itens: Uses data_alteracao as the replication key
Streams without a replication key (Categorias, Categorias DRE, Centros de Custos, Contas Financeiras, Produtos, Pessoas, Servico, Suppliers) are always synced as full table.
The ContaAzul API enforces rate limits. The connector automatically handles 429 Too Many Requests responses by waiting 60 seconds before retrying. If you experience frequent rate limit errors, consider reducing the number of streams synced concurrently or adjusting your trigger frequency.
The connector automatically manages OAuth access token refresh to prevent authentication failures:
  • Access tokens are refreshed proactively 5 minutes before expiration to avoid race conditions
  • Refresh tokens are stored securely and rotated automatically
  • Basic authentication headers are derived from your client ID and secret
ContaAzul data contains nested structures. When querying:
  • Use dot notation to access nested fields (e.g., cliente.nome in the sales list)
  • Use UNNEST to flatten arrays (e.g., parcelas in sales details, filhos in products)
Example for product variants:

Skills for agents

Download ContaAzul skills file

ContaAzul connector documentation as plain markdown, for use in AI agent contexts.