Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · PIS e PIS-ST

CST de PISAliq: códigos 01 e 02 e compatibilidade no XML

<CST>det › imposto › PIS › PISAliq › CST

Revisão editorial em 27 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

O CST de PISAliq identifica a situação tributária do PIS, Programa de Integração Social, na modalidade de cálculo percentual. Seu caminho é /nfeProc/NFe/infNFe/det/imposto/PIS/PISAliq/CST. Nesse contexto, o domínio é exclusivamente 01 ou 02.

Um erro no código pode vir tanto da classificação de origem quanto da escolha do grupo pelo gerador. Identificar qual das duas informações divergiu é mais seguro tecnicamente do que trocar o número para fazer o XML passar.

Domínio e significado

CST Descrição documentada em PISAliq
01 Operação tributável, base de cálculo pelo valor da operação, alíquota normal, cumulativo/não cumulativo
02 Operação tributável, base de cálculo pelo valor da operação, alíquota diferenciada

As descrições pertencem ao MOC; não indicam qual código usar em uma venda particular. O leiaute vincula ambos a PISAliq, seguido de vBC, pPIS e vPIS. MOC 7.0, Anexo I, página 52.

O XSD real PL_010d_v1.03, referência estrutural histórica, enumera as strings 01 e 02. Portanto, 1, 2, 001 e um texto descritivo não representam esses valores. Evite converter o código em número e perder o zero inicial ao serializar. Schemas 010d v1.03, PISAliq/CST.

O código não é a alíquota

CST e pPIS são informações diferentes. A presença de 01 não permite obter um percentual universal, nem provar qual regime da empresa está em uso. A presença de 02 também não informa qual é a alíquota diferenciada concreta.

Em uma hipótese sintética, assumindo previamente CST 02, base R$ 400,00 e percentual 2,50%, o valor seria 400 × 2,50 ÷ 100 = R$ 10,00:

<PISAliq xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>02</CST>
  <vBC>400.00</vBC>
  <pPIS>2.5000</pPIS>
  <vPIS>10.00</vPIS>
</PISAliq>

O exemplo demonstra a posição do código e sua relação com os campos seguintes. É sintético e parcial, não pronto para transmissão; CST e percentual não são sugestão de tributação. Trocar somente o CST não confirma a base nem o cálculo.

CST em outro caminho

O CST 03 pertence a PISQtde, cujo cálculo usa quantidade e valor por unidade. 04 a 09 pertencem a PISNT. PISOutr possui o domínio 49, 50–56, 60–67, 70–75, 98 e 99 e pode calcular por percentual ou quantidade.

Por isso, um campo chamado CST fora de PISAliq não pode ser interpretado com a tabela 01/02. CST de ICMS, IPI e COFINS também têm contextos próprios; o nome comum não comprova tratamento equivalente. PISST não contém CST interno. MOC, grupos Q/R, páginas 52–54.

Rastrear o código até o grupo

Para falha de schema relacionada a CST, confira primeiro o caminho completo e o valor literal recebido. Depois:

  1. Compare o CST da origem com o XML. Se a origem contém 01 e o XML contém 1, a evidência aponta para serialização, não para nova escolha fiscal.
  2. Compare o CST definido com o grupo gerado. Um código de PISNT dentro de PISAliq sugere incompatibilidade de mapeamento.
  3. Confira se o item tem apenas uma alternativa dentro de PIS; duplicar grupos não resolve incompatibilidade.
  4. Se a origem já tem código fora do domínio esperado, confirme o tratamento da operação com o responsável contábil, levando produto, regime, natureza da operação e documentação. Não substitua pelo primeiro código aceito.
  5. Após corrigir a causa comprovada, gere e valide novamente, preservando o dado fiscal verdadeiro e sem editar XML assinado.

Aceitação no XSD demonstra compatibilidade estrutural, não comprova que o código é fiscalmente adequado. Compare também os contextos de CST em PISNT, CST em PISOutr e CST em PISQtde.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/PIS/PISAliq/CST
Namespace
http://www.portalfiscal.inf.br/nfe
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
1–1 no contexto do elemento pai
Tipo
inline:xs:string · string
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.

enumeration
01
enumeration
02
whiteSpace
preserve