Docs Integrações Sandbox Preços Blog Dashboard Criar conta grátis
Integrações

10 formas de integrar
NFS-e ao seu sistema

REST API, SDKs nativos, plugins prontos, DLL Windows, SFTP, conectores Omie e Bling. Sem reescrever seu sistema — qualquer linguagem, qualquer stack.

🌐 REST API 📦 SDK Node.js 🐍 SDK Python 🐘 SDK PHP 🛒 WooCommerce 🪟 DLL Delphi 📁 SFTP 🔗 Omie 🔵 Bling 🤖 MCP Server

Escolha como integrar

Cada método foi projetado para um contexto diferente — do startup SaaS ao ERP legado dos anos 90.

🌐

REST API

Uma chamada HTTP. Qualquer linguagem. Resposta JSON em <3s.

Disponível
📦

SDK Node.js

npm install emitare-nfse — tipos TypeScript, promisses e webhooks prontos.

Disponível
🐍

SDK Python

pip install emitare — asyncio, requests, Django e Flask suportados.

Disponível
🐘

SDK PHP

composer require emitare/nfse-php — Laravel, Symfony e WordPress.

Novo
🛒

WooCommerce

Plugin gratuito para WordPress — emissão automática no checkout.

Novo
🪟

DLL/COM Windows

EmitareCOM.dll — Delphi, VB6, VBA e Excel sem alterar nada.

Novo
📁

SFTP / Pasta

Deposite XML; receba retorno. Ideal para ERPs sem suporte a HTTP.

Novo
🔗

Conector Omie

Webhook automático ao faturar OS no Omie ERP. Zero código.

Novo
🔵

Conector Bling

OAuth 2.0 — NFS-e emitida ao confirmar nota de serviço no Bling.

Novo
🤖

MCP Server

Emita NFS-e com linguagem natural pelo Claude AI ou Cursor.

Disponível
Disponível 🌐

REST API — JSON em qualquer linguagem

A forma mais direta de integrar. Faça um POST com o JSON do RPS e receba o número da NFS-e em menos de 3 segundos. Funciona em qualquer linguagem que consiga fazer uma requisição HTTP: cURL, PHP, Python, Node.js, Java, C#, Go, Ruby, Rust…

Autenticação via header x-api-key. Sem OAuth, sem tokens temporários — simples e seguro.

Pré-requisitos

  • Conta Emitare (plano Free já basta para testar)
  • API Key gerada no dashboard
  • Empresa cadastrada com CNPJ e certificado A1 (.pfx)
  • Código IBGE do município do prestador
terminal — cURL
curl -X POST "https://api.emitare.com.br/api/v1/nfse/emitir" \
  -H "x-api-key: SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "companyId": "uuid-da-empresa",
    "rps": { "numero": "1", "serie": "A", "tipo": 1 },
    "servico": {
      "valorServicos": 1500.00,
      "codigoServico": "01.05",
      "discriminacao": "Desenvolvimento de software",
      "aliquota": 5.0
    },
    "tomador": {
      "cpfCnpj": "98765432000199",
      "razaoSocial": "Cliente LTDA"
    }
  }'

# Resposta:
# { "success": true, "data": { "nfseNumero": "12345",
#   "status": "issued", "codigoVerificacao": "ABCD1234" } }
Disponível 📦

SDK Node.js — npm install emitare-nfse

Cliente oficial para Node.js com tipos TypeScript completos, tratamento de erros tipados e suporte a webhooks HMAC. Compatível com ESM e CommonJS.

Pré-requisitos

  • Node.js 18+ (recomendado)
  • API Key da Emitare
nfse.ts — TypeScript
import { EmitareClient } from 'emitare-nfse';

const emitare = new EmitareClient({
  apiKey: process.env.EMITARE_API_KEY,
});

const nota = await emitare.nfse.emitir({
  companyId: 'uuid-da-empresa',
  rps: { numero: '1', serie: 'A', tipo: 1 },
  servico: {
    valorServicos: 1500,
    codigoServico: '01.05',
    discriminacao: 'Desenvolvimento de software',
    aliquota: 5.0,
  },
  tomador: {
    cpfCnpj: '98765432000199',
    razaoSocial: 'Cliente LTDA',
  },
});

console.log(nota.nfseNumero); // "12345"
console.log(nota.status);     // "issued"
Disponível 🐍

SDK Python — pip install emitare

Biblioteca oficial para Python com suporte a asyncio (httpx) e requests síncrono. Funciona em Django, FastAPI, Flask e scripts de automação.

Pré-requisitos

  • Python 3.9+
  • API Key da Emitare
nfse.py
from emitare import EmitareClient

client = EmitareClient(api_key="SUA_API_KEY")

nota = client.nfse.emitir(
    company_id="uuid-da-empresa",
    rps={"numero": "1", "serie": "A", "tipo": 1},
    servico={
        "valorServicos": 1500.00,
        "codigoServico": "01.05",
        "discriminacao": "Desenvolvimento de software",
        "aliquota": 5.0,
    },
    tomador={
        "cpfCnpj": "98765432000199",
        "razaoSocial": "Cliente LTDA",
    }
)

