Skip to main content
Bling is a comprehensive business management platform that provides tools for invoicing (NFe, NFCe, NFSe), inventory control, sales management, financial operations (accounts payable/receivable), and CRM. It helps businesses streamline their operations with integrated solutions for e-commerce, accounting, and logistics.

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. You’ll need to provide:
  • Authorization: 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.

2. Configuration Options

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

3. 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, stock balances, contacts, and more.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

4. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix 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.
Once you are done configuring, click Next.

5. 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 determine when to execute a 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.

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

API Limitations & Performance

Important: Bling has strict API rate limits that affect extraction performance:
  • 3 requests per second (rate limited)
  • 120,000 requests per day (daily quota). If this limit is reached during a run, the extraction will stop gracefully, save its state, and resume from where it left off in the next scheduled run.

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
  • Sales Orders + Sales Order Details: 1 request for the list + 1 request per order
  • NFe + NFe 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.
For example, if you have 10,000 products and select both 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.
Recommendations:
  1. Start with a minimal set of streams and add more as needed
  2. Use incremental sync when available to reduce the number of records fetched
  3. Schedule full syncs during off-peak hours if you have large datasets
  4. Consider syncing only parent streams if detailed data isn’t required

Stream to Endpoint Mapping

StreamAPI EndpointSync TypeNotes
NFe/nfeIncrementalUses dataEmissao as replication key
NFe Details/nfe/{id}IncrementalChild stream - 1 request per NFe
NFSe/nfseIncrementalUses dataEmissao as replication key
NFe SituationStaticFull TableReference data
NFSe SituationStaticFull TableReference data
Operation Types/naturezas-operacoesFull Table
Products/produtosIncrementalUses dataFiltroAlteracao as replication key
Product Details/produtos/{id}IncrementalChild stream - 1 request per product
Product Categories/categorias/produtosFull Table
Sales Orders/pedidos/vendasIncrementalUses dataFiltroAlteracao as replication key
Sales Order Details/pedidos/vendas/{id}IncrementalChild stream - 1 request per order
Accounts Receivable/contas/receberIncrementalUses dataEmissao as replication key
Accounts Receivable Details/contas/receber/{id}IncrementalChild stream - 1 request per receivable
Accounts Payable/contas/pagarIncrementalUses dataFiltro as replication key
Accounts Payable Details/contas/pagar/{id}IncrementalChild stream - 1 request per payable
Boleto/contas/receber/{id}IncrementalUses dataEmissaoNfe as replication key
Accounting Accounts/contas-contabeisFull Table
Revenue Expense Categories/categorias/receitas-despesasFull Table
Revenue Expense Category Details/categorias/receitas-despesas/{id}Full TableChild stream
Store Categories/categorias/lojasFull Table
Store Category Details/categorias/lojas/{id}Full TableChild stream
Stock Balances/estoques/saldosIncrementalChild stream - batch requests for multiple products
Contacts/contatosIncrementalUses dataFiltroAlteracao as replication key
Contact Details/contatos/{id}IncrementalChild stream - 1 request per contact

Streams and Fields

Below you’ll find all available data streams from Bling and their corresponding fields:

Contacts & CRM

Stream for managing contacts (customers, suppliers, partners). Supports incremental sync using modification date filter.
FieldTypeDescription
idIntegerThe contact ID
nomeStringThe contact name
codigoStringThe contact code
situacaoStringThe contact status (A = Active, I = Inactive, S = Without movement)
numeroDocumentoStringThe contact document number (CPF/CNPJ)
telefoneStringThe contact phone number
celularStringThe contact mobile number
dataFiltroAlteracaoDateTimeThe filter date used for incremental sync (YYYY-MM-DD HH:mm:ss format)
Stream for detailed contact information (child of Contacts).
FieldTypeDescription
idIntegerThe contact ID
pessoasContatoArrayContact persons associated with this contact
dataStringThe contact creation/update date
dataFiltroAlteracaoDateTimeThe filter date (YYYY-MM-DD HH:mm:ss format)
(Additional fields)VariousInherits comprehensive structure (address, financial details, documentation) from Bling’s detailed contact API

