Rejeição E0903 - Código do tipo de Operação (tpOper) deve ser informado quando se tratar de uma compra governamental ou serviços específicos
Descrição da rejeição
Esta rejeição ocorre quando a tag <tpOper> não é informada no XML, mas a operação se enquadra em uma das situações que tornam este campo obrigatório: quando há identificação de um ente governamental (<tpEnteGov>) ou quando o serviço prestado (<cTribNac>) corresponde aos subitens específicos da Lei Complementar 116/2003.
Regra de Validação
O Sistema valida a obrigatoriedade da tag <tpOper> com base no contexto da operação e no código do serviço. O campo <tpOper> deve ser obrigatoriamente preenchido se:
– A tag <tpEnteGov> estiver presente (caracterizando venda para órgãos públicos); OU
– For informado algum código de tributação nacional (<cTribNac>/<IteListServico>) específico que obriga o preenchimento.
Exemplo de ocorrência
O erro ocorre comumente em vendas para a administração pública onde o desenvolvedor informa o tipo de ente governamental (União, Estado ou Município), mas omite o tipo de fluxo financeiro da operação (se o pagamento é posterior, concomitante ou antecipado).
No exemplo abaixo, o tipo de ente governamental foi informado, o que obriga a informação do tipo de operação, mas a tag foi omitida.
Um XML incorreto que causaria a rejeição seria:
<Envio>
<ModeloDocumento>NFSE</ModeloDocumento>
<Versao>1.00</Versao>
<RPS>
<RPSNumero>102</RPSNumero>
<RPSSerie>A</RPSSerie>
<dEmis>2026-01-14T10:00:00</dEmis>
...
<finNFSe>0</finNFSe>
<cIndOp>100301</cIndOp>
<tpEnteGov>1</tpEnteGov>
...
<RPS>
...
Como resolver?
Para resolver, deve-se incluir a tag <tpOper> dentro do grupo <RPS>, escolhendo o código que melhor representa o momento do pagamento em relação à prestação do serviço, conforme a tabela da Reforma Tributária:
1 – Fornecimento com pagamento posterior;
2 – Recebimento do pagamento com fornecimento já realizado;
3 – Fornecimento com pagamento já realizado;
4 – Recebimento do pagamento com fornecimento posterior;
5 – Fornecimento e recebimento do pagamento concomitantes.
O XML corrigido ficaria assim:
<Envio>
<ModeloDocumento>NFSE</ModeloDocumento>
<Versao>1.00</Versao>
<RPS>
<RPSNumero>102</RPSNumero>
<RPSSerie>A</RPSSerie>
<dEmis>2026-01-14T10:00:00</dEmis>
...
<finNFSe>0</finNFSe>
<cIndOp>100301</cIndOp>
<tpEnteGov>1</tpEnteGov>
<tpOper>1</tpOper>
...
<RPS>
...