Introdução

Se você vende serviços pelo WooCommerce — consultoria, cursos online, desenvolvimento, design, suporte técnico — sabe bem a dor de emitir NFS-e manualmente a cada pedido. Você acessa o portal da prefeitura, preenche os dados do tomador, informa o valor, escolhe o código de serviço... e repete isso para cada venda. Com o plugin Emitare NFS-e para WooCommerce, isso acaba.

Neste guia você vai aprender a instalar e configurar o plugin para que a NFS-e seja emitida automaticamente assim que um pedido é concluído — sem intervenção manual, sem copiar dados, sem abrir o portal da prefeitura.

O que você vai conseguir: ao final deste tutorial, toda vez que um cliente finalizar um pedido no seu WooCommerce e o status mudar para "Concluído", a NFS-e será emitida automaticamente via Emitare e o número da nota ficará salvo nos metadados do pedido no WordPress.

Pré-requisitos

Antes de começar, confirme que você tem:

  • WordPress 6.0+ com WooCommerce 7.0+ instalado e ativo
  • PHP 8.0 ou superior no servidor
  • Conta na Emitare — crie gratuitamente em emitare.com.br/app
  • Empresa cadastrada na Emitare com CNPJ da prestadora
  • Certificado A1 (.pfx) enviado para a Emitare
  • API Key gerada no dashboard da Emitare

Atenção: a Emitare precisa do certificado digital A1 da sua empresa para assinar os XMLs enviados à prefeitura. Se você ainda não tem um certificado A1, adquira com uma autoridade certificadora (Certisign, Serasa, Soluti etc.) antes de continuar.

Instalação passo a passo

1

Criar conta e obter a API Key

Acesse emitare.com.br/app e crie sua conta gratuita. Após confirmar o e-mail, acesse o dashboard e vá em Configurações > API Keys > Gerar nova chave. Copie a chave — você vai precisar dela na configuração do plugin.

2

Cadastrar a empresa e fazer upload do certificado

No dashboard da Emitare, vá em Empresas > Adicionar empresa. Informe o CNPJ, razão social, inscrição municipal e o código IBGE do município do prestador. Em seguida, vá em Certificados > Upload e envie o arquivo .pfx com a senha. O certificado é armazenado com criptografia AES-256-GCM.

3

Instalar o plugin no WordPress

No painel do WordPress, navegue até Plugins > Adicionar Novo. Pesquise por "Emitare NFS-e WooCommerce". Clique em Instalar Agora e depois em Ativar. O plugin aparecerá no menu lateral do WordPress Admin.

4

Configurar o plugin

Acesse WooCommerce > Emitare NFS-e no menu do WordPress. Preencha os campos conforme abaixo. Veja a seção de configuração para detalhes de cada campo.

5

Testar em modo sandbox

Ative a opção "Modo Sandbox (homologação)" e crie um pedido de teste no WooCommerce. Mude o status do pedido para "Concluído" e verifique no dashboard da Emitare se a NFS-e foi criada em ambiente de homologação (sem efeito fiscal).

6

Ir para produção

Após validar os testes, desative o modo sandbox no plugin. Confirme que o certificado A1 cadastrado na Emitare é o de produção (não de homologação). A partir desse momento, toda conclusão de pedido emite uma NFS-e real.

Configuração detalhada do plugin

Após instalar e ativar, acesse WooCommerce > Emitare NFS-e. Os campos disponíveis são:

Configurações — WooCommerce > Emitare NFS-e
API Key:
  sk_live_xxxxxxxxxxxxxxxxxxxx
  # Gerada no dashboard da Emitare (Configurações > API Keys)

Company ID:
  3f7a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
  # UUID da empresa cadastrada na Emitare

Ambiente:
  ☐ Sandbox (homologação)  ☑ Produção

Emitir NFS-e quando pedido mudar para:
  ☑ Concluído  ☐ Processando  ☐ Personalizado

Código do Serviço (LC 116/2003):
  01.05
  # Consulte a lista de serviços do seu município

Alíquota ISS (%):
  5.00
  # Alíquota do ISS do município do prestador

Discriminação do Serviço:
  {{product_name}} — Pedido WooCommerce #{{order_id}}
  # Variáveis disponíveis: {{product_name}}, {{order_id}},
  # {{customer_name}}, {{order_total}}

Salvar NFS-e nos metadados do pedido:
  ☑ Sim — recomendado

Mapeando o CNPJ do tomador

O plugin extrai automaticamente os dados do tomador a partir do endereço de cobrança do pedido no WooCommerce. Para que o CNPJ/CPF seja preenchido corretamente, adicione um campo personalizado de CPF/CNPJ ao checkout. Recomendamos o plugin Brazilian Market on WooCommerce (gratuito), que já inclui campos de CPF, CNPJ, IE e outros dados fiscais exigidos pelas prefeituras.

Código de exemplo do plugin (uso avançado)

Se quiser personalizar o comportamento do plugin via código PHP (em um tema filho ou plugin personalizado), use o filtro emitare_nfse_payload antes da emissão:

functions.php — tema filho
/**
 * Personalizar payload da NFS-e antes de enviar para a Emitare.
 * Útil para ajustar código de serviço por categoria de produto.
 */
add_filter('emitare_nfse_payload', function($payload, $order) {

    // Exemplo: alíquota diferente por categoria de produto
    foreach ($order->get_items() as $item) {
        $product_id = $item->get_product_id();
        if (has_term('consultoria', 'product_cat', $product_id)) {
            $payload['servico']['codigoServico'] = '17.01';
            $payload['servico']['aliquota']       = 3.0;
        }
    }

    // Adicionar observação personalizada
    $payload['servico']['discriminacao'] .=
        ' | Ref: Pedido #' . $order->get_id();

    return $payload;

}, 10, 2);

Testando a integração

Com o modo sandbox ativo, siga estes passos para validar:

  1. Crie um produto de serviço no WooCommerce (ex.: "Consultoria 1h — R$ 300")
  2. Faça um pedido de teste (use os dados do seu próprio CNPJ como tomador)
  3. No painel do WordPress, vá em WooCommerce > Pedidos e abra o pedido
  4. Mude o status para "Concluído"
  5. Aguarde de 5 a 30 segundos e atualize a página do pedido
  6. Você verá a caixa "Emitare NFS-e" com o número da nota de homologação
  7. Confirme no dashboard da Emitare que a nota aparece em status "Autorizada"

Dica: se a NFS-e aparecer com status "Rejeitada" nos testes, verifique o código de serviço (deve ser válido para o município do prestador) e confirme que a inscrição municipal está correta no cadastro da empresa.

Onde fica o número da NFS-e no pedido?

Após a emissão, o plugin salva os seguintes metadados no pedido do WooCommerce:

  • _emitare_nfse_numero — número da NFS-e emitida
  • _emitare_nfse_codigo_verificacao — código de verificação da prefeitura
  • _emitare_nfse_link — link para visualizar a nota no portal da prefeitura
  • _emitare_nfse_emitida_em — data e hora da emissão

Você pode exibir esses dados na página de confirmação do pedido ou no e-mail de conclusão usando o hook woocommerce_order_details_after_order_table.