engineAPIengine·API

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

building-columns

Multi-prefeitura

Suporte a múltiplos padrões municipais via ACBrLib

percent

ISS incluso

Cálculo e recolhimento do ISS conforme legislação local

file-lines

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

bash
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

json
{
  "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

bash
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