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

FieldDescription
Start DateRecords created or updated after this date will be extracted from the source
Lookback WindowThe 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, 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.

Stream to Endpoint Mapping

StreamAPI EndpointSync Type
NFe/nfeIncremental
NFe Details/nfe/{id}Incremental
NFSe/nfseIncremental
NFe SituationStaticFull Table
NFSe SituationStaticFull Table
Operation Types/naturezas-operacoesFull Table
Products/produtosFull Table
Product Details/produtos/{id}Full Table
Product Categories/categorias/produtosFull Table
Sales Orders/pedidos/vendasFull Table
Sales Order Details/pedidos/vendas/{id}Full Table
Accounts Receivable/contas/receberIncremental
Accounts Receivable Details/contas/receber/{id}Incremental
Accounts Payable/contas/pagarIncremental
Accounts Payable Details/contas/pagar/{id}Incremental
Boleto/contas/receber/{id}Incremental
Accounting Accounts/contas-contabeisFull Table
Revenue Expense Categories/categorias/receitas-despesasFull Table
Revenue Expense Category Details/categorias/receitas-despesas/{id}Full Table
Store Categories/categorias/lojasFull Table
Store Category Details/categorias/lojas/{id}Full Table

Streams and Fields

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

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.
FieldTypeDescription
idIntegerThe sales order ID
numeroIntegerThe sales order number
numeroLojaStringThe store order number
dataStringThe order date (YYYY-MM-DD format)
dataSaidaStringThe departure date (YYYY-MM-DD format)
dataPrevistaStringThe 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
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.
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
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

Financial

Stream for managing accounts receivable (amounts to be received).
FieldTypeDescription
idIntegerThe account receivable ID
situacaoIntegerThe account receivable status
vencimentoStringThe due date (YYYY-MM-DD format)
valorNumberThe amount to be received
idTransacaoStringThe transaction ID
linkQRCodePixStringThe PIX QR code link
linkBoletoStringThe boleto (payment slip) link
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
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.dataEmissaoStringThe 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
vencimentoStringThe due date (YYYY-MM-DD format)
valorNumberThe amount to be received
idTransacaoStringThe transaction ID
linkQRCodePixStringThe PIX QR code link
linkBoletoStringThe boleto link
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
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
vencimentoStringThe 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
contaContabil.idIntegerThe accounting account ID
contaContabil.descricaoStringThe accounting account description
Stream for detailed accounts payable information (child of Accounts Payable).
FieldTypeDescription
idIntegerThe account payable ID
situacaoIntegerThe account payable status
vencimentoStringThe 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
formaPagamento.idIntegerThe payment method ID
formaPagamento.codigoFiscalIntegerThe fiscal code
contaContabil.idIntegerThe accounting account ID
contaContabil.descricaoStringThe accounting account description
saldoNumberThe balance
vencimentoOriginalStringThe original due date
numeroDocumentoStringThe document number
competenciaStringThe 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

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

API Behavior

  • Historical Data Limit: Bling API only allows fetching data from 2025-01-01 onwards
  • Incremental Sync: Streams with dataEmissao as replication key support incremental sync
  • Child Streams: Detail streams (e.g., Sales Order Details, NFe Details) fetch additional information for each parent record

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