Invoices & Fiscal Documents

Stream for managing electronic invoices (NFe) for products.
FieldTypeDescription
idIntegerThe NFe ID
tipoIntegerThe NFe type
situacaoIntegerThe NFe status
numeroStringThe NFe number
dataEmissaoDateTimeThe emission date (YYYY-MM-DD HH:MM:SS format)
dataOperacaoStringThe operation date (YYYY-MM-DD HH:MM:SS format)
chaveAcessoStringThe access key
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe document number
contato.ieStringState registration
contato.rgStringRG number
contato.telefoneStringPhone number
contato.emailStringEmail address
contato.endereco.enderecoStringStreet address
contato.endereco.numeroStringAddress number
contato.endereco.complementoStringAddress complement
contato.endereco.bairroStringNeighborhood
contato.endereco.cepStringZIP code
contato.endereco.municipioStringCity
contato.endereco.ufStringState
contato.endereco.paisStringCountry
naturezaOperacao.idIntegerThe nature of operation ID
loja.idIntegerThe store ID
Stream for detailed NFe information (child of NFe stream).
FieldTypeDescription
idIntegerThe NFe ID
tipoIntegerThe NFe type
situacaoIntegerThe NFe status
numeroStringThe NFe number
dataEmissaoStringThe emission date
dataOperacaoStringThe operation date
chaveAcessoStringThe access key
serieIntegerThe NFe series
valorNotaNumberThe invoice value
valorFreteNumberThe freight value
xmlStringThe XML content
linkDanfeStringThe DANFE link
linkPDFStringThe PDF link
optanteSimplesNacionalBooleanSimple National taxpayer flag
numeroPedidoLojaStringStore order number
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe document number
contato.ieStringState registration
contato.rgStringRG number
contato.telefoneStringPhone number
contato.emailStringEmail address
contato.endereco.enderecoStringStreet address
contato.endereco.numeroStringAddress number
contato.endereco.complementoStringAddress complement
contato.endereco.bairroStringNeighborhood
contato.endereco.cepStringZIP code
contato.endereco.municipioStringCity
contato.endereco.ufStringState
contato.endereco.paisStringCountry
naturezaOperacao.idIntegerThe nature of operation ID
loja.idIntegerThe store ID
transporte.fretePorContaIntegerFreight responsibility
transporte.transportador.nomeStringTransporter name
transporte.transportador.numeroDocumentoStringTransporter document number
transporte.volumes[].idIntegerVolume ID
transporte.etiqueta.nomeStringLabel name
transporte.etiqueta.enderecoStringLabel street address
transporte.etiqueta.numeroStringLabel address number
transporte.etiqueta.complementoStringLabel address complement
transporte.etiqueta.municipioStringLabel city
transporte.etiqueta.ufStringLabel state
transporte.etiqueta.cepStringLabel ZIP code
transporte.etiqueta.bairroStringLabel neighborhood
vendedor.idIntegerThe seller ID
itens[].codigoStringItem code
itens[].descricaoStringItem description
itens[].unidadeStringItem unit
itens[].quantidadeNumberItem quantity
itens[].valorNumberItem value
itens[].valorTotalNumberItem total value
itens[].tipoStringItem type
itens[].pesoBrutoNumberItem gross weight
itens[].pesoLiquidoNumberItem net weight
itens[].numeroPedidoCompraStringPurchase order number
itens[].classificacaoFiscalStringFiscal classification
itens[].cestStringCEST code
itens[].codigoServicoStringService code
itens[].origemIntegerOrigin
itens[].informacoesAdicionaisStringAdditional information
itens[].gtinStringGTIN code
itens[].cfopStringCFOP code
itens[].documentoReferenciado.chaveAcessoStringReferenced document access key
itens[].documentoReferenciado.numeroStringReferenced document number
itens[].documentoReferenciado.serieStringReferenced document series
itens[].documentoReferenciado.numeroItemStringReferenced item number
itens[].impostos.valorAproximadoTotalTributosNumberApproximate total tax value
itens[].impostos.icms.stNumberICMS ST
itens[].impostos.icms.origemIntegerICMS origin
itens[].impostos.icms.modalidadeIntegerICMS modality
itens[].impostos.icms.aliquotaNumberICMS rate
itens[].impostos.icms.valorNumberICMS value
parcelas[].dataStringInstallment date
parcelas[].valorNumberInstallment value
parcelas[].observacoesStringInstallment observations
parcelas[].cautStringCAUT code
parcelas[].formaPagamento.idIntegerPayment method ID
Stream for managing electronic service invoices (NFSe). Unlike NFe which is for products, NFSe is specifically for service-based transactions.
FieldTypeDescription
idIntegerUnique identifier for the NFSe
numeroStringThe NFSe number
numeroRPSStringThe RPS (Recibo Provisório de Serviços) number
serieStringThe NFSe series
situacaoIntegerThe NFSe status
dataEmissaoStringThe emission date (YYYY-MM-DD format)
valorNumberThe service value
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe document number
contato.emailStringEmail address
Static stream providing a mapping of NFe situation IDs to their descriptions.
FieldTypeDescription
idIntegerThe NFe situation ID
situacaoStringThe NFe situation status description (e.g., “Pendente”, “Autorizada”, “Cancelada”)
Static stream providing a mapping of NFSe situation IDs to their descriptions.
FieldTypeDescription
idIntegerThe NFSe situation ID
situacaoStringThe NFSe situation status description (e.g., “Pendente”, “Emitida”, “Cancelada”)
Stream for managing different types of business operations (nature of operations for invoices).
FieldTypeDescription
idIntegerThe operation type ID
descricaoStringThe operation type description
situacaoIntegerThe operation type status (1 = Active, 0 = Inactive)
padraoBooleanIndicates if this is the default operation type

