Cobertura Municipal & Engines NFS-e
A Notaas roteia automaticamente emissões de NFS-e entre 42 famílias de engines (45 identificadores de roteamento), cobrindo 4.782 municípios (85,84% do país) em produção. As particularidades podem estar no payload da nota ou no cadastro do projeto; consulte a matriz antes de emitir.
Snapshot gerado em 17/09/2026 a partir de ibge_municipalities (PostgreSQL): 4.782 ativos, 132 com provedor identificado (aguardando homologação) e 657 sem webservice público — estes dois últimos grupos têm cobertura via SNNFSE quando o prestador é MEI (ver regra abaixo).
Prestadores enquadrados como MEI (regime_tributario = "2") são redirecionados para o Ambiente Nacional da NFS-e, inclusive quando o município possui engine própria. O roteamento é automático, mas o payload continua sujeito às validações fiscais do SNNFSE.
A engine SNNFSE Federal (sistema_nfse = "snnfse") suporta integralmente o novo CNPJ Alfanumérico ([0-9A-Z]{12}\d{2}, ex.: 12.ABC.345/01DE-35) para o prestador (inclusive no Id de 45 posições da DPS e em <CNPJAutor>), tomador, destinatário IBS/CBS e fornecedor de deduções. Nas demais 44 engines municipais legadas cujos schemas XSD/posicionais ainda exigem 14 dígitos numéricos (\d{14}), o envio de CNPJ alfanumérico é bloqueado preventivamente na entrada com HTTP 400 ({ error, campos }) e por guardrail fail-closed no worker (errorCode: "CNPJ_ALFANUMERICO_NAO_SUPORTADO").
Engines e Sistemas Suportados (42 famílias / 45 identificadores)
Padrão nacional para municípios aderentes e para prestadores MEI
Sistema próprio da Prefeitura de SP — código de serviço municipal
NFSe Nacional SPED v1.00/v1.01 via SOAP
RPS posicional V4.4 via SOAP e mTLS
ABRASF v2.04 com campos da Reforma Tributária
ABRASF v2.04 via SOAP e mTLS / DPS Nacional REST
ABRASF v2.04 (Intersol) via SOAP assíncrono
ABRASF v2.01 com credenciais no XML
ABRASF v2.03 via REST e Basic Auth
ABRASF v2.04 via SOAP e Basic Auth
ABRASF v2.02 via SOAP, XMLDSig e mTLS
Actuar/GINFES via SOAP RPC/literal, XMLDSig e mTLS
NFSe Tributário v1.01 via SOAP e mTLS
ABRASF v2.03 via SOAP e mTLS
ABRASF v1.0 customizado com correlação RTC automática
ISSNet Online do Distrito Federal via SOAP e mTLS
ABRASF v2.04 via SOAP e mTLS
ABRASF v2.03 próprio via SOAP e mTLS
ABRASF v2.04 via SOAP RPC/literal assíncrono
SOAP com XML em CDATA e credenciais municipais
DPS via SOAP, XMLDSig e mTLS
ABRASF via SOAP e Basic Auth
ABRASF v2.03 via SOAP, XMLDSig e mTLS
Proxy REST do padrão nacional com autenticidade municipal
ABRASF SimplISS via SOAP 1.1 + XMLDSig + pParam
ABRASF v2.02 via SOAP 1.1 e XMLDSig — MG/PR/SC
ABRASF v2.0x via SOAP 1.1 e XMLDSig — GO/TO/AP
ABRASF v2.03 via SOAP 1.1 e XMLDSig — AL/PB/PE
ABRASF v2.02 via SOAP 1.1 e XMLDSig — MG
ABRASF v2.02 via SOAP 1.1 e XMLDSig — BA/PI
ABRASF v2.01 via WCF SOAP BasicHttpBinding — BA/SC
ABRASF v2.01 via SOAP 1.1 ASMX (NFSeWS) — RS
API REST JSON própria com Authorization Bearer — CE/MA/PA/RN
Layout próprio esnfs via SOAP 1.1 WCF e XMLDSig — PR
API REST com XML ABRASF v2.03 no body + headers — PB/PE/RN
ABRASF v2.02 via SOAP 1.1, XMLDSig e mTLS — MG/SP
API REST com XML próprio (nfse_v_1.00) + ChaveDigital — AL/MT/RO/PA
ABRASF v2.02 via SOAP 1.1 e XMLDSig — RS
SOAP 1.1 GeneXus (ws_nfe) com Login no body — SP
DPS Nacional v1.00 REST + mTLS auto-hospedado — RS
DPS Nacional v1.01 via REST + mTLS e Reforma Tributária (IBS/CBS) — SP/RJ
ABRASF v2.03 via SOAP 1.1 e XMLDSig com IdentificacaoRequerente — PR
Matriz de Requisitos de Payload por Engine
“Payload padrão” significa usar os campos documentados em POST /api/v1/emitir. Credenciais, IM, CNAE e certificados pertencem ao cadastro do projeto e não devem ser enviados em cada nota.
| Engine / Provedor | Particularidade no request | Política de Tomador (B2C / Exterior) | Configuração do projeto | Transporte |
|---|---|---|---|---|
SNNFSE Federal snnfse | servico.codigo; servico.nbs é opcional | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Certificado A1 (e-CNPJ ou e-CPF), dados fiscais e CAEPF opcional para prestador PF | REST + GZip + mTLS |
São Paulo (SP) sp_prefeitura | servico.codigoServico (ou padrão do projeto) | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | CCM e certificado A1 | SOAP + XMLDSig + mTLS |
TBW / SIL tbw | servico.nbs (9 dígitos); suporta B2C e IBS/CBS | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Endereço completo do emitente | SOAP sem mTLS |
Barueri (SP) barueri | Tomador obrigatório (CPF/CNPJ/NIF); servico.codigoTributacaoMunicipal quando aplicável | Tomador obrigatório · Exterior: Exige tomador.nif explícito (<NifTomador> / posicional) | IM e certificado A1 | SOAP + mTLS |
GISSOnline / Eicon gissonline | servico.nbs recomendado; servico.codigoServico e código municipal quando aplicável | B2C opcional · Exterior: Exige tomador.nif explícito (<NifTomador> / posicional) | IM e certificado A1 | SOAP + XMLDSig + mTLS |
EL / Elotech el, el_nacional | Tomador opcional (B2C); quando identificado com CPF/CNPJ, endereço é obrigatório / valores.aliquotaIss obrigatória (exceto MEI/imune); suporta B2C e IBS/CBS | B2C opcional · Exterior: Exige tomador.nif explícito (<NifTomador> / posicional) | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | IM e certificado A1 / Inscrição Municipal, Token Webservice (X-Authorization) e certificado A1 ICP-Brasil | SOAP + mTLS / REST + GZip + X-Authorization |
SpeedGov speedgov | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP sem mTLS |
Fiorilli / ISSWeb fiorilli | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário e senha municipais | SOAP sem mTLS |
Centi centi | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário e senha municipais | REST + Basic Auth |
AtendeNet / IPM atendenet | Tomador obrigatório (CPF/CNPJ); servico.cnae, servico.nbs e servico.documentoReferencia opcionais | Tomador obrigatório · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário e senha municipais | SOAP + Basic Auth |
WebISS webiss | servico.nbs e valores.ibscbs opcionais; demais campos seguem o payload padrão | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1; CNAE é opcional | SOAP + XMLDSig + mTLS |
GINFES ginfes | servico.nbs opcional; demais campos seguem o payload padrão | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, CNAE principal e certificado A1 | SOAP + XMLDSig + mTLS |
COPLAN coplan | servico.nbs opcional; demais campos seguem o payload padrão | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Certificado A1 | SOAP + mTLS |
TINUS tinus | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP + mTLS |
Salvador (BA) salvador | Payload padrão; RTC é derivado pela Notaas | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP |
Brasília (DF) brasilia_df | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | CNAE principal e certificado A1 | SOAP + mTLS |
ISSNet / Thema issnet, issnet_nacional | servico.nbs e servico.codigoTributacaoMunicipal opcionais; tomador.inscricaoMunicipal para retenção / servico.codigoTributacaoMunicipal obrigatório (inteiro); suporta B2C e IBS/CBS | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | CNAE principal e certificado A1 / Inscrição Municipal, código de tributação municipal padrão e certificado A1 ICP-Brasil | SOAP + mTLS / SOAP 1.1 + XMLDSig + mTLS |
Campo Grande (MS) campogrande | Payload padrão da API (ou servico.CNAE) | B2C opcional · Exterior: Exige tomador.nif explícito (<NifTomador> / posicional) | IM, CNAE principal (9 dígitos) e certificado A1 | SOAP + mTLS |
DBSeller dbseller | servico.nbs e valores.pisCofins.cst opcionais | B2C opcional · Exterior: Exige tomador.nif explícito (<NifTomador> / posicional) | IM e certificado A1 | SOAP RPC/literal sem mTLS |
SIGEP / BSIT sigep | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário, senha e chave privada | SOAP + CDATA + mTLS |
Betha betha | servico.nbs (9 dígitos) + valores.ibscbs (opcional/automático) | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Certificado A1 e cadastro do emitente | SOAP + XMLDSig + mTLS |
HM2 hm2 | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário e senha municipais | SOAP + Basic Auth |
DSF dsf | Payload padrão; código municipal quando aplicável | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, CNAE principal e certificado A1 | SOAP + XMLDSig + mTLS |
Pronim / Cidade360 pronim_snnfse, pronim_abrasf | Payload padrão da API / servico.codigoServico e servico.codigoTributacaoMunicipal opcionais | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | Certificado A1 e cadastro municipal | REST + GZip |
SimplISS simpliss | servico.codigo (LC 116), servico.cnae, servico.nbs (opcional) | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM, usuário e senha web service SimplISS cadastrados nas configurações; Certificado digital A1 ICP-Brasil para assinatura XMLDSig RSA-SHA1 | SOAP 1.1 + XMLDSig + Credenciais (pParam) |
Futurize futurize | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP 1.1 + XMLDSig + mTLS |
MegaSoft megasoft | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP 1.1 + XMLDSig |
Tributus tributus | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP 1.1 + XMLDSig + mTLS |
Síntese sintese | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP 1.1 + XMLDSig + mTLS |
Fisco fisco | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP 1.1 + XMLDSig + mTLS |
Saatri saatri | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 | SOAP WCF + XMLDSig + mTLS |
ABase abase | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 (usado apenas na assinatura XMLDSig — o transporte é HTTPS simples) | SOAP 1.1 + XMLDSig (sem mTLS) |
Aspec aspec | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | Chave de autorização do prestador (enviada como Authorization: Bearer) cadastrada nas credenciais municipais | REST JSON + Bearer |
Equiplano equiplano | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 (assinatura XMLDSig; transporte HTTPS simples nas portas 8444/9443 do esnfs) | SOAP WCF + XMLDSig (sem mTLS) |
PublicSoft publicsoft | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | Token de acesso (header token) e credencial da prefeitura (header codigoCidade) nas credenciais municipais, além do certificado A1 para o XMLDSig | REST XML + Headers (codigoCidade/token) |
GovDigital govdigital | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1 — obrigatório também no handshake TLS (o host rejeita conexões sem certificado cliente) | SOAP 1.1 + XMLDSig + mTLS |
Agili agili | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | ChaveDigital (token de 32 caracteres) nas credenciais municipais e certificado A1 para o XMLDSig | REST XML + ChaveDigital/XMLDSig |
Tecnos tecnos | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | IM e certificado A1; Endpoint do webservice municipal configurado no projeto (precedência absoluta sobre o mapa padrão) | SOAP 1.1 + XMLDSig + mTLS |
Conam conam | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | CodigoUsuario e CodigoContribuinte (bloco Login do GeneXus) cadastrados nas credenciais municipais | SOAP 1.1 Document/Literal + Login |
Infisc infisc | Payload DPS Nacional padrão via REST JSON (suporta B2C e NIF/motivoAusenciaNif) | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Certificado digital PFX para mTLS e XMLDSig. Endpoint por município via endpointProd/endpointHom. | REST JSON + mTLS (DPS GZip B64) |
Tiplan tiplan | Payload DPS Nacional padrão; suporta B2C, NIF/motivoAusenciaNif e IBS/CBS | B2C opcional · Exterior: NIF ou motivoAusenciaNif (0, 1 ou 2) | Inscrição Municipal, CNAE padrão e certificado A1 ICP-Brasil para mTLS e XMLDSig | REST JSON + mTLS (DPS GZip B64) |
Elotech / Oxy ISS elotech | Payload padrão da API | B2C opcional · Exterior: Não suportado sem CPF/CNPJ brasileiro | Inscrição Municipal e certificado A1; Senha de webservice cadastrada no portal Oxy ISS do município | SOAP 1.1 + XMLDSig + Oxy Auth |
Política de Tomador por Engine (B2C Não Identificado & Exterior)
O contrato da API suporta emissão para consumidor final (B2C sem tomador identificado) em 43 das 45 engines basta omitir o bloco tomador (ou enviar tomador: {}). O validador aplica validação fail-closed (HTTP 400) conforme a capacidade real do serializer XML/posicional de cada provedor:
| Grupo de Engines | Sistemas (sistema_nfse) | Tomador B2C (Omitido) | Tomador no Exterior |
|---|---|---|---|
| DPS Nacional / SPED (9) | snnfse, pronim_snnfse, el_nacional, issnet_nacional, tiplan, infisc, coplan, betha, tbw | Opcional (suporta B2C sem <toma>) | Suporte completo: tomador.nif ou tomador.motivoAusenciaNif (0 | 1 | 2) + tomador.nome |
| ABRASF com <NifTomador> (4) | el, dbseller, gissonline, campogrande | Opcional (suporta B2C sem <Tomador>) | Exige tomador.nif explícito + tomador.nome (rejeita motivoAusenciaNif sem NIF com HTTP 400) |
| ABRASF / Municipais Padrão (30) | sp_prefeitura, ginfes, fiorilli, webiss, dsf, centi, tinus, salvador, brasilia_df, issnet, speedgov, sigep, hm2, pronim_abrasf, simpliss, elotech, futurize, megasoft, tributus, sintese, fisco, saatri, abase, aspec, equiplano, publicsoft, govdigital, agili, tecnos, conam | Opcional (suporta B2C sem tomador ou com placeholder municipal) | Quando o tomador é identificado, o XSD municipal exige cpf ou cnpj brasileiro (rejeita apenas NIF/motivoAusenciaNif com HTTP 400) |
| Layout Estrito — Obrigatório (2) | barueri, atendenet | Obrigatório (rejeita emissão sem tomador com HTTP 400) | barueri: aceita CPF, CNPJ ou tomador.nif explícito (Tipo 3 estrangeiro).atendenet: exige CPF ou CNPJ brasileiro. |
⚠️ Operações Fiscais que Exigem Tomador Identificado em Qualquer Município
Mesmo nas 43 engines que suportam B2C sem tomador, a identificação do tomador (documento + nome) torna-se obrigatória e retorna HTTP 400 se omitida quando: (1) houver retenção de ISS (valores.issRetido = true), (2) for exportação de serviço (servico.localPrestacao.codigoPais != "BR"), ou (3) o serviço for 170501 (cessão de mão de obra) tributável (tribISSQN = 1, regra nacional E0314). Enviar tomador parcialmente preenchido (ex.: apenas email ou nome sem documento) também é rejeitado com HTTP 400.
Desdobro Municipal (cTribMun) — SNNFSE
Alguns municípios aderentes ao SNNFSE exigem que, além do código nacional (cTribNac), seja informado um desdobro municipal de 3 dígitos (cTribMun) que identifica o serviço no catálogo local da prefeitura.
✅ Resolução Automática (padrão)
A Notaas resolve o cTribMun automaticamente — você não precisa fazer nada. O sistema consulta a tabela de correlação do município e injeta o primeiro desdobro encontrado no XML antes de enviar ao SNNFSE.
🔧 Override Manual (opcional)
Se um cTribNac possui múltiplos desdobros e você precisa selecionar um específico, informe servico.codigoTributacaoMunicipal no request. O valor informado será usado no lugar do automático. Exemplo:
"servico": {
"codigo": "170601",
"codigoTributacaoMunicipal": "002",
"descricao": "Agenciamento de veiculação"
}Consultar Desdobros por cTribNac
Informe um cTribNac para verificar os desdobros disponíveis nos municípios de referência.
Informe o cTribNac (6 dígitos) para consultar os desdobros disponíveis neste município. O primeiro desdobro é usado automaticamente; informe servico.codigoTributacaoMunicipal para override.
GET /api/v1/codigos?codigo=170601&ibge=3106200Busca de Cobertura por Município
Busque qualquer um dos 5.571 municípios brasileiros para ver o status de cobertura, a engine responsável, os campos específicos e um payload de exemplo já customizado para a cidade selecionada.
Digite ao menos 2 caracteres do nome do município (acentos são ignorados) ou o código IBGE de 7 dígitos, ou clique em um atalho acima.
GET /api/v1/cobertura/cidades?q=guarulhos