Referência de campos da NFS-e
Campos do objeto nota na NFS-e do Padrão Nacional. O payload segue a estrutura oficial
infDPS — o nome que você envia é o nome do layout, sem tradução.
Ela sai de duas fontes, direto do que roda em produção:
- o conversor — quais nomes você pode enviar e em que campo do layout cada um vira;
- os XSD oficiais — tipo, tamanho, valores permitidos e a descrição de cada campo.
Por isso ela não diverge do sistema: se um campo muda no código, muda aqui. E por isso os textos da coluna "O que é" são os oficiais, não uma reescrita nossa.
São 33 campos em 6 grupos, 29 deles com descrição oficial.
Como ler
O corpo da emissão tem esta forma:
{
"cpf_cnpj": "11222333000181",
"nota": {
"numero_rps": 1,
"serie": "1",
"infDPS": {
"dhEmi": "2026-09-06T10:00:00-03:00",
"prest": { "...": "..." },
"toma": { "...": "..." },
"serv": { "...": "..." }
}
}
}
Cada seção abaixo é um desses blocos. A coluna Nome interno é o nome que o emissor usa internamente. Você não precisa dele para integrar, mas ele aparece em mensagens de erro.
3 campos aceitam nomes alternativos. Quando existem, aparecem como "também:" na primeira coluna — qualquer um funciona.
O conversor repassa chave desconhecida como veio, e o emissor a ignora: um vlrProd no lugar de
vProd gera uma nota válida com o produto valendo R$ 0,00.
Antes da primeira emissão, passe o seu payload em
POST /v1/nfe/verificar-campos — ele aponta o campo desconhecido e
sugere o certo, sem emitir e sem consumir cota.
nota (raiz)
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
numero_rpstambém: numero | Numero | campo do emissor, sem descrição no layout | |||
serie | Serie | string | 5 | Número do equipamento emissor do DPS ou série do DPS | |
dhEmi | DataEmissao | string | Data e hora da emissão do DPS. Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD | ||
dCompet | Competencia | string | Data em que se iniciou a prestação do serviço: Dia, mês e ano (AAAAMMDD) | ||
verAplic | verAplic | TSString | 20 | ||
tpEmit | tpEmit | string | 1 2 3 | Emitente da DPS: 1 - Prestador; 2 - Tomador; 3 - Intermediário |
nota.prest
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
CNPJ | CNPJ | string | 14 | Número do CNPJ do emitente da NFS-e. | |
CPF | CNPJCPF | string | 11 | Número do CPF do emitente da NFS-e. | |
InscricaoMunicipaltambém: IM | InscricaoMunicipal | campo do emissor, sem descrição no layout | |||
xNometambém: RazaoSocial | RazaoSocial | string | 300 | Nome / Razão Social do emitente. | |
opSimpNac | opSimpNac | string | 1 2 3 | Situação perante o Simples Nacional: 1 - Não Optante; 2 - Optante - Microempreendedor Individual (MEI); 3 - Optante - Microempresa ou Empresa de Pequeno Porte (ME/EPP); | |
cMun | CodigoMunicipio | string | Código do município, conforme Tabela do IBGE | ||
CEP | CEP | string | Número do CEP | ||
email | Email | TSString | 80 | E-mail do emitente. |
nota.toma
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
CNPJ | CNPJCPF | string | 14 | Número da inscrição no Cadastro Nacional de Pessoa Jurídica (CNPJ) do Destinatário do serviço | |
CPF | CNPJCPF | string | 11 | Número da inscrição no Cadastro de Pessoa Física (CPF) do Destinatário do serviço | |
xNome | RazaoSocial | string | 300 | Nome / Nome Empresarial do do Destinatário do serviço | |
email | Email | TSString | 80 | E-mail do Destinatário do serviço | |
cMun | CodigoMunicipio | string | Código do município, conforme Tabela do IBGE | ||
CEP | CEP | string | Número do CEP |
nota.locPrest
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
cLocPrestacao | CodigoMunicipio | string | Código do município onde o serviço foi prestado (tabela do IBGE) | ||
cTribNac | ItemListaServico | string | Código de tributação nacional do ISSQN, nos termos da LC 116/2003, conforme aba MUN.INCID_INFO.SERV. do ANEXO I Regra de formação - 6 dígitos numéricos sendo: 2 para Item (LC 116/2003), 2 para Subitem (LC 116/2003) e 2 para Desdobro Nacional | ||
cTribMun | CodigoTributacaoMunicipio | string | Código de tributação municipal do ISSQN | ||
cIntContrib | CodigoInterContr | TSString | 20 | Código interno do contribuinte | |
xDescServ | Discriminacao | TSStringComQuebraDeLinha | 2000 | Descrição completa do serviço prestado | |
cNBS | CodigoNBS | string | Código NBS correspondente ao serviço prestado, seguindo a versão 2.0, conforme Anexo B |
nota.atvEvento
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
xNome | xNome | string | 300 | ||
dtIni | dtIni | string | Data de início da atividade de evento. Ano, Mês e Dia (AAAA-MM-DD) | ||
dtFim | dtFim | string | Data de fim da atividade de evento. Ano, Mês e Dia (AAAA-MM-DD) | ||
idAtvEvt | idAtvEvt | string | 30 | Identificação da Atividade de Evento (código identificador de evento determinado pela Administração Tributária Municipal) | |
CEP | CEP | string | Número do CEP |
nota.vServPrest
| Campo | Nome interno | Tipo | Tam. | Valores | O que é |
|---|---|---|---|---|---|
vServ | ValorServicos | string | Valor dos serviços em R$ | ||
vReceb | ValorRecebido | string | Valor monetário recebido pelo intermediário do serviço (R$) |
O que esta página não cobre
Ela lista quais campos existem e o que cada um aceita. Ela não diz quando cada grupo é exigido — isso depende de UF, município, regime tributário e da operação, e está nos guias de emissão. Um payload que passa por esta referência ainda pode ser rejeitado por regra fiscal.