NFSe Itajaí - Inconsistência na validação do campo ItemListaServico (cTribNac) (6 dígitos)

@arimateia, bom dia! Tudo bem?

Estamos enfrentando um problema ao enviar o DPS para o provedor ProPublica/Itajaí.

De acordo com a documentação oficial da Prefeitura (vigente a partir de 24/11/2025), o código correto da Lista de Serviços (Códigos de Tributação Nacional) para nosso caso é 080201 (6 dígitos).


:blue_circle: Cenário 1 – Enviando com 6 dígitos (080201)

Ao enviar o código exatamente como consta na documentação, recebemos:

Status code 400
ValidationFailed
1832 - Element '{http://www.publica.inf.br}ItemListaServico':
[facet 'maxLength'] The value has a length of '6'; this exceeds the allowed maximum length of '5'.

Ou seja:
:check_mark: O código oficial tem 6 dígitos
:cross_mark: O schema do provedor rejeita qualquer valor com 6 dígitos


:blue_circle: Cenário 2 – Tentando enviar com 5 dígitos (08020)

Ao tentar contornar enviando apenas os 5 primeiros dígitos, o retorno é:

"mensagens": [
  {
    "codigo": "E30",
    "descricao": "Item da lista de serviço inexistente.",
    "correcao": "Informe um código válido..."
  }
]

Ou seja:
:cross_mark: Com 5 dígitos o provedor rejeita por inexistência
:cross_mark: Com 6 dígitos o schema rejeita por excesso de caracteres

Atualmente há um conflito entre:

  1. O código oficial exigido pela Prefeitura (080201 – 6 dígitos)
  2. A validação técnica aplicada pelo provedor (máximo 5 dígitos)

Podem, por favor, verificar e nos orientar sobre a forma correta de envio?

E enviando com 0802, ocorre rejeição? Qual?

Enviando o código 0802, conforme abaixo:

"serv": {
  "cServ": {
    "cTribNac": "0802",
    "cNatOp": "602"
  }
}

O retorno foi o seguinte:

"mensagens": [
  {
    "codigo": "E144",
    "descricao": "Natureza da operação inválida.",
    "correcao": "Informe uma natureza válida. Verifique os códigos válidos em https://nfse.itajai.sc.gov.br/jsp/externo/downloads.jsp no link “Naturezas de Operação para a NFS-e”."
  }
]

Ou seja, mesmo com 4 dígitos (0802), o provedor continua rejeitando, agora com erro de Natureza da Operação inválida, apesar de estarmos utilizando cNatOp = 602 — que deveria ser válido para o cenário informado.

Parece ser esse o real problema. Tem que resolver primeiro essa rejeição E144 com o suporte da prefeitura.

Segundo o suporte da prefeitura, o erro de natureza da operação tem relação com a atividade (Item de serviço)

Então envie o XML que solicitaram.

Para baixá-lo, utilize o endpoint GET /nfse/{id}/xml/dps.

Já foi enviado.

A resposta recebida: primeiro ajuste o conteúdo dessa tag

08.02

conforme documento anexo. (CÓDIGOS DE TRIBUTAÇÃO NACIONAL NFS-e (Lista de Serviços ISS) (vigentes a contar de 24/11/2025))

listaservicos.pdf (231,2,KB)

@dev8

O schema que temos desse provedor só permite o envio de uma string com tamanho máximo de 5 caracteres:


Ou seja, mesmo enviando o código com 6 caracteres, irá provocar erro na validação contra o schema.

Favor solicitar ao suporte da prefeitura o schema atualizado para que possamos realizar esse ajuste.

assim que nos derem um retorno, envio aqui

Segue anexo o schema atualizado encaminhado pelo suporte da prefeitura.

schema_nfse_v03_1.zip (5,7,KB)