print(nota.nfse_numero)  # "12345"
print(nota.status)       # "issued"
Novo 🐘

SDK PHP — composer require emitare/nfse-php

Pacote oficial para PHP 8.1+. Compatível com Laravel (via Service Provider e Facade), Symfony e qualquer aplicação PHP moderna. Suporte a PSR-18 (HTTP client abstraction).

Pré-requisitos

  • PHP 8.1+ com extensão cURL
  • Composer 2.x
  • API Key da Emitare
nfse.php
<?php
// Laravel: use Emitare\Facades\Emitare;
use Emitare\EmitareClient;

$client = new EmitareClient(env('EMITARE_API_KEY'));

$nota = $client->nfse->emitir([
    'companyId' => 'uuid-da-empresa',
    'rps'       => ['numero'=>'1', 'serie'=>'A', 'tipo'=>1],
    'servico'   => [
        'valorServicos' => 1500.00,
        'codigoServico' => '01.05',
        'discriminacao' => 'Desenvolvimento de software',
        'aliquota'      => 5.0,
    ],
    'tomador'   => [
        'cpfCnpj'    => '98765432000199',
        'razaoSocial' => 'Cliente LTDA',
    ],
]);

echo $nota->nfseNumero; // 12345
echo $nota->status;     // issued
Novo 🛒

Plugin WooCommerce — emissão automática no WordPress

Instale o plugin Emitare NFS-e para WooCommerce no seu WordPress. Quando um pedido muda para status "Concluído", a NFS-e é emitida automaticamente — sem código, sem cron job, sem manutenção.

Ideal para prestadores de serviço que usam WooCommerce como vitrine: agências digitais, consultores, freelancers, plataformas de cursos e serviços on-line.

Pré-requisitos

  • WordPress 6.0+ com WooCommerce 7.0+
  • PHP 8.0+
  • API Key da Emitare
  • Empresa cadastrada na Emitare com CNPJ e certificado A1
wp-config / plugin settings
// 1. Instale o plugin via WordPress Admin:
//    Plugins > Adicionar Novo > "Emitare NFS-e WooCommerce"

// 2. Configure em WooCommerce > Emitare NFS-e:
API Key:      SUA_API_KEY
Company ID:   uuid-da-empresa
Emitir ao:    Pedido Concluído
Discriminação: {{product_name}} — Pedido #{{order_id}}
Código serviço: 01.05
Alíquota ISS:  5.00%

// 3. Pronto! A NFS-e é emitida automaticamente.
// O número fica salvo nos metadados do pedido:
// WooCommerce > Pedidos > #1234 > Emitare NFS-e
Novo 🪟

DLL/COM Windows — Delphi, VB6 e VBA

Para sistemas legados escritos em Delphi, Visual Basic 6, VBA (Excel/Access) ou qualquer tecnologia que suporte automação COM/ActiveX: instale a EmitareCOM.dll e emita NFS-e com 3 linhas de código.

Sem dependências externas, sem .NET, sem Node.js. Apenas registre a DLL com regsvr32 e comece a usar.

Pré-requisitos

  • Windows 7 SP2+ (32 ou 64 bits)
  • Delphi XE+ / VB6 / VBA / qualquer cliente COM
  • API Key da Emitare
  • Acesso à internet (a DLL faz a chamada HTTP para nossa API)
NfseUnit.pas — Delphi
uses ComObj;

procedure TFrmPrincipal.EmitirNfse;
var
  Emitare: OleVariant;
  Resultado: string;
begin
  Emitare := CreateOleObject('EmitareCOM.Client');
  Emitare.ApiKey    := 'SUA_API_KEY';
  Emitare.CompanyId := 'uuid-da-empresa';

  Resultado := Emitare.EmitirNfse(
    '{"numero":"1","serie":"A","tipo":1}',  // RPS JSON
    '{"valorServicos":1500,"codigoServico":"01.05",' +
    '"discriminacao":"Consultoria","aliquota":5.0}',
    '{"cpfCnpj":"98765432000199","razaoSocial":"Cliente"}'
  );

  ShowMessage('NFS-e emitida: ' + Resultado);
  // Retorna JSON: {"nfseNumero":"12345","status":"issued"}
end;
Novo 📁

SFTP / Pasta Compartilhada — protocolo de troca de arquivos

Para ERPs que não suportam HTTP mas já têm rotinas de troca de arquivos (EDI, exportação XML). Configure uma pasta monitorada: o ERP deposita o XML do RPS, a Emitare processa e devolve o XML da NFS-e autorizada na mesma pasta.

Funciona via SFTP (SSH), pasta em rede Windows (UNC/SMB) ou Amazon S3. Polling configurável de 1 a 60 minutos.

Pré-requisitos

  • Servidor SFTP ou pasta de rede acessível pela Emitare
  • XML no formato Emitare-RPS v1.0 (schema disponível na documentação)
  • API Key da Emitare (usada internamente pelo agente)
