Quando for emitido um CT-e (modelo 57) com o Tipo do CT-e (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.
Exceções e Observações
Para esta regra de validação não há exceção.
Regra de Validação da Sefaz

Exemplo
No exemplo abaixo, foi emitido um CT-e com Tipo do CT-e (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 CT-e foi rejeitado pelo motivo 521.
Trecho do XML:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<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:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<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>
|