cServico no ISSQN: código municipal do serviço na NF-e
<cServico>det › imposto › ISSQN › cServicoRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
cServico, em /nfeProc/NFe/infNFe/det/imposto/ISSQN/cServico, informa o código do serviço prestado dentro do município. Ele representa a codificação municipal; não é necessariamente igual ao item da lista de serviços em cListServ.
Qual cadastro fornece o código
A definição do MOC é código do serviço prestado dentro do município. Sua origem precisa corresponder ao cadastro/tabela municipal pertinente à prestação. Não existe, no campo, uma autorização para adotar a numeração interna do emissor ou copiar automaticamente CNAE, NCM e cListServ. Fonte: MOC 7.0 — Anexo I 7.00, novembro/2020, U13, p. 57.
Para conferir, identifique o município, o serviço efetivo, a classificação já confirmada e a versão do cadastro local. Dois municípios podem usar códigos distintos para prestações semelhantes. O vínculo entre item da lista e código municipal deve ser confirmado, sem inventar uma regra universal de conversão.
Formato textual e exemplo
O XSD torna cServico opcional e permite de 1 a 20 caracteres conforme TString. Não é um inteiro com largura fixa. Preserve letras, sinais e zeros que façam parte do código oficial, sem acrescentar máscara por conta própria. O elemento vem depois de indISS e antes de cMun, quando esses opcionais existem. Fonte: XSD NF-e/NFC-e PL_010f_v1.04, ISSQN/cServico, linhas 4516–4527.
Fragmento parcial com código fictício, sem designar cadastro municipal:
<cServico xmlns="http://www.portalfiscal.inf.br/nfe">SERV-MUNIC-01</cServico>
A string ilustra tamanho e posição. A aprovação pelo tipo textual não demonstra que ela exista no município ou corresponda à prestação.
Como conferir um código trocado na integração
Compare o código municipal confirmado com o cadastro do serviço e o XML transmitido. Verifique se houve troca com cListServ, perda de zeros ou uso de código cadastrado para outra cidade. O campo opcional não deve receber um marcador genérico para esconder cadastro ausente.
Se a definição do serviço ou sua classificação está em dúvida, reúna contrato e descrição da atividade para avaliação responsável. Se o código já está confirmado e a transformação está errada, corrija o mapeamento correspondente. Uma NFS-e pode utilizar codificação ou contrato próprios; não conclua equivalência entre documentos apenas porque ambos têm um campo chamado código de serviço.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ISSQN/cServico- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–1 no contexto do elemento pai
- Tipo
- inline:TString · TString
- Preenchimento no catálogo
- Condicional
A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.
- maxLength
20- minLength
1- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve