FernandoAcosta.Netdocs

Importar nota fiscal

3 min de leituraAtualizado há 5 dias

As transportadoras privadas (todas menos Correios) exigem o número da nota fiscal na hora de gerar a etiqueta. Se você emite NF pelo Bling ou pelo plugin Webmania, o plugin importa esse número automaticamente — você só precisa garantir que a NF foi emitida antes de gerar a etiqueta.

Onde a NF é guardada

Independente da origem, a NF é salva no pedido em duas chaves de meta:

  • _order_invoice_access_key — a chave de acesso da NFe (44 dígitos).
  • _order_invoice_access_number — o número da NFe (visível no portal das transportadoras).

A chave é o que vai pra etiqueta. O número fica disponível pra outros usos (relatórios, identificação no admin, etc).

Bling

A integração com o Bling acontece de forma transparente: quando o Bling emite a NF e adiciona uma nota interna no pedido com a chave de acesso, o plugin captura esses dados.

Como funciona

O Bling, ao emitir uma NF pra um pedido, registra automaticamente uma nota interna do tipo:

Nro. Nota Fiscal: 000756
Chave de Acesso (NFe): 3526044303...

O plugin escuta o filtro woocommerce_new_order_note_data e, sempre que essa nota é criada, extrai a chave e o número, salvando nos metas do pedido. A captura é instantânea — não depende do cron.

O que você precisa fazer

Nada além de manter a integração com o Bling funcionando normalmente. A captura é automática.

Confirme que o Bling está mandando a nota

Se as etiquetas privadas continuam falhando por falta de NF, abra um pedido recém-emitido e veja se há uma nota interna começando com Nro. Nota Fiscal:. Se não tem, o problema é na integração com o Bling, não no plugin.

Hook

Quando o plugin captura uma NF do Bling, dispara a action:

do_action( 'wc_melhor_envio_bling_invoice_imported', $order );

Use pra integrar com seus próprios fluxos (notificar equipe, registrar em ERP externo, etc).

Webmania

Pra quem usa o plugin Webmania (NFe WooCommerce), a integração escuta a action nfe_after_response que o Webmania dispara depois de cada tentativa de emissão.

Como funciona

Sempre que o Webmania chama a API da Webmania pra emitir uma NF, ele dispara a action nfe_after_response com o resultado. O plugin escuta, valida a resposta (precisa ter status válido, sem erro, com chave preenchida) e grava no pedido.

Casos em que a captura é ignorada

  • Resposta com erro.
  • Status reprovado (NF rejeitada pela SEFAZ).
  • Resposta sem chave (emissão assíncrona em processamento — neste caso, espere a confirmação).

Os logs ficam em WooCommerce → Status → Logs, com source wc-melhor-envio-webmania. Quando uma captura é abortada, o log explica o motivo.

Hook

Quando o plugin captura uma NF do Webmania, dispara a action:

do_action( 'wc_melhor_envio_webmania_invoice_imported', $order, $response );

$response é o objeto bruto que veio da Webmania, útil pra extrair dados adicionais (XML, série, etc).

Preencher manualmente

Se você emite NF por outro sistema que não tem integração nativa, abra o pedido em WooCommerce → Pedidos e use o campo Nº da nota fiscal no metabox Etiquetas Melhor Envio. O valor digitado é gravado em _order_invoice_id e usado na geração da etiqueta.

Customizar de qual meta vem a chave da NF

Se você guarda a chave da NF em outro meta do pedido (legado de alguma integração antiga, por exemplo), use o filtro wc_melhor_envio_order_invoice_id pra apontar pra ele:

add_filter( 'wc_melhor_envio_order_invoice_id', function( $invoice_id, $order ) {
    if ( empty( $invoice_id ) ) {
        return $order->get_meta( '_minha_chave_nf_legada' );
    }
    return $invoice_id;
}, 10, 2 );

Próximos passos

Foi útil?