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.
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
- Gerar etiqueta de envio — onde a NF entra no fluxo.
- Meta keys — todas as chaves de meta usadas pelo plugin.