NFS-e — municipal
A NFS-e (Nota Fiscal de Serviço Eletrônica) é emitida por município — não há padrão SEFAZ federal. Existe um padrão ABRASF que ~70% das cidades adotam (com variações), mas as capitais maiores têm soluções proprietárias (RJ Nota Carioca, BH SIGEPAT, SP capital ABRASF + extensões, etc).
O gateway abstrai isso: você manda um único payload independente do município. O Issuer.uf + Issuer.codigo_municipio_ibge
decide o adapter por trás.
Municípios suportados
| Município | UF | Padrão | Status |
|---|---|---|---|
| São Paulo (capital) | SP | ABRASF + WSDL próprio | supported |
| Rio de Janeiro | RJ | Nota Carioca (proprietário) | roadmap Q3 2026 |
| Belo Horizonte | MG | SIGEPAT (próprio) | roadmap Q3 2026 |
| Curitiba | PR | ISSCuritiba | roadmap Q4 2026 |
| Porto Alegre | RS | Próprio | roadmap Q4 2026 |
| Salvador, Brasília | BA/DF | A definir | backlog |
Emitindo
curl -X POST https://api.zfiscoo.zek.app.br/v1/nfse \
-H "Authorization: Bearer fk_live_..." \
-H "Idempotency-Key: servico-2026-001" \
-d '{
"issuer_id": "iss_consultoria_sp",
"external_ref": "OS-2026-042",
"tomador": {
"cnpj": "00000000000191",
"razao_social": "Cliente LTDA",
"endereco": {
"logradouro": "Av Paulista",
"numero": "1000",
"bairro": "Bela Vista",
"municipio": "São Paulo",
"uf": "SP",
"cep": "01310100"
},
"email": "financeiro@cliente.com"
},
"servico": {
"codigo_servico": "01.05",
"descricao": "Desenvolvimento de software sob encomenda — sprint maio/2026",
"valor_servicos": 15000.00,
"aliquota": 5.0,
"iss_retido": false
},
"municipio_prestacao": "3550308"
}'Resposta:
{
"id": "nfse_01HXYZ...",
"status": "processing"
}Quando autorizada:
{
"id": "nfse_01HXYZ...",
"status": "authorized",
"numero_nfse": "00000123",
"codigo_verificacao": "ABCD-EFGH",
"pdf_url": "https://...",
"xml_url": "https://..."
}Códigos de serviço (item da LC 116/2003)
Cada município mantém sua tabela própria, mas a maioria segue a Lista de Serviços nacional. Exemplos comuns:
| Código | Descrição |
|---|---|
| 01.01 | Análise e desenvolvimento de sistemas |
| 01.05 | Licenciamento de software / dev sob encomenda |
| 17.01 | Consultoria em geral |
| 17.06 | Propaganda e publicidade |
| 14.01 | Manutenção / conserto |
A API valida o código contra a tabela do município pra evitar rejeição.
Cancelamento
Regras variam: SP capital permite cancelar até o último dia do mês de competência; outras cidades, 30 dias.
curl -X POST https://api.zfiscoo.zek.app.br/v1/nfse/nfse_.../cancel \
-d '{ "reason": "Serviço não realizado conforme combinado" }'ISS retido — quando o tomador retém o imposto
Em alguns serviços (especialmente B2B fora do município do prestador), o tomador retém o ISS. Marque iss_retido: true
e o XML reflete a retenção. O DPS mostra vISSRet em vez de vISS.
Erro mais comum: prestador esquece de marcar iss_retido quando o município do tomador exige retenção.
O gateway avisa quando o código de serviço normalmente é retido na operação intermunicipal.