Quando for emitido um CTe (modelo 57) com o Tipo do CTe (campo: tpCTe) igual de ‘0’ – Normal ou ‘3’ – Substituição e o Tipo de Serviço (campo: tpServ) for igual a ‘1’ – Subcontratação ou ‘2’ – Redespacho ou ‘3’ – Redespacho Intermediário, mas NÃO for informado o Grupo de Documentos Anteriores (campo: docAnt), haverá a rejeição pelo motivo 521 – Os documentos de transporte anterior devem ser informados para os tipos de serviço Subcontratação, Redespacho e Redespacho Intermediário.
Regra de validação da Sefaz

Exemplo
No exemplo abaixo, foi emitido um CTe com Tipo do CTe (campo: tpCTe) igual de ‘0‘ – Normal e com o Tipo de Serviço (campo: tpServ) igual a ‘3’ – Redespacho Intermediário, mas NÃO for informado o Grupo de Documentos Anteriores (campo: docAnt). Nessa situação o CTe foi rejeitado pelo motivo 521.
- Trecho do XML:
<infCte Id="CTe33200707385111000102575010000008271708297287" versao="3.00">
<ide>
<cUF>33</cUF>
<cCT>70829728</cCT>
<CFOP>6932</CFOP>
<natOp>TRANSPORTE RODOVIARIO</natOp>
<mod>57</mod>
<serie>501</serie>
<nCT>827</nCT>
<dhEmi>2020-07-22T13:53:00-03:00</dhEmi>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>7</cDV>
<tpAmb>2</tpAmb>
<!-- Tipo do CT-e -->
<tpCTe>0</tpCTe>
<procEmi>0</procEmi>
<verProc>Oobj-DFe</verProc>
<cMunEnv>3304557</cMunEnv>
<xMunEnv>Rio de Janeiro</xMunEnv>
<UFEnv>RJ</UFEnv>
<modal>01</modal>
<!-- Tipo de Serviço -->
<tpServ>3</tpServ>
<cMunIni>2307650</cMunIni>
<xMunIni>MARACANAU</xMunIni>
<UFIni>CE</UFIni>
<cMunFim>1508050</cMunFim>
<xMunFim>TRAIRAO</xMunFim>
<UFFim>PA</UFFim>
<retira>1</retira>
<indIEToma>1</indIEToma>
<toma3>
<toma>0</toma>
</toma3>
</ide>
[...]
<infCTeNorm>
<infCarga>
<vCarga>1000.09</vCarga>
<proPred>TESTE DE PRODUTO</proPred>
<infQ>
<cUnid>03</cUnid>
<tpMed>PESO BRUTO</tpMed>
<qCarga>10.0000</qCarga>
</infQ>
</infCarga>
<infModal versaoModal="3.00">
[...]
</infModal>
</infCTeNorm>
</infCte>
Como resolver
Para resolver o exemplo, basta informar o Grupo de Documentos Anteriores (campo: docAnt).
É importante se atentar que o campo docAnt é um grupo de informações composto por vários subcampos.
- Abaixo exemplo de XML com a correção:
<infCte Id="CTe33200707385111000102575010000008271708297287" versao="3.00">
<ide>
<cUF>33</cUF>
<cCT>70829728</cCT>
<CFOP>6932</CFOP>
<natOp>TRANSPORTE RODOVIARIO</natOp>
<mod>57</mod>
<serie>501</serie>
<nCT>827</nCT>
<dhEmi>2020-07-22T13:53:00-03:00</dhEmi>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>7</cDV>
<tpAmb>2</tpAmb>
<!-- Tipo do CT-e -->
<tpCTe>0</tpCTe>
<procEmi>0</procEmi>
<verProc>Oobj-DFe</verProc>
<cMunEnv>3304557</cMunEnv>
<xMunEnv>Rio de Janeiro</xMunEnv>
<UFEnv>RJ</UFEnv>
<modal>01</modal>
<!-- Tipo de Serviço -->
<tpServ>3</tpServ>
<cMunIni>2307650</cMunIni>
<xMunIni>MARACANAU</xMunIni>
<UFIni>CE</UFIni>
<cMunFim>1508050</cMunFim>
<xMunFim>TRAIRAO</xMunFim>
<UFFim>PA</UFFim>
<retira>1</retira>
<indIEToma>1</indIEToma>
<toma3>
<toma>0</toma>
</toma3>
</ide>
[...]
<infCTeNorm>
<infCarga>
<vCarga>1000.09</vCarga>
<proPred>TESTE DE PRODUTO</proPred>
<infQ>
<cUnid>03</cUnid>
<tpMed>PESO BRUTO</tpMed>
<qCarga>10.0000</qCarga>
</infQ>
</infCarga>
<!-- Grupo de Documentos Anteriores -->
<docAnt>
<emiDocAnt>
<CNPJ>07385111000102</CNPJ>
<xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
<idDocAnt>
<idDocAntPap>
<tpDoc>07</tpDoc>
<serie>72</serie>
<nDoc>48</nDoc>
<dEmi>2013-12-13</dEmi>
</idDocAntPap>
</idDocAnt>
</emiDocAnt>
</docAnt>
<infModal versaoModal="3.00">
[...]
</infModal>
</infCTeNorm>
</infCte>
Referências
- Manual de Orientações do Contribuinte do CTe, versão 3.00a – https://dfe-portal.svrs.rs.gov.br/Cte/Documentos#