Emitir uma NFSe (Nota Fiscal de Serviço)
A NFSe é emitida pelo município (não pela SEFAZ estadual) e cada cidade tem regras um pouco diferentes. A API do FazNota abstrai essas diferenças.
Pré-requisitos
- Empresa com inscrição municipal ativa.
- Município com integração suportada pela FazNota (verificar com o suporte).
- Cliente e serviços (produtos
tipo: "S") cadastrados.
Fluxo
-
Emitir a NFSe
Terminal window curl -X POST $BASE/nfse/emissao \-H "Authorization: Token $TOKEN" \-H "Content-Type: application/json" \-d '{"numero-origem": "OS-2026-00088","observacao": "Serviço de consultoria realizado em maio/2026.","nome-contato": "João Silva","telefone-contato": "11987654321","data-fim": "2026-05-31","cliente": "12345678000199","itens": [{ "produto": "SRV-CONSULT", "quantidade": "10", "valor-unitario": "250.00" }]}' -
Consultar pelo recibo
Terminal window curl $BASE/nfse/nota/{recibo} \-H "Authorization: Token $TOKEN"
Cadastro de produto de serviço
curl -X POST $BASE/produtos \ -H "Authorization: Token $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "referencia": "SRV-CONSULT", "nome": "Consultoria técnica (hora)", "valor": "250.00", "medida": "H", "tipo-produto": "S", "codigo-servico": "1.04" }'codigo-servico segue a lista municipal (varia por cidade — geralmente a lista
da Lei Complementar 116/2003 com adaptações locais).
Filtrar listagem por data
curl "$BASE/nfse?dataInicial=2026-05-01&page=1&page_size=20" \ -H "Authorization: Token $TOKEN"Cancelamento
curl -X POST $BASE/nfse/cancelamento \ -H "Authorization: Token $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "chave": "chave_nfse_aqui", "motivo": "Cancelamento solicitado pelo tomador — serviço não realizado." }'Particularidades por município
Cada município tem variações. Os pontos mais comuns:
| Aspecto | Comportamento |
|---|---|
| Numeração | Alguns municípios numeram, outros usam a chave municipal |
| Cancelamento | Prazo varia (geralmente até virada do mês) |
| Item de serviço | Lista padrão LC 116/2003 + adaptações locais |
| Retenções (INSS, ISS) | Calculadas conforme cadastro fiscal do prestador |
Verifique com o suporte FazNota se o seu município está homologado e quais campos adicionais são necessários.
Erros comuns
| Mensagem | Causa |
|---|---|
Campo nfse@cliente documento não pertence a um cliente cadastrado. | Cliente desconhecido |
Campo nfse@itens não pode ser vazio. | Array de itens vazio |
status: "900" (rejeição municipal) | Inscrição municipal incorreta, código de serviço inválido para o município, ou retenção mal calculada |