Guia: NFSe
Emita Notas Fiscais de Serviços Eletrônicas (NFSe) para municípios via Engine API.
NFSe: Nota Fiscal de Serviços Eletrônica
A NFSe é o documento fiscal para prestação de serviços. Diferente da NFe, é autorizada pela prefeitura municipal. Cada cidade tem seu próprio webservice e padrão.
Endpoint base: https://api.engineapi.com.br/nfse
Multi-prefeitura
Suporte a múltiplos padrões municipais via ACBrLib
ISS incluso
Cálculo e recolhimento do ISS conforme legislação local
RPS automático
Conversão automática de RPS em NFSe
Diferenças NFSe vs NFe
| Aspecto | NFe (mercadorias) | NFSe (serviços) | |---------|-------------------|----------------| | Autorizada por | SEFAZ Estadual | Prefeitura Municipal | | Imposto principal | ICMS | ISS | | Padrão único | Sim (SEFAZ) | Não. Cada município tem o seu | | Cancelamento | Até 24h | Varia por município |
Emitir NFSe
curl -X POST https://api.engineapi.com.br/nfse \
-H "x-api-key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"issuerId": "ISSUER_ID",
"tomador": {
"cnpj": "99888777000155",
"nome": "Cliente Exemplo SA",
"email": "financeiro@cliente.com.br",
"telefone": "11999998888",
"endereco": {
"logradouro": "Av Paulista",
"numero": "1000",
"bairro": "Bela Vista",
"codigoMunicipio": "3550308",
"municipio": "São Paulo",
"uf": "SP",
"cep": "01310100"
}
},
"servico": {
"codigoServico": "01.01",
"descricao": "Desenvolvimento de software sob encomenda",
"valor": 5000.00,
"aliquotaISS": 2.00,
"valorISS": 100.00,
"issRetido": false
},
"competencia": "2026-04",
"observacoes": "Referente ao projeto EngineAPI — Fase 1"
}'
Campos de Referência
| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| issuerId | string (UUID) | Sim | ID da empresa prestadora de serviço |
| tomador.cnpj ou cpf | string | Sim | Documento do tomador |
| tomador.nome | string | Sim | Razão social ou nome do tomador |
| tomador.endereco | objeto | Sim | Endereço completo |
| servico.codigoServico | string | Sim | Código LC116 do serviço prestado |
| servico.descricao | string | Sim | Descrição detalhada do serviço |
| servico.valor | número | Sim | Valor bruto do serviço em R$ |
| servico.aliquotaISS | número | Sim | Alíquota ISS do município (%) |
| servico.valorISS | número | Sim | valor × aliquotaISS / 100 |
| servico.issRetido | boolean | Sim | ISS retido pelo tomador? |
| competencia | string (YYYY-MM) | Sim | Mês de competência do serviço |
| observacoes | string | Não | Informações adicionais |
Códigos de Serviço LC116
Os códigos são definidos pela Lei Complementar 116/2003:
| Código | Serviço |
|--------|---------|
| 01.01 | Análise e desenvolvimento de sistemas |
| 01.07 | Suporte técnico em informática |
| 17.01 | Assessoria, consultoria, pesquisa |
| 17.06 | Propaganda e publicidade |
| 26.01 | Serviços de coleta, busca e entrega |
Cada município pode ter lista complementar de códigos. Consulte a legislação local ou o site da prefeitura emissora.
Response de Sucesso
{
"success": true,
"nfse": {
"id": "nfse-uuid",
"numero": "000001234",
"codigoVerificacao": "ABC12345",
"status": "AUTHORIZED",
"linkNfse": "https://nfe.prefeitura.sp.gov.br/contribuinte/NotasFiscais.aspx?...",
"pdfUrl": "/nfse/pdf/nfse-uuid",
"xmlUrl": "/nfse/xml/nfse-uuid",
"competencia": "2026-04",
"createdAt": "2026-04-27T02:00:00.000Z"
}
}
Cancelar NFSe
curl -X POST https://api.engineapi.com.br/nfse/ID/cancelar \
-H "x-api-key: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "motivo": "Serviço não prestado — contrato cancelado" }'
As regras de cancelamento variam por município. Algumas prefeituras permitem até o último dia do mês de competência, outras exigem solicitação formal. A API retornará erro se o cancelamento não for permitido.