Sales & Orders

Stream for managing sales orders. Supports incremental sync using modification date filter.
FieldTypeDescription
idIntegerThe sales order ID
numeroIntegerThe sales order number
numeroLojaStringThe store order number
dataDateThe order date (YYYY-MM-DD format)
dataSaidaDateThe departure date (YYYY-MM-DD format)
dataPrevistaDateThe expected delivery date (YYYY-MM-DD format)
totalProdutosNumberThe total products value
totalNumberThe total order value
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.tipoPessoaStringPerson type (F = Individual, J = Legal Entity)
contato.numeroDocumentoStringThe document number
situacao.idIntegerThe status ID
situacao.valorIntegerThe status value
loja.idIntegerThe store ID
dataFiltroAlteracaoDateTimeThe filter date used for incremental sync (replication key)
Stream for detailed sales order information (child of Sales Orders).
FieldTypeDescription
idIntegerThe sales order ID
numeroIntegerThe sales order number
numeroLojaStringThe store order number
dataDateThe order date (YYYY-MM-DD format)
dataSaidaDateThe departure date (YYYY-MM-DD format)
dataPrevistaDateThe expected delivery date (YYYY-MM-DD format)
totalProdutosNumberThe total products value
totalNumberThe total order value
numeroPedidoCompraStringPurchase order number
outrasDespesasNumberOther expenses
observacoesStringOrder observations
observacoesInternasStringInternal observations
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.tipoPessoaStringPerson type (F = Individual, J = Legal Entity)
contato.numeroDocumentoStringThe document number
situacao.idIntegerThe status ID
situacao.valorIntegerThe status value
loja.idIntegerThe store ID
desconto.valorNumberDiscount value
desconto.unidadeStringDiscount unit (REAL, PERCENTUAL)
categoria.idIntegerThe category ID
notaFiscal.idIntegerThe invoice ID
tributacao.totalICMSNumberTotal ICMS tax
tributacao.totalIPINumberTotal IPI tax
itens[].idIntegerItem ID
itens[].codigoStringItem code
itens[].unidadeStringItem unit
itens[].quantidadeNumberItem quantity
itens[].descontoNumberItem discount
itens[].valorNumberItem value
itens[].aliquotaIPINumberIPI rate
itens[].descricaoStringItem description
itens[].descricaoDetalhadaStringDetailed description
itens[].produto.idIntegerProduct ID
itens[].comissao.baseNumberCommission base
itens[].comissao.aliquotaNumberCommission rate
itens[].comissao.valorNumberCommission value
itens[].naturezaOperacao.idIntegerNatureza Operação ID
parcelas[].idIntegerInstallment ID
parcelas[].dataVencimentoDateDue date
parcelas[].valorNumberInstallment value
parcelas[].observacoesStringInstallment observations
parcelas[].cautStringCAUT code
parcelas[].formaPagamento.idIntegerPayment method ID
transporte.fretePorContaIntegerFreight responsibility
transporte.freteNumberFreight value
transporte.quantidadeVolumesIntegerNumber of volumes
transporte.pesoBrutoNumberGross weight
transporte.prazoEntregaIntegerDelivery term
transporte.contato.idIntegerTransporter contact ID
transporte.contato.nomeStringTransporter name
transporte.etiqueta.nomeStringLabel name
transporte.etiqueta.enderecoStringLabel address
transporte.etiqueta.numeroStringLabel address number
transporte.etiqueta.complementoStringLabel address complement
transporte.etiqueta.municipioStringLabel city
transporte.etiqueta.ufStringLabel state
transporte.etiqueta.cepStringLabel ZIP code
transporte.etiqueta.bairroStringLabel neighborhood
transporte.etiqueta.nomePaisStringLabel country name
transporte.volumes[].idIntegerVolume ID
transporte.volumes[].servicoStringService
transporte.volumes[].codigoRastreamentoStringTracking code
vendedor.idIntegerThe seller ID
intermediador.cnpjStringIntermediator CNPJ
intermediador.nomeUsuarioStringUsername
taxas.taxaComissaoNumberCommission rate
taxas.custoFreteNumberFreight cost
taxas.valorBaseNumberBase value

