CST de PISAliq: códigos 01 e 02 e compatibilidade no XML
<CST>det › imposto › PIS › PISAliq › CSTRevisã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:
- Compare o CST da origem com o XML. Se a origem contém
01e o XML contém1, a evidência aponta para serialização, não para nova escolha fiscal. - Compare o CST definido com o grupo gerado. Um código de PISNT dentro de PISAliq sugere incompatibilidade de mapeamento.
- Confira se o item tem apenas uma alternativa dentro de PIS; duplicar grupos não resolve incompatibilidade.
- 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.
- 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