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"
}'
const nfse = await fetch ( 'https://api.engineapi.com.br/nfse' , {
method: 'POST' ,
headers: {
'x-api-key' : process . env . ENGINE_API_KEY ! ,
'Content-Type' : 'application/json' ,
},
body: JSON . stringify ({
issuerId: 'ISSUER_ID' ,
tomador: {
cnpj: '99888777000155' ,
nome: 'Cliente Exemplo SA' ,
email: 'financeiro@cliente.com.br' ,
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' ,
}),
}). then ( r => r . json ());
console . log ( 'NFSe autorizada:' , nfse . numero );
Campos de Referência
Campo Tipo Obrigatório Descrição issuerIdstring (UUID) Sim ID da empresa prestadora de serviço tomador.cnpj ou cpfstring Sim Documento do tomador tomador.nomestring Sim Razão social ou nome do tomador tomador.enderecoobjeto Sim Endereço completo servico.codigoServicostring Sim Código LC116 do serviço prestado servico.descricaostring Sim Descrição detalhada do serviço servico.valornúmero Sim Valor bruto do serviço em R$ servico.aliquotaISSnúmero Sim Alíquota ISS do município (%) servico.valorISSnúmero Sim valor × aliquotaISS / 100servico.issRetidoboolean Sim ISS retido pelo tomador? competenciastring (YYYY-MM) Sim Mês de competência do serviço observacoesstring 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.01Análise e desenvolvimento de sistemas 01.07Suporte técnico em informática 17.01Assessoria, consultoria, pesquisa 17.06Propaganda e publicidade 26.01Serviç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.
Próximos passos
Emitir NFe Para venda de mercadorias (ICMS)
Webhooks Receba eventos de NFSe em tempo real