Products & Inventory

Stream for managing product catalog. Supports incremental sync using modification date filter.
FieldTypeDescription
idIntegerThe product ID
idProdutoPaiIntegerThe parent product ID (for variations)
nomeStringThe product name
codigoStringThe product code/SKU
precoNumberThe product price
precoCustoNumberThe product cost price
estoque.saldoVirtualTotalNumberTotal virtual stock balance
tipoStringThe product type (P = Product, S = Service)
situacaoStringThe product status (A = Active, I = Inactive)
formatoStringThe product format (S = Simple, V = Variable)
descricaoCurtaStringShort product description
imagemURLStringProduct image URL
dataFiltroAlteracaoDateThe filter date used for incremental sync (replication key)
Stream for detailed product information (child of Products).
FieldTypeDescription
idIntegerThe product ID
nomeStringThe product name
codigoStringThe product code
precoNumberThe product price
tipoStringThe product type (P = Product, S = Service)
situacaoStringThe product status (A = Active, I = Inactive)
formatoStringThe product format (S = Simple, V = Variable)
descricaoCurtaStringShort product description
imagemURLStringProduct image URL
dataValidadeStringProduct validity date
unidadeStringProduct unit
pesoLiquidoNumberNet weight
pesoBrutoNumberGross weight
volumesNumberNumber of volumes
itensPorCaixaNumberItems per box
gtinStringGTIN code
gtinEmbalagemStringPackage GTIN code
tipoProducaoStringProduction type
condicaoIntegerProduct condition
freteGratisBooleanFree shipping flag
marcaStringProduct brand
descricaoComplementarStringComplementary description
linkExternoStringExternal link
observacoesStringProduct observations
descricaoEmbalagemDiscretaStringDiscrete packaging description
actionEstoqueStringStock action
categoria.idIntegerThe category ID
estoque.minimoNumberMinimum stock
estoque.maximoNumberMaximum stock
estoque.crossdockingNumberCrossdocking quantity
estoque.localizacaoStringStock location
estoque.saldoVirtualTotalNumberTotal virtual stock balance
fornecedor.idIntegerThe supplier ID
fornecedor.contato.idIntegerSupplier contact ID
fornecedor.contato.nomeStringSupplier contact name
fornecedor.codigoStringSupplier code
fornecedor.precoCustoNumberCost price
fornecedor.precoCompraNumberPurchase price
dimensoes.larguraNumberWidth
dimensoes.alturaNumberHeight
dimensoes.profundidadeNumberDepth
dimensoes.unidadeMedidaIntegerMeasurement unit
tributacao.origemIntegerOrigin
tributacao.nFCIStringNFCI code
tributacao.ncmStringNCM code
tributacao.cestStringCEST code
tributacao.codigoListaServicosStringService list code
tributacao.spedTipoItemStringSPED item type
tributacao.codigoItemStringItem code
tributacao.percentualTributosNumberTax percentage
tributacao.valorBaseStRetencaoNumberST retention base value
tributacao.valorStRetencaoNumberST retention value
tributacao.valorICMSSubstitutoNumberICMS substitute value
tributacao.codigoExcecaoTipiStringTIPI exception code
tributacao.classeEnquadramentoIpiStringIPI classification class
tributacao.valorIpiFixoNumberFixed IPI value
tributacao.codigoSeloIpiStringIPI seal code
tributacao.valorPisFixoNumberFixed PIS value
tributacao.valorCofinsFixoNumberFixed COFINS value
tributacao.codigoANPStringANP code
tributacao.descricaoANPStringANP description
tributacao.percentualGLPNumberGLP percentage
tributacao.percentualGasNacionalNumberNational gas percentage
tributacao.percentualGasImportadoNumberImported gas percentage
tributacao.valorPartidaNumberStarting value
tributacao.tipoArmamentoIntegerArmament type
tributacao.descricaoCompletaArmamentoStringComplete armament description
tributacao.dadosAdicionaisStringAdditional data
tributacao.grupoProduto.idIntegerThe product group ID
midia.video.urlStringVideo URL
midia.imagens.imagensURLArrayImages URL
midia.imagens.externas[].linkStringExternal image link
midia.imagens.internas[].linkStringInternal image link
midia.imagens.internas[].linkMiniaturaStringThumbnail link
midia.imagens.internas[].validadeStringImage validity
midia.imagens.internas[].ordemIntegerImage order
midia.imagens.internas[].anexo.idIntegerAttachment ID
midia.imagens.internas[].anexoVinculo.idIntegerAttachment link ID
linhaProduto.idIntegerThe product line ID
estrutura.tipoEstoqueStringStock type
estrutura.lancamentoEstoqueStringStock release type
estrutura.componentes[].produto.idIntegerComponent product ID
estrutura.componentes[].quantidadeNumberComponent quantity
camposCustomizados[].idCampoCustomizadoIntegerCustom field ID
camposCustomizados[].idVinculoStringLink ID for updating
camposCustomizados[].valorStringCustom field value
camposCustomizados[].itemStringCustom field item
variacoes[]ArrayProduct variations (contains same fields as parent product)
product_idIntegerParent product ID from parent stream
Stream for managing product categories.
FieldTypeDescription
idIntegerThe category ID
descricaoStringThe category description
categoriaPai.idIntegerParent category ID
Stream for retrieving current stock balances by product and deposit. This stream provides real-time inventory information across different warehouses and locations.
FieldTypeDescription
idProdutoIntegerThe product ID
produto.idIntegerThe product ID (nested object)
produto.nomeStringThe product name
produto.codigoStringThe product code/SKU
saldos[].deposito.idIntegerThe deposit/warehouse ID
saldos[].deposito.nomeStringThe deposit/warehouse name
saldos[].saldoFisicoNumberPhysical stock balance
saldos[].saldoVirtualNumberVirtual stock balance (physical - reserved)
dataFiltroAlteracaoDateThe filter date inherited from the parent product stream