rps-001.xml — formato de entrada
<?xml version="1.0" encoding="UTF-8"?>
<EmitareRPS xmlns="https://emitare.com.br/rps/v1">
  <CompanyId>uuid-da-empresa</CompanyId>
  <RPS>
    <Numero>1</Numero>
    <Serie>A</Serie>
    <Tipo>1</Tipo>
  </RPS>
  <Servico>
    <ValorServicos>1500.00</ValorServicos>
    <CodigoServico>01.05</CodigoServico>
    <Discriminacao>Desenvolvimento</Discriminacao>
    <Aliquota>5.0</Aliquota>
  </Servico>
  <Tomador>
    <CpfCnpj>98765432000199</CpfCnpj>
    <RazaoSocial>Cliente LTDA</RazaoSocial>
  </Tomador>
</EmitareRPS>

<!-- Retorno em rps-001-RESULT.xml com NfseNumero e XML assinado -->
Novo 🔗

Conector Omie — webhook automático ao faturar OS

Integre a Emitare com o Omie ERP em menos de 5 minutos. Ao faturar uma Ordem de Serviço no Omie, um webhook é disparado automaticamente para a Emitare, que emite a NFS-e e devolve o número para o registro da OS no Omie.

Suporte a multi-empresa: cada CNPJ cadastrado no Omie mapeia para uma empresa na Emitare. Sem código intermediário, sem servidor próprio de webhook.

Pré-requisitos

  • Conta Omie com acesso à API (app_key + app_secret)
  • Conta Emitare com empresa cadastrada
  • Configuração do webhook no painel da Emitare
Painel Emitare — configuração Omie
# No painel Emitare > Integrações > Omie:

App Key:    sua-app-key-omie
App Secret: seu-app-secret-omie
Company ID: uuid-da-empresa-emitare
Evento:     OrdemServicoFaturada
Tipo Serviço Padrão: 01.05

# A Emitare gera automaticamente o endpoint:
# POST https://webhooks.emitare.com.br/omie/{token}

# Cole esse URL em:
# Omie > Configurações > Webhooks > Adicionar

# Pronto! Fature uma OS no Omie e a NFS-e
# será emitida automaticamente.
Novo 🔵

Conector Bling — OAuth 2.0 nativo

A integração com o Bling usa OAuth 2.0 para autorização segura — não é necessário criar um webhook manualmente. Clique em "Conectar Bling" no painel da Emitare, autorize o acesso e pronto: toda nota de serviço confirmada no Bling gera uma NFS-e automaticamente.

Pré-requisitos

  • Conta Bling (plano que permite acesso à API)
  • Conta Emitare com empresa cadastrada
Fluxo OAuth 2.0 — Bling
# 1. No painel Emitare > Integrações > Bling,
#    clique em "Conectar com Bling".

# 2. Você é redirecionado para o Bling para autorizar:
https://www.bling.com.br/oauth/authorize?
  response_type=code&
  client_id=EMITARE_CLIENT_ID&
  scope=nota_fiscal.read+nota_fiscal.write&
  redirect_uri=https://app.emitare.com.br/bling/callback

# 3. Após autorizar, a Emitare recebe o token e
#    registra o webhook de eventos automaticamente.

# 4. Evento disparado pelo Bling:
# POST → Emitare: { "tipo": "nota_servico.emitida",
#   "numero": "OS-001", "valor": 1500.00 }

# 5. Emitare emite a NFS-e e atualiza o campo
#    "NFS-e" na nota de serviço do Bling.
Disponível 🤖

MCP Server — NFS-e com linguagem natural

O Emitare MCP Server expõe ferramentas de emissão, consulta e cancelamento de NFS-e para agentes de IA que suportam o Model Context Protocol (MCP): Claude AI (Anthropic), Cursor, Windsurf e outros.

Emita notas fiscais com um comando em linguagem natural: "Emita uma NFS-e de R$ 2.000 para o CNPJ 98.765.432/0001-99 referente a consultoria tributária".

Pré-requisitos

  • Claude Desktop, Cursor ou cliente MCP compatível
  • API Key da Emitare (plano Professional ou superior)
  • Node.js 18+ para rodar o servidor MCP
claude_desktop_config.json
{
  "mcpServers": {
    "emitare-nfse": {
      "command": "npx",
      "args": ["-y", "@emitare/mcp-server"],
      "env": {
        "EMITARE_API_KEY": "SUA_API_KEY",
        "EMITARE_COMPANY_ID": "uuid-da-empresa"
      }
    }
  }
}

// Ferramentas expostas ao agente de IA:
// - emitir_nfse(rps, servico, tomador)
// - consultar_nfse(nfseNumero)
// - cancelar_nfse(nfseNumero, motivo)
// - listar_nfse(dataInicio, dataFim)

Pronto para integrar?

Crie sua conta gratuita e emita sua primeira NFS-e em menos de 5 minutos.

Sem cartão de crédito 10 NFS-e grátis Suporte técnico incluído Todos os 10 métodos de integração
Comece grátis em 2 minutos Ver documentação completa