
Configuring Bling as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Bling option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need OAuth credentials to connect to Bling. Log in with your Bling account to generate the access token. Make sure you use an account with sufficient privileges to access your Bling data. The following configurations are available: The following configurations are available:- Start Date: Records created or updated after this date will be extracted from the source.
- Lookback Window: The number of days to look back when re-fetching records based on the replication key (default: 30 days).
2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you. The available streams include invoices (NFe, NFSe), products, sales orders, accounts payable/receivable, cash registers, stock balances, contacts, and more.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.
Bling API only allows fetching historical data from 2025-01-01.
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.
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.API Limitations & Performance
Understanding Sync Times
Bling uses a parent-child stream architecture for detailed data. For each parent record (e.g., a Product or Sales Order), an additional API request is made to fetch the detailed information. This means:- Products + Product Details: 1 request for the list + 1 request per product
- Product Stores + Product Store Details: 1 request for the list + 1 request per product-store link
- Sales Orders + Sales Order Details: 1 request for the list + 1 request per order
- Purchase Orders + Purchase Order Details: 1 request for the list + 1 request per order
- Contracts + Contract Details: 1 request for the list + 1 request per contract
- NFe + NFe Details: 1 request for the list + 1 request per invoice
- NFCe + NFCe Details: 1 request for the list + 1 request per invoice
- Contacts + Contact Details: 1 request for the list + 1 request per contact
- Stock Balances: Batch requests for multiple products to optimize API usage
Tip for faster syncs: If you don’t need the detailed information, consider syncing only the parent streams (e.g.,
Products without Product Details). This significantly reduces the number of API calls and sync time.Products and Product Details streams:
- At 3 requests/second, fetching all product details alone would take approximately 55 minutes
- With 120,000 daily requests, you’re limited to syncing approximately 120,000 detailed records per day
- If you have more than 120,000 detailed records in your account, an initial sync might hit the daily limit. The connector handles this by gracefully pausing the extraction when the limit is reached and automatically resuming during the next run until all historical data is fetched.
- Start with a minimal set of streams and add more as needed
- Use incremental sync when available to reduce the number of records fetched
- Schedule full syncs during off-peak hours if you have large datasets
- Consider syncing only parent streams if detailed data isn’t required
Stream to Endpoint Mapping
Streams and Fields
Below you’ll find all available data streams from Bling and their corresponding fields:Invoices & Fiscal Documents
Contacts & CRM
Contacts
Contacts
Stream for managing contacts (customers, suppliers, partners). Supports incremental sync using modification date filter.
Contact Details
Contact Details
Stream for detailed contact information (child of Contacts).
Invoices & Fiscal Documents
NFe (Notas Fiscais Eletrônicas)
NFe (Notas Fiscais Eletrônicas)
Stream for managing electronic invoices (NFe) for products.
NFe Details
NFe Details
Stream for detailed NFe information (child of NFe stream).
NFe Document
NFe Document
Stream for retrieving the XML document content of an NFe (child of NFe stream). Supports incremental sync.
NFSe (Notas Fiscais de Serviço Eletrônicas)
NFSe (Notas Fiscais de Serviço Eletrônicas)
Stream for managing electronic service invoices (NFSe). Unlike NFe which is for products, NFSe is specifically for service-based transactions.
NFe Situation
NFe Situation
Static stream providing a mapping of NFe situation IDs to their descriptions.
NFSe Situation
NFSe Situation
Static stream providing a mapping of NFSe situation IDs to their descriptions.
Operation Types
Operation Types
Stream for managing different types of business operations (nature of operations for invoices).
Sales & Orders
Sales Orders
Sales Orders
Stream for managing sales orders. Supports incremental sync using modification date filter.
Sales Order Details
Sales Order Details
Stream for detailed sales order information (child of Sales Orders).
Products & Inventory
Products
Products
Stream for managing product catalog. Supports incremental sync using modification date filter.
Product Details
Product Details
Stream for detailed product information (child of Products).
Product Categories
Product Categories
Stream for managing product categories.
Product Stores
Product Stores
Stream for managing product-store links (produtos lojas).
Product Store Details
Product Store Details
Stream for detailed product-store link information (child of Product Stores).
Stock Balances
Stock Balances
Stream for retrieving current stock balances by product and deposit. This stream provides real-time inventory information across different warehouses and locations.
Financial
Accounts Receivable
Accounts Receivable
Stream for managing accounts receivable (amounts to be received).
Accounts Receivable Details
Accounts Receivable Details
Stream for detailed accounts receivable information (child of Accounts Receivable).
Borderos
Borderos
Stream for managing borderos (settlement batches with the actual receipt/payment date). This is a child stream of Accounts Receivable Details.
Boleto
Boleto
Stream for managing payment slips (boletos) associated with accounts receivable.
Accounts Payable
Accounts Payable
Stream for managing accounts payable (amounts to be paid).
Accounts Payable Details
Accounts Payable Details
Stream for detailed accounts payable information (child of Accounts Payable).
Cash Registers
Cash Registers
Stream for managing cash register entries. Supports incremental sync using date filter.
Accounting Accounts
Accounting Accounts
Stream for managing accounting accounts (bank accounts, payment integrations).
Revenue Expense Categories
Revenue Expense Categories
Stream for managing revenue and expense categories.
Revenue Expense Category Details
Revenue Expense Category Details
Stream for detailed revenue/expense category information (child of Revenue Expense Categories).
Configuration
Store Categories
Store Categories
Stream for managing store categories (for e-commerce integrations).
Store Category Details
Store Category Details
Stream for detailed store category information (child of Store Categories).
Situation Modules
Situation Modules
Stream for retrieving situation modules (situações módulos).
Situations
Situations
Stream for retrieving situations per module (situações por módulo). Child stream of Situation Modules.
Data Model
The following diagram illustrates the relationships between the core data streams in Bling. The arrows indicate the join keys that link the different entities.Implementation Notes
API Rate Limits
- Rate Limit: ~3 requests per second (enforced as 1 request per 0.35 seconds)
- Daily Quota: 120,000 requests per day. The connector gracefully handles daily limit exceptions by saving its state and resuming in subsequent runs.
- Historical Data Limit: Bling API only allows fetching data from 2025-01-01 onwards
Pagination Behavior
- Variable Page Sizes: The Bling API occasionally returns pages with fewer records than requested (e.g., 85 or 50 records instead of 100) even when more data is available. The connector correctly handles this by continuing to paginate until an empty page is received, preventing silent data truncation.
- Pagination Safety Cap: To protect against API misbehavior, a hard limit of 1,000 pages per 1-year time window (up to 100,000 records) is enforced. If this limit is hit, the connector logs a warning and gracefully advances to the next time window.
Data Quality
- Portuguese Field Names: Field names use Portuguese terminology (e.g.,
contatofor contact,situacaofor status,vencimentofor due date) - Date Formats: Dates are typically in
YYYY-MM-DDformat, datetimes inYYYY-MM-DD HH:MM:SSformat - Status Values: Many entities use numeric status values - refer to the Situation streams for human-readable descriptions
Incremental Sync Support
The following streams support incremental sync:- Invoice streams (
NFe,NFe Details,NFe Document,NFSe): UsedataEmissaoordataEmissaoNfeas replication key - Product streams (
Products,Product Details): UsedataFiltroAlteracao(modification filter date) as replication key - Sales streams (
Sales Orders,Sales Order Details): UsedataFiltroAlteracaoas replication key - Contact streams (
Contacts,Contact Details): UsedataFiltroAlteracaoas replication key - Financial streams (
Accounts Receivable,Accounts Payable,Boleto,Cash Registers): UsedataEmissao,dataFiltro, ordataas replication key - Stock Balances: Inherits
dataFiltroAlteracaofrom parent products for incremental sync
Child Streams & Performance
- Parent-Child Architecture: Detail streams (e.g.,
Product Details,Product Store Details,Sales Order Details,Purchase Order Details,Contract Details,NFe Details,NFe Document,NFCe Details,Contact Details,Situations) make one additional API request per parent record using single-resource fetching - Performance Impact: With 3 requests/second rate limit, fetching 10,000 detailed records takes approximately 55 minutes
- Batch Processing: Stock Balances uses batch requests to optimize API usage by fetching multiple products at once
- Optimization: If you don’t need detailed data, sync only parent streams to significantly reduce API calls and sync time
- Lookback Window: Use the lookback window configuration to re-fetch recently modified records and ensure data consistency
Brazilian Context
- NFe/NFCe/NFSe: Brazilian electronic invoice types
- NFe: Product invoices
- NFCe: Consumer invoices (retail)
- NFSe: Service invoices
- Document Numbers:
numeroDocumentotypically refers to CPF (individuals) or CNPJ (companies) - ICMS/IPI: Brazilian tax codes included in invoice details
Skills for agents
Download Bling skills file
Bling connector documentation as plain markdown, for use in AI agent contexts.