Financial

Stream for managing accounts receivable (amounts to be received).
FieldTypeDescription
idIntegerThe account receivable ID
situacaoIntegerThe account receivable status
vencimentoDateThe due date (YYYY-MM-DD format)
valorNumberThe amount to be received
idTransacaoStringThe transaction ID
linkQRCodePixStringThe PIX QR code link
linkBoletoStringThe boleto (payment slip) link
dataEmissaoDateThe emission date (YYYY-MM-DD format)
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe contact document number
contato.tipoStringThe contact type (F = Person, J = Company)
formaPagamento.idIntegerThe payment method ID
formaPagamento.codigoFiscalIntegerThe fiscal code
contaContabil.idIntegerThe accounting account ID
contaContabil.descricaoStringThe accounting account description
origem.idIntegerThe origin ID
origem.tipoOrigemStringThe origin type (e.g., ‘venda’)
origem.numeroStringThe origin number
origem.dataEmissaoDateThe origin emission date
origem.valorNumberThe origin value
origem.situacaoIntegerThe origin status
origem.urlStringThe origin URL
Stream for detailed accounts receivable information (child of Accounts Receivable).
FieldTypeDescription
idIntegerThe account receivable ID
situacaoIntegerThe account receivable status
vencimentoDateThe due date (YYYY-MM-DD format)
valorNumberThe amount to be received
idTransacaoStringThe transaction ID
linkQRCodePixStringThe PIX QR code link
linkBoletoStringThe boleto link
dataEmissaoDateThe emission date (YYYY-MM-DD format)
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe contact document number
contato.tipoStringThe contact type (F = Person, J = Company)
formaPagamento.idIntegerThe payment method ID
formaPagamento.codigoFiscalIntegerThe fiscal code
contaContabil.idIntegerThe accounting account ID
contaContabil.descricaoStringThe accounting account description
origem.idIntegerThe origin ID
origem.tipoOrigemStringThe origin type
origem.numeroStringThe origin number
origem.dataEmissaoStringThe origin emission date
origem.valorNumberThe origin value
origem.situacaoIntegerThe origin status
origem.urlStringThe origin URL
saldoNumberThe balance for the account receivable
vencimentoOriginalStringThe original due date (YYYY-MM-DD format)
numeroDocumentoStringThe document number
competenciaStringThe competence date (YYYY-MM-DD format)
historicoStringThe history of the receivable
numeroBancoStringThe bank number
portador.idIntegerThe portador ID
categoria.idIntegerThe category ID
vendedor.idIntegerThe salesperson ID
borderosArrayList of borderos IDs
ocorrencia.tipoIntegerThe occurrence type
Stream for managing payment slips (boletos) associated with accounts receivable.
FieldTypeDescription
origemIdIntegerThe origin ID (links to sale/invoice)
dataEmissaoNfeStringThe NFe emission date
venda.numeroStringSale number
notaFiscal.numeroStringInvoice number
valorTotalNumberTotal value
contas[].idIntegerAccount ID
contas[].numeroExternoStringExternal number
contas[].vencimentoStringDue date
contas[].valorNumberValue
contas[].situacaoIntegerStatus
Stream for managing accounts payable (amounts to be paid).
FieldTypeDescription
idIntegerThe account payable ID
situacaoIntegerThe account payable status
vencimentoDateThe due date (YYYY-MM-DD format)
valorNumberThe amount to be paid
dataEmissaoStringThe emission date (YYYY-MM-DD format)
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe contact document number
contato.tipoStringThe contact type (F = Person, J = Company)
formaPagamento.idIntegerThe payment method ID
formaPagamento.codigoFiscalIntegerThe fiscal code
dataFiltroDateThe filter date (YYYY-MM-DD format)
Stream for detailed accounts payable information (child of Accounts Payable).
FieldTypeDescription
idIntegerThe account payable ID
situacaoIntegerThe account payable status
vencimentoDateThe due date (YYYY-MM-DD format)
valorNumberThe amount to be paid
dataEmissaoDateThe emission date (YYYY-MM-DD format)
contato.idIntegerThe contact ID
contato.nomeStringThe contact name
contato.numeroDocumentoStringThe contact document number
contato.tipoStringThe contact type
formaPagamento.idIntegerThe payment method ID
formaPagamento.codigoFiscalIntegerThe fiscal code
contaContabil.idIntegerThe accounting account ID
contaContabil.descricaoStringThe accounting account description
saldoNumberThe balance
vencimentoOriginalDateThe original due date
numeroDocumentoStringThe document number
competenciaDateThe competence date
historicoStringThe history
numeroBancoStringThe bank number
portador.idIntegerThe portador ID
categoria.idIntegerThe category ID
ocorrencia.tipoIntegerThe occurrence type
Stream for managing accounting accounts (bank accounts, payment integrations).
FieldTypeDescription
idIntegerThe accounting account ID
descricaoStringThe account description
tipoStringThe account type (e.g., ‘integracao-pagamento’)
aliasIntegracaoStringThe integration alias (e.g., ‘BlingPagamentos’)
saldoInicialNumberThe initial balance
dataInicioTransacoesStringThe start date for transactions (YYYY-MM-DD format)
Stream for managing revenue and expense categories.
FieldTypeDescription
idIntegerThe category ID
idCategoriaPaiIntegerThe parent category ID (0 if no parent)
descricaoStringThe category description
tipoIntegerThe category type (1 = Revenue, 2 = Expense)
Stream for detailed revenue/expense category information (child of Revenue Expense Categories).
FieldTypeDescription
idIntegerThe category ID
idCategoriaPaiIntegerThe parent category ID
descricaoStringThe category description
tipoIntegerThe category type (1 = Revenue, 2 = Expense)
situacaoIntegerThe category status

