• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wmixvideo / nfe / #9456

23 Jul 2026 08:27PM UTC coverage: 50.851% (-0.9%) from 51.794%
#9456

push

web-flow
Adiciona suporte ao CT-e Simplificado (tpCTe=5, NT 2024.002) (#1180)

* Adiciona suporte nativo ao CT-e Simplificado (tpCTe=5, NT 2024.002)
Implementa o Conhecimento de Transporte Eletrônico Simplificado (Ajuste
SINIEF 46/2023) como variante de modelo 57, seguindo o CT-e OS como molde
e a convenção de nomes = tags XML já usada no IBSCBS.
Classes de domínio (cte400/classes/simp/):
- CTeNotaSimp (raiz CTeSimp), CTeNotaSimpInfo, ...Identificacao, ...Tomador,
  ...Det (+ Comp, InfNFe, InfDocAnt, InfDocAntNFeParcial), ...Total
- Reutiliza emit, infModal, infCarga e imp do CT-e normal
- Raiz CTeSimp sem atributo versao (só infCte o possui)
Webservice e transporte:
- WSRecepcaoCTeSimp (assina infCte, GZip+Base64, síncrono sem lote)
- CTeRecepcaoSimpV4Stub — literais conferidos contra os WSDL reais de
  homologação de MT e SVRS (namespace, operação cteRecepcaoSimp, cteDadosMsg,
  cteRecepcaoSimpResult, soapAction)
- CTeSimpEnvioRetorno/...Dados e CTeSimpProcessado (cteSimpProc)
- Overload WSFacade.enviaCTe(CTeNotaSimp)
Autorizador e validação:
- CTAutorizador400.getCteRecepcaoSimp nos 8 autorizadores (produção +
  homologação); MT usa path atípico cte-ws/services/
- DFXMLValidador.validaNotaCteSimp400 (cteSimp_v4.00.xsd, RTC 1.14)
Teste:
- CTeNotaSimpTest faz round-trip serializa→valida contra o XSD; toda a
  estrutura de negócio valida (só falta Signature, aplicado no envio)

* Adiciona suporte nativo ao CT-e Simplificado (tpCTe=5, NT 2024.002)
Implementa o Conhecimento de Transporte Eletrônico Simplificado (Ajuste
SINIEF 46/2023) como variante de modelo 57, seguindo o CT-e OS como molde
e a convenção de nomes = tags XML já usada no IBSCBS.
Classes de domínio (cte400/classes/simp/):
- CTeNotaSimp (raiz CTeSimp), CTeNotaSimpInfo, ...Identificacao, ...Tomador,
  ...Det (+ Comp, InfNFe, InfDocAnt, InfDocAntNFeParcial), ...Total
- Reutiliza emit, infModal, infCarga e imp do CT-e normal
- Raiz CTeSimp sem atributo versao (só infCte o possui)
Webservice e transpor... (continued)

130 of 324 new or added lines in 15 files covered. (40.12%)

711 existing lines in 42 files now uncovered.

15094 of 29683 relevant lines covered (50.85%)

0.51 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

73.77
/src/main/java/com/fincatto/documentofiscal/nfe400/classes/NFNotaInfoImpostoTributacaoIBSCBS.java
1
package com.fincatto.documentofiscal.nfe400.classes;
2

3
import static com.fincatto.documentofiscal.nfe400.classes.NFNotaInfoImpostoTributacaoIBSCBS.IND.*;
4

5
import java.util.Arrays;
6

7
/**
8
 * Enum que define os Codigos de Classificacao Tributaria do IBS e CBS
9
 * CST_cClassTribPublicacao_20250618.xlsx 
10
 * Aba CST
11
 * 
12
 * @author Edivaldo Merlo Stens
13
 * @author Marcos Lombardi de Andrade
14
 */
15
public enum NFNotaInfoImpostoTributacaoIBSCBS {
1✔
16

17
    CST_000("000", "Tributa\u00e7\u00e3o integral",
1✔
18
            UM, ZERO, ZERO, ZERO, ZERO, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM),
19
    
20
    CST_010("010", "Tributa\u00e7\u00e3o com al\u00edquotas uniformes",
1✔
21
                    ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
22
    
23
    CST_011("011", "Tributa\u00e7\u00e3o com al\u00edquotas uniformes reduzidas",
1✔
24
                    ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
25
    
26
    CST_200("200", "Al\u00edquota reduzida",
1✔
27
                     UM, ZERO, UM, ZERO, ZERO, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM),
28

29
    @Deprecated()
1✔
30
    CST_210("210", "Redu\u00e7\u00e3o de al\u00edquota com redutor de base de c\u00e1lculo",
31
                     UM, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, SIM),
32

33
    CST_220("220", "Al\u00edquota fixa",
1✔
34
                     UM, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
35
    
36
    CST_221("221", "Al\u00edquota fixa proporcional",
1✔
37
                     UM, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
38
    
39
    CST_222("222", "Redu\u00e7\u00e3o de base de c\u00e1lculo",
1✔
40
                    ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, SIM),
41
    
42
    CST_400("400", "Isen\u00e7\u00e3o",
1✔
43
                    ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, SIM, NAO, SIM),
44
    
45
    CST_410("410", "Imunidade e n\u00e3o incid\u00eancia",
1✔
46
                    ZERO, ZERO, ZERO, ZERO, ZERO, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM, SIM),
47
    
48
    CST_510("510", "Diferimento",
1✔
49
                     UM, ZERO, ZERO, UM, ZERO, SIM, SIM, NAO, NAO, NAO, NAO, SIM, NAO, SIM),
50

51
    CST_515("515", "Diferimento com redução de alíquota",
1✔
52
            UM, ZERO, UM, UM, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
53
    
54
    CST_550("550", "Suspens\u00e3o",
1✔
55
                     UM, ZERO, ZERO, ZERO, ZERO, SIM, NAO, NAO, NAO, NAO, NAO, SIM, NAO, SIM),
56
    
57
    CST_620("620", "Tributa\u00e7\u00e3o monof\u00e1sica",
1✔
58
                    ZERO, UM, ZERO, ZERO, ZERO, SIM, SIM, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
59
    
60
    CST_800("800", "Transfer\u00eancia de cr\u00e9dito",
1✔
61
                    ZERO, ZERO, ZERO, ZERO, UM, SIM, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
62
    
63
    CST_810("810", "Ajuste de IBS na ZFM",
1✔
64
                     ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
65

66
    CST_811("811", "Ajustes",
1✔
67
                     ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO),
68
    
69
    CST_820("820", "Tributa\u00e7\u00e3o em declara\u00e7\u00e3o de regime espec\u00edfico",
1✔
70
                    ZERO, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, NAO, SIM),
71
    
72
    CST_830("830", "Exclus\u00e3o de base de c\u00e1lculo",
1✔
73
                     UM, ZERO, ZERO, ZERO, ZERO, NAO, NAO, NAO, NAO, NAO, NAO, SIM, NAO, NAO);
74

75
    private final String codigo;
76
    private final String descricao;
77
    private final Integer indGIBSCBS;
78
    private final Integer indGIBSCBSMono;
79
    private final Integer indGRed;
80
    private final Integer indGDif;
81
    private final Integer indGTransfCred;
82
    @Deprecated()
83
    private final boolean indNFe;
84
    @Deprecated()
85
    private final boolean indNFCe;
86
    @Deprecated()
87
    private final boolean indCTe;
88
    @Deprecated()
89
    private final boolean indCteOS;
90
    @Deprecated()
91
    private final boolean indBPe;
92
    @Deprecated()
93
    private final boolean indBPeTM;
94
    @Deprecated()
95
    private final boolean indNF3e;
96
    @Deprecated()
97
    private final boolean indNFCom;
98
    @Deprecated()
99
    private final boolean indNFSe;
100

101
    private NFNotaInfoImpostoTributacaoIBSCBS(
102
            String codigo, String descricao, Integer indGIBSCBS, Integer indGIBSCBSMono, Integer indGRed, Integer indGDif,
103
            Integer indGTransfCred, boolean indNFe, boolean indNFCe, boolean indCTe, boolean indCteOS, boolean indBPe,
104
            boolean indBPeTM, boolean indNF3e, boolean indNFCom, boolean indNFSe
105
    ) {
1✔
106
        this.codigo = codigo;
1✔
107
        this.descricao = descricao;
1✔
108
        this.indGIBSCBS = indGIBSCBS;
1✔
109
        this.indGIBSCBSMono = indGIBSCBSMono;
1✔
110
        this.indGRed = indGRed;
1✔
111
        this.indGDif = indGDif;
1✔
112
        this.indGTransfCred = indGTransfCred;
1✔
113
        this.indNFe = indNFe;
1✔
114
        this.indNFCe = indNFCe;
1✔
115
        this.indCTe = indCTe;
1✔
116
        this.indCteOS = indCteOS;
1✔
117
        this.indBPe = indBPe;
1✔
118
        this.indBPeTM = indBPeTM;
1✔
119
        this.indNF3e = indNF3e;
1✔
120
        this.indNFCom = indNFCom;
1✔
121
        this.indNFSe = indNFSe;
1✔
122
    }
1✔
123

124
        public String getCodigo() {
125
        return this.codigo;
1✔
126
    }
127

128
    public String getDescricao() {
129
        return this.descricao;
1✔
130
    }
131

132
    public Integer getIndGIBSCBS() {
133
        return indGIBSCBS;
×
134
    }
135

136
    public Integer getIndGIBSCBSMono() {
137
        return indGIBSCBSMono;
×
138
    }
139

140
    public Integer getIndGRed() {
141
        return indGRed;
×
142
    }
143

144
    public Integer getIndGDif() {
145
        return indGDif;
×
146
    }
147

148
    public Integer getIndGTransfCred() {
149
        return indGTransfCred;
×
150
    }
151

152
    public boolean isIndNFe() {
153
        return indNFe;
×
154
    }
155

156
    public boolean isIndNFCe() {
157
        return indNFCe;
×
158
    }
159

160
    public boolean isIndCTe() {
161
        return indCTe;
×
162
    }
163

164
    public boolean isIndCteOS() {
165
        return indCteOS;
×
166
    }
167

168
    public boolean isIndBPe() {
UNCOV
169
        return indBPe;
×
170
    }
171

172
    public boolean isIndBPeTM() {
UNCOV
173
        return indBPeTM;
×
174
    }
175

176
    public boolean isIndNF3e() {
UNCOV
177
        return indNF3e;
×
178
    }
179

180
    public boolean isIndNFCom() {
UNCOV
181
        return indNFCom;
×
182
    }
183

184
    public boolean isIndNFSe() {
185
        return indNFSe;
×
186
    }
187

188
    @Override
189
    public String toString() {
UNCOV
190
        return codigo + " - " + descricao;
×
191
    }
192
    
193
    /**
194
         * Retorna o enum correspondente ao codigo IBSCBS informado.
195
         *
196
         * @param codigoIBSCBS o codigo IBSCBS
197
         * @return o enum correspondente ou null se nao encontrado
198
         */
199
    public static NFNotaInfoImpostoTributacaoIBSCBS valueOfCodigo(final String codigoIBSCBS) {
200
            return Arrays.stream(NFNotaInfoImpostoTributacaoIBSCBS.values())
1✔
201
                            .filter(ibscbs -> ibscbs.getCodigo().equals(codigoIBSCBS))
1✔
202
                                    .findFirst().orElse(null);
1✔
203
    }
204
    
UNCOV
205
    static class IND {
×
206
            
207
        static final Integer UM = 1;
1✔
208
        static final Integer ZERO = 0;
1✔
209
        static final boolean SIM = true;
210
        static final boolean NAO = false;
211
        
212
    }
213
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc