
# NFS-e

A NFS-e é a nota de serviço. A emitza emite no **padrão nacional**: monta a DPS (Declaração de Prestação de Serviço), assina e envia ao Sistema Nacional da NFS-e, que gera a nota.

## Quem pode emitir pelo padrão nacional

| Regime | Onde |
|---|---|
| MEI e Simples Nacional | Em todos os municípios a partir de 01/11/2026, quando o padrão nacional passa a ser obrigatório para eles. Antes disso, só onde a prefeitura já aceita o emissor nacional |
| Presumido e Real | Só onde a prefeitura aceita o emissor nacional |

Para saber a situação de um município:

```bash
curl "https://api-sandbox.emitza.com.br/v1/nfse/municipalities/3550308?companyId=$COMPANY_ID" \
  -H "Authorization: Bearer $EMITZA_KEY"
```

`nationalIssuer: false` quer dizer que, para Presumido e Real, a NFS-e sai pelo sistema da própria prefeitura. A situação de todos os municípios de SP está na página de [cobertura](../../cobertura/). Nesse caso a emitza recusa a emissão com `422 municipality_not_supported`. O atendimento pelos sistemas das prefeituras está em andamento.

## 1. Configure a empresa

Para ME e EPP do Simples, informe o regime de apuração e a atividade do Simples (cAtvSN):

```json PUT /v1/companies/{id}/nfse-settings
{ "simplesTaxRegime": 1, "simplesActivity": "07" }
```

`approximateTaxes` define o total aproximado dos tributos padrão das notas (Lei 12.741/2012).

## 2. Cadastre a série da DPS

```json POST /v1/companies/{id}/nfse-series
{ "number": 1, "next": 1 }
```

## 3. Emita

```json POST /v1/nfse
{
  "externalId": "os-2026-1001",
  "companyId": "6710a1b2c3d4e5f601234567",
  "service": {
    "nationalCode": "01.07.01",
    "description": "Suporte técnico em informática - outubro/2026"
  },
  "recipient": {
    "cnpj": "11444777000161",
    "name": "Cliente Exemplo Ltda",
    "address": { "street": "Avenida Paulista", "number": "1000", "district": "Bela Vista", "cityCode": "3550308", "zip": "01310100" }
  },
  "amount": "1500.00"
}
```

- `nationalCode` é o código de tributação nacional (lista da LC 116), com ou sem pontos.
- O local da prestação é, por padrão, o município da empresa; mude em `service.location`.
- A alíquota do ISS vem do município; informe `iss.rate` só quando a regra pedir (ISS retido pelo tomador, por exemplo).

Como na NF-e, a resposta é `202` e o resultado chega pelo webhook `nfse.authorized` ou `nfse.rejected`. Uma rejeição traz a lista `rejection.errors`, com o código do Sistema Nacional (por exemplo, `E0310`) e a descrição. Corrija e reenvie com o mesmo `externalId`.

## Cancelamento

```json POST /v1/nfse/{id}/cancel
{ "reason": "2", "justification": "Serviço não foi prestado no mês" }
```

`reason`: 1 erro na emissão, 2 serviço não prestado, 9 outros. Resultado pelo webhook `nfse.cancelled` ou `nfse.event_rejected`.

## Documentos

| Rota | Devolve |
|---|---|
| `GET /v1/nfse/{id}/xml` | XML da NFS-e gerada, com a DPS assinada dentro |
| `GET /v1/nfse/{id}/danfse` | DANFSe em PDF, com QR Code para consulta |
| `GET /v1/nfse/{id}/events` | Eventos (cancelamento) |
