---
title: "Emissão de NFS-e com Cálculo Manual de Impostos - NFE.io | Docs"
description: "Aprenda como emitir uma Nota Fiscal de Serviço Eletrônica (NFS-e) informando manualmente os valores de impostos e alíquotas na plataforma NFE.io."
source_url: https://nfe.io/docs/documentacao/nota-fiscal-servico-eletronica/duvidas/cenarios-de-emissao/calculo-manual-impostos
last_updated: 2026-03-09
---

# Emissão de NFS-e com Cálculo Manual de Impostos

Nesta seção, iremos explicar como emitir uma **Nota Fiscal de Serviço Eletrônica (NFS-e)** informando **manualmente os valores de impostos e alíquotas**. Caso não encontre uma resposta para sua dúvida, fique à vontade para [entrar em contato](https://nfe.io/#contato) e enviar sua pergunta.

## O que é o Cálculo Manual de Impostos?

O **cálculo manual de impostos** é o cenário em que você tem **total controle** sobre os detalhes tributários e valores dos impostos a serem enviados para a prefeitura no processamento da nota fiscal. Ao informar qualquer campo de imposto na requisição, a plataforma entende que você deseja controlar os valores manualmente e não realizará o cálculo automático.

### Quando utilizar este cenário?

- **Controle total sobre os impostos**: Quando você precisa definir manualmente os valores de alíquotas e impostos retidos.
- **Alíquotas específicas**: Quando a alíquota de ISS ou outros impostos aplicáveis ao serviço diferem do padrão cadastrado na plataforma.
- **Retenções de impostos**: Quando há necessidade de informar valores de retenção de IR, PIS, COFINS, CSLL, INSS ou ISS.

## Campos para emissão

Para emitir uma **nota fiscal com cálculo manual de impostos**, além dos campos básicos, você deve informar os campos de alíquotas e retenções conforme as regras abaixo:

| Campo | Descrição | Obrigatório |
|-------|-----------|-------------|
| `borrower.type` | Tipo do tomador de serviço (`Undefined`, `NaturalPerson`, `LegalEntity`) | Sim |
| `borrower.name` | Nome ou Razão Social do tomador | Sim |
| `borrower.federalTaxNumber` | CPF ou CNPJ do tomador (somente números) | Sim |
| `borrower.email` | Email do tomador | Não |
| `borrower.address` | Endereço completo do tomador | Sim |
| `cityServiceCode` | Código do serviço no município | Sim |
| `description` | Descrição do serviço prestado | Sim |
| `servicesAmount` | Valor total do serviço | Sim |
| `issRate` | Alíquota do ISS (valor em decimal, ex: 2% = 0.02) | Sim |
| `issAmount` | Valor do ISS calculado (`servicesAmount` x `issRate`) | Condicional* |
| `deductions` | Valor das deduções | Condicional** |
| `unconditionalDiscount` | Valor do desconto incondicionado | Condicional** |
| `conditionalDiscount` | Valor do desconto condicionado | Condicional** |
| `irWithheld` | Valor da retenção de IR | Condicional** |
| `pisWithheld` | Valor da retenção de PIS | Condicional** |
| `cofinsWithheld` | Valor da retenção de COFINS | Condicional** |
| `csllWithheld` | Valor da retenção de CSLL | Condicional** |
| `inssWithheld` | Valor da retenção de INSS | Condicional** |
| `issWithheld` | Valor da retenção de ISS | Condicional** |
| `othersWithheld` | Valor de outras retenções | Condicional** |

:::info

**Regras de obrigatoriedade:**

- **\*ISS**: Você pode informar somente o `issRate` (alíquota do ISS). Porém, se informar o `issAmount` (valor do ISS), é obrigatório informar também o `issRate`, pois são correlatos (`servicesAmount` x `issRate` = `issAmount`).
- **\*\*Impostos retidos**: Se qualquer campo de retenção for informado, **todos os campos de retenção devem ser informados**, definindo `0` para os que não se aplicam.

:::

---

## Emissão via API

Para emitir uma nota fiscal com cálculo manual de impostos via API, informe os campos de alíquotas e retenções na requisição.

### Cenário 1: Informando apenas a alíquota do ISS

Quando você precisa apenas definir a alíquota do ISS, sem informar retenções.

#### Exemplo de JSON

```json
{
  "borrower": {
    "type": "LegalEntity",
    "name": "Banco do Brasil SA",
    "federalTaxNumber": 191,
    "municipalTaxNumber": null,
    "email": "joao.silva@emaildobancodobrasil.com.br",
    "address": {
      "country": "BRA",
      "postalCode": "01430-000",
      "street": "Avenida Brasil",
      "number": "418",
      "additionalInformation": "ANDAR 1",
      "district": "Jardins",
      "city": {
        "code": "3550308",
        "name": "São Paulo"
      },
      "state": "SP"
    }
  },
  "cityServiceCode": "0101",
  "description": "Descrição do serviço prestado",
  "servicesAmount": 1000.00,
  "issRate": 0.02
}
```

---

### Cenário 2: Informando alíquota, valor do ISS e retenções

Quando você precisa definir todos os valores de impostos e retenções.

#### Exemplo de JSON

```json
{
  "borrower": {
    "type": "LegalEntity",
    "name": "Banco do Brasil SA",
    "federalTaxNumber": 191,
    "municipalTaxNumber": null,
    "email": "joao.silva@emaildobancodobrasil.com.br",
    "address": {
      "country": "BRA",
      "postalCode": "01430-000",
      "street": "Avenida Brasil",
      "number": "418",
      "additionalInformation": "ANDAR 1",
      "district": "Jardins",
      "city": {
        "code": "3550308",
        "name": "São Paulo"
      },
      "state": "SP"
    }
  },
  "cityServiceCode": "0101",
  "description": "Descrição do serviço prestado",
  "servicesAmount": 1000.00,
  "issRate": 0.02,
  "issAmount": 20.00,
  "deductions": 0.00,
  "unconditionalDiscount": 0.00,
  "conditionalDiscount": 0.00,
  "irWithheld": 0.00,
  "pisWithheld": 0.00,
  "cofinsWithheld": 0.00,
  "csllWithheld": 0.00,
  "inssWithheld": 0.00,
  "issWithheld": 0.00,
  "othersWithheld": 0.00
}
```

### Observações importantes

- O campo `issRate` deve ser informado em **valor decimal** (ex: 2% = 0.02, ou seja, 2 / 100).
- Se o `issAmount` for informado, ele deve ser consistente com a fórmula: `servicesAmount` x `issRate` = `issAmount`.
- Todos os campos de retenção que não se aplicam devem ser preenchidos com `0.00`.
- O campo `federalTaxNumber` deve conter **somente números** (sem pontos, traços ou barras).
- O campo `borrower.address.city.code` deve conter o **código IBGE** do município (7 dígitos).

---

## Emissão via Planilha

Também é possível emitir notas fiscais com cálculo manual de impostos utilizando a **planilha avançada** de importação. Neste cenário, utilize o modelo de planilha avançada — nele, você tem controle total sobre os campos de impostos.

### Campos da Planilha

Além dos campos básicos do tomador e serviço, preencha os seguintes campos tributários:

| Coluna da Planilha | API | Descrição |
|--------------------|-----|-----------|
| `Aliquota_ISS` | `issRate` | Alíquota do ISS em percentual |
| `Valor_ISS` | `issAmount` | Valor do ISS calculado |
| `Retencao_IR` | `irWithheld` | Valor da retenção de IR |
| `Retencao_PIS` | `pisWithheld` | Valor da retenção de PIS |
| `Retencao_COFINS` | `cofinsWithheld` | Valor da retenção de COFINS |
| `Retencao_CSLL` | `csllWithheld` | Valor da retenção de CSLL |
| `Retencao_INSS` | `inssWithheld` | Valor da retenção de INSS |
| `Retencao_ISS` | `issWithheld` | Valor da retenção de ISS |
| `Retencao_OUTROS` | `othersWithheld` | Valor de outras retenções |
| `Valor_Deducoes` | `deductions` | Valor das deduções legais |
| `Valor_Desconto_Incondicionado` | `unconditionalDiscount` | Valor do desconto incondicionado |
| `Valor_Desconto_Condicionado` | `conditionalDiscount` | Valor do desconto condicionado |

### Exemplo de preenchimento

| Codigo_Servico | Descricao | Valor | CPF_CNPJ | Nome | Aliquota_ISS | Valor_ISS | Retencao_IR | Retencao_PIS | Retencao_COFINS | Retencao_CSLL | Retencao_INSS | Retencao_ISS | Retencao_OUTROS | Valor_Deducoes | Valor_Desconto_Incondicionado | Valor_Desconto_Condicionado |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0101 | Descrição do serviço prestado | 1000.00 | 00000000000191 | Banco do Brasil SA | 2 | 20.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |

### Observações

- Para utilizar o cálculo manual, utilize o modelo de **planilha avançada**.
- Na planilha, a alíquota do ISS (`Aliquota_ISS`) é informada em **percentual** (ex: 2 para 2%), diferente da API onde o valor é em decimal (0.02).
- As mesmas regras de obrigatoriedade da API se aplicam à planilha: se um campo de retenção for preenchido, todos devem ser preenchidos.

---

## Perguntas Frequentes (FAQ)

### Qual a diferença entre a alíquota na API e na planilha?

Na **API**, a alíquota do ISS (`issRate`) deve ser informada em **valor decimal** (ex: 2% = 0.02). Na **planilha**, o campo `Aliquota_ISS` é informado em **percentual** (ex: 2% = 2).

### O que acontece se eu não informar todos os campos de impostos?

Os campos de impostos seguem regras específicas:

- **ISS**: Você pode informar somente o campo `issRate` (alíquota do ISS). Porém, se informar o campo `issAmount` (valor do ISS), é obrigatório informar também o `issRate`, pois eles são correlatos (`servicesAmount` x `issRate` = `issAmount`).
- **Impostos retidos**: Se qualquer campo de retenção for informado (`irWithheld`, `pisWithheld`, `cofinsWithheld`, `csllWithheld`, `inssWithheld`, `issWithheld`, `othersWithheld`), **todos os campos de retenção devem ser informados**, definindo `0` para os que não se aplicam.

### Posso misturar cálculo automático e manual?

Não. Ao informar qualquer campo de imposto na requisição, a plataforma entende que você deseja controlar os valores manualmente. Se você quer que a plataforma calcule automaticamente, não informe nenhum campo de imposto. Consulte o cenário [Cálculo Automático de Impostos](./calculo-automatico-impostos).

### Como sei quais alíquotas aplicar para o meu serviço?

Recomendamos consultar a **tabela de alíquotas da prefeitura** do município da empresa emissora ou seu **contador** para identificar as alíquotas corretas para cada tipo de serviço.

### Como cadastrar, atualizar ou customizar um imposto?

Para **cadastro de imposto**, **atualização de imposto** ou **cadastro de imposto customizado** para sua empresa, [entre em contato com nosso suporte](https://nfe.io/#contato). A equipe de suporte será responsável por realizar essas configurações na plataforma.

---

## Dúvidas adicionais

Caso tenha dúvidas específicas sobre a emissão de notas fiscais com cálculo manual de impostos, [entre em contato com nosso suporte](https://nfe.io/contato) ou consulte seu contador para orientações sobre o enquadramento correto da sua empresa.

---

**Relacionados:**
- [Cálculo Automático de Impostos](./calculo-automatico-impostos)
- [Dúvidas na Integração da NFS-e](/docs/documentacao/nota-fiscal-servico-eletronica/duvidas/)
- [Cálculo de Impostos na NFE.io](/docs/documentacao/nota-fiscal-servico-eletronica/duvidas/calculo-de-impostos)
- [Emitir NFS-e em Lote via Planilha](/docs/documentacao/nossa-plataforma/nota-fiscal-servico/emitir-em-lote)
