Skip to content

Notas Fiscais do Consumidor (NFC-e)

bling_erp_api.resources.nfce.NfceResource

NfceResource(transport: Transport)

Bases: BaseResource

Operações de notas fiscais do consumidor eletrônicas (NFC-e).

Este recurso mapeia os endpoints /nfce. Os métodos canônicos usam português para acompanhar a documentação oficial; os métodos em inglês continuam disponíveis como aliases de compatibilidade.

Source code in src/bling_erp_api/resources/base.py
def __init__(self, transport: Transport) -> None:
    """Create a resource bound to a transport."""
    self._transport = transport

listar

listar(
    *,
    pagina: int | None = None,
    limite: int | None = None,
    id_transportador: int | None = None,
    chave_acesso: str | None = None,
    numero: str | None = None,
    serie: str | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> JsonObject

Lista notas fiscais do consumidor (NFC-e).

Endpoint: GET /nfce

Obtém lista paginada de NFC-e.

Parameters:

Name Type Description Default
pagina int | None

N° da página (Bling: pagina, integer, opcional)

None
limite int | None

Registros por página (Bling: limite, integer, opcional)

None
id_transportador int | None

ID do transportador (Bling: idTransportador, integer, opcional)

None
chave_acesso str | None

Chave de acesso (Bling: chaveAcesso, string, opcional)

None
numero str | None

N° da nota (Bling: numero, string, opcional)

None
serie str | None

Série (Bling: serie, string, opcional)

None
situacao int | None

Situação (Bling: situacao, integer, opcional)

None
data_emissao_inicial str | None

Data de emissão inicial (Bling: dataEmissaoInicial, string, opcional)

None
data_emissao_final str | None

Data de emissão final (Bling: dataEmissaoFinal, string, opcional)

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasFiscaisDadosBaseDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def listar(  # noqa: PLR0913
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    id_transportador: int | None = None,
    chave_acesso: str | None = None,
    numero: str | None = None,
    serie: str | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> JsonObject:
    """Lista notas fiscais do consumidor (NFC-e).

    Endpoint: GET /nfce

    Obtém lista paginada de NFC-e.

    Args:
        pagina: N° da página (Bling: ``pagina``, integer, opcional)
        limite: Registros por página (Bling: ``limite``, integer, opcional)
        id_transportador: ID do transportador (Bling: ``idTransportador``, integer, opcional)
        chave_acesso: Chave de acesso (Bling: ``chaveAcesso``, string, opcional)
        numero: N° da nota (Bling: ``numero``, string, opcional)
        serie: Série (Bling: ``serie``, string, opcional)
        situacao: Situação (Bling: ``situacao``, integer, opcional)
        data_emissao_inicial: Data de emissão inicial (Bling: ``dataEmissaoInicial``, string, opcional)
        data_emissao_final: Data de emissão final (Bling: ``dataEmissaoFinal``, string, opcional)

    Returns:
        Bling API response. Response schemas: 200: NotasFiscaisDadosBaseDTO; 404: ErrorResponse
    """
    return self._get(
        "/nfce",
        params=_nfce_list_params(
            pagina=pagina,
            limite=limite,
            id_transportador=id_transportador,
            chave_acesso=chave_acesso,
            numero=numero,
            serie=serie,
            situacao=situacao,
            data_emissao_inicial=data_emissao_inicial,
            data_emissao_final=data_emissao_final,
        ),
    )

iterar

iterar(
    *,
    pagina: int | None = None,
    limite: int | None = None,
    id_transportador: int | None = None,
    chave_acesso: str | None = None,
    numero: str | None = None,
    serie: str | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> Iterator[JsonObject]

Itera pelas NFC-e página a página.

Endpoint: GET /nfce (via paginação automática)

Aceita os mesmos filtros de listar() e busca novas páginas enquanto o Bling retornar registros no envelope data.

Parameters:

Name Type Description Default
pagina int | None

N° da página (Bling: pagina, integer, opcional)

None
limite int | None

Registros por página (Bling: limite, integer, opcional)

None
id_transportador int | None

ID do transportador (Bling: idTransportador, integer, opcional)

None
chave_acesso str | None

Chave de acesso (Bling: chaveAcesso, string, opcional)

None
numero str | None

N° da nota (Bling: numero, string, opcional)

None
serie str | None

Série (Bling: serie, string, opcional)

None
situacao int | None

Situação (Bling: situacao, integer, opcional)

None
data_emissao_inicial str | None

Data de emissão inicial (Bling: dataEmissaoInicial, string, opcional)

None
data_emissao_final str | None

Data de emissão final (Bling: dataEmissaoFinal, string, opcional)

None

Returns:

Type Description
Iterator[JsonObject]

Iterator sobre os itens da resposta.

Source code in src/bling_erp_api/resources/nfce.py
def iterar(  # noqa: PLR0913
    self,
    *,
    pagina: int | None = None,
    limite: int | None = None,
    id_transportador: int | None = None,
    chave_acesso: str | None = None,
    numero: str | None = None,
    serie: str | None = None,
    situacao: int | None = None,
    data_emissao_inicial: str | None = None,
    data_emissao_final: str | None = None,
) -> Iterator[JsonObject]:
    """Itera pelas NFC-e página a página.

    Endpoint: GET /nfce (via paginação automática)

    Aceita os mesmos filtros de ``listar()`` e busca novas páginas enquanto
    o Bling retornar registros no envelope ``data``.

    Args:
        pagina: N° da página (Bling: ``pagina``, integer, opcional)
        limite: Registros por página (Bling: ``limite``, integer, opcional)
        id_transportador: ID do transportador (Bling: ``idTransportador``, integer, opcional)
        chave_acesso: Chave de acesso (Bling: ``chaveAcesso``, string, opcional)
        numero: N° da nota (Bling: ``numero``, string, opcional)
        serie: Série (Bling: ``serie``, string, opcional)
        situacao: Situação (Bling: ``situacao``, integer, opcional)
        data_emissao_inicial: Data de emissão inicial (Bling: ``dataEmissaoInicial``, string, opcional)
        data_emissao_final: Data de emissão final (Bling: ``dataEmissaoFinal``, string, opcional)

    Returns:
        Iterator sobre os itens da resposta.
    """
    params = _nfce_list_params(
        pagina=pagina,
        limite=limite,
        id_transportador=id_transportador,
        chave_acesso=chave_acesso,
        numero=numero,
        serie=serie,
        situacao=situacao,
        data_emissao_inicial=data_emissao_inicial,
        data_emissao_final=data_emissao_final,
    )
    return self._iterate("/nfce", page=pagina or 1, limit=limite or 100, params=params)

obter

obter(id_nota_fiscal_consumidor: int) -> JsonObject

Obtém uma NFC-e.

Endpoint: GET /nfce/{idNotaFiscalConsumidor}

Obtém uma nota fiscal do consumidor pelo ID.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def obter(self, id_nota_fiscal_consumidor: int) -> JsonObject:
    """Obtém uma NFC-e.

    Endpoint: GET /nfce/{idNotaFiscalConsumidor}

    Obtém uma nota fiscal do consumidor pelo ID.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 404: ErrorResponse
    """
    return self._get(f"/nfce/{id_nota_fiscal_consumidor}")

criar

criar(dados: NfcePostRequest) -> JsonObject

Cria uma NFC-e.

Endpoint: POST /nfce

Cria uma nova nota fiscal do consumidor eletrônica.

Parameters:

Name Type Description Default
dados NfcePostRequest

Dados da NFC-e. Use NfcePostRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 201: BasePostResponse; 400: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def criar(self, dados: NfcePostRequest) -> JsonObject:
    """Cria uma NFC-e.

    Endpoint: POST /nfce

    Cria uma nova nota fiscal do consumidor eletrônica.

    Args:
        dados: Dados da NFC-e. Use ``NfcePostRequest`` para uso tipado
            ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 201: BasePostResponse; 400: ErrorResponse
    """
    return self._post("/nfce", json=to_json_object(dados))

alterar

alterar(
    id_nota_fiscal_consumidor: int, dados: NfceIdNotaFiscalConsumidorPutRequest
) -> JsonObject

Altera uma NFC-e.

Endpoint: PUT /nfce/{idNotaFiscalConsumidor}

Altera uma nota fiscal do consumidor pelo ID.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required
dados NfceIdNotaFiscalConsumidorPutRequest

Dados da NFC-e para atualização. Use NfceIdNotaFiscalConsumidorPutRequest para uso tipado ou um objeto JSON com os nomes de campos do Bling.

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def alterar(
    self, id_nota_fiscal_consumidor: int, dados: NfceIdNotaFiscalConsumidorPutRequest
) -> JsonObject:
    """Altera uma NFC-e.

    Endpoint: PUT /nfce/{idNotaFiscalConsumidor}

    Altera uma nota fiscal do consumidor pelo ID.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)
        dados: Dados da NFC-e para atualização. Use ``NfceIdNotaFiscalConsumidorPutRequest``
            para uso tipado ou um objeto JSON com os nomes de campos do Bling.

    Returns:
        Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._put(f"/nfce/{id_nota_fiscal_consumidor}", json=to_json_object(dados))

autorizar

autorizar(
    id_nota_fiscal_consumidor: int, *, enviar_email: bool | None = None
) -> JsonObject

Autoriza (envia para a SEFAZ) uma NFC-e.

Endpoint: POST /nfce/{idNotaFiscalConsumidor}/enviar

Envia uma NFC-e para autorização da SEFAZ.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required
enviar_email bool | None

Enviar e-mail após autorização (Bling: enviarEmail, boolean, opcional)

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def autorizar(
    self, id_nota_fiscal_consumidor: int, *, enviar_email: bool | None = None
) -> JsonObject:
    """Autoriza (envia para a SEFAZ) uma NFC-e.

    Endpoint: POST /nfce/{idNotaFiscalConsumidor}/enviar

    Envia uma NFC-e para autorização da SEFAZ.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)
        enviar_email: Enviar e-mail após autorização (Bling: ``enviarEmail``, boolean, opcional)

    Returns:
        Bling API response. Response schemas: 200: NotasFiscaisDadosGetDTO; 400: ErrorResponse; 404: ErrorResponse
    """
    params = compact_params({"enviarEmail": enviar_email})
    return self._post(f"/nfce/{id_nota_fiscal_consumidor}/enviar", params=params)

lancar_contas

lancar_contas(id_nota_fiscal_consumidor: int) -> JsonObject

Lança as contas de uma NFC-e.

Endpoint: POST /nfce/{idNotaFiscalConsumidor}/lancar-contas

Lança as contas a pagar/receber geradas a partir de uma NFC-e.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def lancar_contas(self, id_nota_fiscal_consumidor: int) -> JsonObject:
    """Lança as contas de uma NFC-e.

    Endpoint: POST /nfce/{idNotaFiscalConsumidor}/lancar-contas

    Lança as contas a pagar/receber geradas a partir de uma NFC-e.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/nfce/{id_nota_fiscal_consumidor}/lancar-contas")

estornar_contas

estornar_contas(id_nota_fiscal_consumidor: int) -> JsonObject

Estorna as contas de uma NFC-e.

Endpoint: POST /nfce/{idNotaFiscalConsumidor}/estornar-contas

Estorna as contas vinculadas a uma NFC-e.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def estornar_contas(self, id_nota_fiscal_consumidor: int) -> JsonObject:
    """Estorna as contas de uma NFC-e.

    Endpoint: POST /nfce/{idNotaFiscalConsumidor}/estornar-contas

    Estorna as contas vinculadas a uma NFC-e.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    return self._post(f"/nfce/{id_nota_fiscal_consumidor}/estornar-contas")

lancar_estoque

lancar_estoque(
    id_nota_fiscal_consumidor: int, *, id_deposito: int | None = None
) -> JsonObject

Lança o estoque de uma NFC-e.

Endpoint: POST /nfce/{idNotaFiscalConsumidor}/lancar-estoque[/{idDeposito}]

Lança o estoque de uma NFC-e, opcionalmente em um depósito específico.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required
id_deposito int | None

ID do depósito (Bling: idDeposito, integer, opcional). Se omitido, usa o depósito padrão.

None

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def lancar_estoque(
    self, id_nota_fiscal_consumidor: int, *, id_deposito: int | None = None
) -> JsonObject:
    """Lança o estoque de uma NFC-e.

    Endpoint: POST /nfce/{idNotaFiscalConsumidor}/lancar-estoque[/{idDeposito}]

    Lança o estoque de uma NFC-e, opcionalmente em um depósito específico.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)
        id_deposito: ID do depósito (Bling: ``idDeposito``, integer, opcional). Se
            omitido, usa o depósito padrão.

    Returns:
        Bling API response. Response schemas: 204: NoContent; 400: ErrorResponse; 404: ErrorResponse
    """
    if id_deposito is not None:
        return self._post(f"/nfce/{id_nota_fiscal_consumidor}/lancar-estoque/{id_deposito}")
    return self._post(f"/nfce/{id_nota_fiscal_consumidor}/lancar-estoque")

estornar_estoque

estornar_estoque(id_nota_fiscal_consumidor: int) -> JsonObject

Estorna o estoque de uma NFC-e.

Endpoint: POST /nfce/{idNotaFiscalConsumidor}/estornar-estoque

Estorna o estoque lançado de uma NFC-e.

Parameters:

Name Type Description Default
id_nota_fiscal_consumidor int

ID da NFC-e (Bling: idNotaFiscalConsumidor, integer, obrigatório)

required

Returns:

Type Description
JsonObject

Bling API response. Response schemas: 204: NoContent; 404: ErrorResponse

Source code in src/bling_erp_api/resources/nfce.py
def estornar_estoque(self, id_nota_fiscal_consumidor: int) -> JsonObject:
    """Estorna o estoque de uma NFC-e.

    Endpoint: POST /nfce/{idNotaFiscalConsumidor}/estornar-estoque

    Estorna o estoque lançado de uma NFC-e.

    Args:
        id_nota_fiscal_consumidor: ID da NFC-e (Bling: ``idNotaFiscalConsumidor``, integer, obrigatório)

    Returns:
        Bling API response. Response schemas: 204: NoContent; 404: ErrorResponse
    """
    return self._post(f"/nfce/{id_nota_fiscal_consumidor}/estornar-estoque")