Configuration

Stream for managing store categories (for e-commerce integrations).
FieldTypeDescription
idIntegerThe store category ID
descricaoStringThe category description
codigoStringThe category code
loja.idIntegerStore ID
categoriaProduto.idIntegerProduct category mapping ID
Stream for detailed store category information (child of Store Categories).
FieldTypeDescription
idIntegerThe store category ID
descricaoStringThe category description
codigoStringThe category code
loja.idIntegerStore ID
categoriaProduto.idIntegerProduct category mapping ID

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
  • 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

Data Quality

  • Portuguese Field Names: Field names use Portuguese terminology (e.g., contato for contact, situacao for status, vencimento for due date)
  • Date Formats: Dates are typically in YYYY-MM-DD format, datetimes in YYYY-MM-DD HH:MM:SS format
  • 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, NFSe): Use dataEmissao (emission date) as replication key
  • Product streams (Products, Product Details): Use dataFiltroAlteracao (modification filter date) as replication key
  • Sales streams (Sales Orders, Sales Order Details): Use dataFiltroAlteracao as replication key
  • Contact streams (Contacts, Contact Details): Use dataFiltroAlteracao as replication key
  • Financial streams (Accounts Receivable, Accounts Payable, Boleto): Use dataEmissao or dataFiltro as replication key
  • Stock Balances: Inherits dataFiltroAlteracao from parent products for incremental sync

Child Streams & Performance

  • Parent-Child Architecture: Detail streams (e.g., Product Details, Sales Order Details, NFe Details, Contact Details) make one additional API request per parent record
  • 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: numeroDocumento typically 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.