Skip to content

Commit 8fd2a3e

Browse files
committed
Revisão NT 1.30 por Danilo Breda
------------- Breaking changes: Foi renomeado as classes tipos totais para que não tenha problemas de confusão seguindo o padrão proposta no primeiro desenvolvimento da reforma trib. Quebra nome classe: gIBS -> gIBSTotal Quebra nome classe: gMono -> gMonoTotal -------------- DETALHADO: Refatora classes e métodos para novos requisitos fiscais Substitui classes antigas (`gIBS`, `gMono`) por novas versões detalhadas (`gIBSTotal`, `gMonoTotal`) para suportar novos cenários fiscais. Ajusta propriedades para remover nulabilidade onde necessário e adiciona novos grupos de informações, como `gIBSUFTotal`, `gCredPresIBSZFM` e `gEstornoCredTotal`. Corrige descrições em enums e métodos redundantes. Adiciona suporte a valores nulos em propriedades como `dPrevEntrega` para maior flexibilidade. Inclui comentários explicativos para facilitar a manutenção e compreensão do código.
1 parent e8da9eb commit 8fd2a3e

File tree

14 files changed

+144
-61
lines changed

14 files changed

+144
-61
lines changed

NFe.AppTeste/MainWindow.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1784,7 +1784,7 @@ protected virtual total GetTotal(VersaoServico versao, List<det> produtos)
17841784
IBSCBSTot = CbxEnviarTributacaoIbsCBS.IsChecked == true ? new IBSCBSTot
17851785
{
17861786
vBCIBSCBS = 0,
1787-
gIBS = new gIBS
1787+
gIBS = new gIBSTotal
17881788
{
17891789
gIBSUF = new gIBSUFTotal
17901790
{

NFe.Classes/Informacoes/Detalhe/Tributacao/IBSCBS.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class IBSCBS
1414

1515
// UB14a
1616
[XmlElement(Order = 3)]
17-
public string? indDoacao { get; set; }
17+
public string indDoacao { get; set; } //nullable
1818

1919
// UB15
2020
[XmlElement(Order = 4)]
@@ -30,18 +30,18 @@ public class IBSCBS
3030

3131
// UB112
3232
[XmlElement(Order = 7)]
33-
public gAjusteCompet? gAjusteCompet { get; set; }
33+
public gAjusteCompet gAjusteCompet { get; set; }
3434

3535
// UB116
3636
[XmlElement(Order = 8)]
37-
public gEstornoCred? gEstornoCred { get; set; }
37+
public gEstornoCred gEstornoCred { get; set; }
3838

3939
// UB120
4040
[XmlElement(Order = 9)]
4141
public gCredPresOper gCredPresOper { get; set; }
4242

43-
// UB131
44-
[XmlElement(Order = 10)]
43+
// UB131
44+
[XmlElement(Order = 10)]
4545
public gCredPresIBSZFM gCredPresIBSZFM { get; set; }
4646

4747
public bool ShouldSerializeindDoacao()

NFe.Classes/Informacoes/Detalhe/Tributacao/gCredPresOper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public decimal vBCCredPres
2020

2121
// UB123
2222
[XmlElement(Order = 3)]
23-
public gIBSCredPres? gIBSCredPres { get; set; }
23+
public gIBSCredPres gIBSCredPres { get; set; }
2424

2525
// UB127
2626
[XmlElement(Order = 4)]
27-
public gIBSCredPres? gCBSCredPres { get; set; }
27+
public gIBSCredPres gCBSCredPres { get; set; }
2828
}
2929
}

NFe.Classes/Informacoes/Detalhe/Tributacao/gEstornoCred.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ public class gEstornoCred
77
private decimal _vIBSEstCred;
88
private decimal _vCBSEstCred;
99

10-
// UB117
10+
/// <summary>
11+
/// UB117 - Valor total do IBS estornado
12+
/// </summary>
1113
[XmlElement(Order = 1)]
1214
public decimal vIBSEstCred
1315
{

NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSCBS.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,20 @@ public decimal vBC
1515
set => _vBc = value.Arredondar(2);
1616
}
1717

18-
// UB17
18+
/// <summary>
19+
/// UB17 - Grupo de Informações do IBS para a UF
20+
/// </summary>
1921
[XmlElement(Order = 2)]
2022
public gIBSUF gIBSUF { get; set; }
2123

2224
// UB36
2325
[XmlElement(Order = 3)]
2426
public gIBSMun gIBSMun { get; set; }
2527

26-
// UB54a
28+
/// <summary>
29+
/// UB54a - Valor do IBS
30+
/// Valor do IBS (soma de vIBSUF e vIBSMun). Quando houver crédito presumido com indicador IndDeduzCredPres=1, o vCredPres deve ser abatido desse valor.
31+
/// </summary>
2732
[XmlElement(Order = 4)]
2833
public decimal? vIBS
2934
{

NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSUF.cs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,37 @@ public class gIBSUF
77
private decimal _pIbsUf;
88
private decimal _vIbsUf;
99

10-
// UB18
10+
/// <summary>
11+
/// UB18 - Alíquota do IBS de competência das UF (em percentual)
12+
/// </summary>
1113
[XmlElement(Order = 1)]
1214
public decimal pIBSUF
1315
{
1416
get => _pIbsUf.Arredondar(4);
1517
set => _pIbsUf = value.Arredondar(4);
1618
}
1719

18-
// UB21
20+
/// <summary>
21+
/// UB21 - Grupo de Informações do Diferimento
22+
/// </summary>
1923
[XmlElement(Order = 2)]
2024
public gDif gDif { get; set; }
2125

22-
// UB24
26+
/// <summary>
27+
/// UB24 - Grupo de Informações da devolução de tributos
28+
/// </summary>
2329
[XmlElement(Order = 3)]
2430
public gDevTrib gDevTrib { get; set; }
2531

26-
// UB26
32+
/// <summary>
33+
/// UB26 - Grupo de informações da redução da alíquota
34+
/// </summary>
2735
[XmlElement(Order = 4)]
2836
public gRed gRed { get; set; }
2937

30-
// UB35
38+
/// <summary>
39+
/// UB35 - Valor do IBS de competência da UF
40+
/// </summary>
3141
[XmlElement(Order = 5)]
3242
public decimal vIBSUF
3343
{
@@ -41,14 +51,18 @@ public class gDif
4151
private decimal _pDif;
4252
private decimal _vDif;
4353

44-
// UB22
54+
/// <summary>
55+
/// UB22 - Percentual do diferimento
56+
/// </summary>
4557
public decimal pDif
4658
{
4759
get => _pDif.Arredondar(4);
4860
set => _pDif = value.Arredondar(4);
4961
}
5062

51-
// UB23
63+
/// <summary>
64+
/// UB23 - Valor do Diferimento
65+
/// </summary>
5266
public decimal vDif
5367
{
5468
get => _vDif.Arredondar(2);
@@ -60,7 +74,9 @@ public class gDevTrib
6074
{
6175
private decimal _vDevTrib { get; set; }
6276

63-
// UB25
77+
/// <summary>
78+
/// UB25 - Valor do tributo devolvido
79+
/// </summary>
6480
public decimal vDevTrib
6581
{
6682
get => _vDevTrib.Arredondar(2);
@@ -73,14 +89,18 @@ public class gRed
7389
private decimal _pRedAliq;
7490
private decimal _pAliqEfet;
7591

76-
// UB27
92+
/// <summary>
93+
/// UB27 - Percentual da redução de alíquota do cClassTrib
94+
/// </summary>
7795
public decimal pRedAliq
7896
{
7997
get => _pRedAliq.Arredondar(4);
8098
set => _pRedAliq = value.Arredondar(4);
8199
}
82100

83-
// UB28
101+
/// <summary>
102+
/// UB28 - Alíquota Efetiva do IBS de competência das UF que será aplicada a Base de Cálculo(em percentual)
103+
/// </summary>
84104
public decimal pAliqEfet
85105
{
86106
get => _pAliqEfet.Arredondar(4);

NFe.Classes/Informacoes/Detalhe/Tributacao/gTribCompraGov.cs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,59 @@ public class gTribCompraGov
1111
private decimal _pAliqCbs;
1212
private decimal _vTribCbs;
1313

14-
// UB82b
14+
/// <summary>
15+
/// UB82b - Alíquota do IBS de competência do Estado (em percentual)
16+
/// </summary>
1517
[XmlElement(Order = 1)]
1618
public decimal pAliqIBSUF
1719
{
1820
get => _pAliqIbsUf.Arredondar(4);
1921
set => _pAliqIbsUf = value.Arredondar(4);
2022
}
2123

22-
// UB82c
24+
/// <summary>
25+
/// UB82c - Valor do Tributo do IBS da UF calculado
26+
/// </summary>
2327
[XmlElement(Order = 2)]
2428
public decimal vTribIBSUF
2529
{
2630
get => _vTribIbsUf.Arredondar(2);
2731
set => _vTribIbsUf = value.Arredondar(2);
2832
}
2933

30-
// UB82d
34+
/// <summary>
35+
/// UB82d - Alíquota do IBS de competência do Município (em percentual)
36+
/// </summary>
3137
[XmlElement(Order = 3)]
3238
public decimal pAliqIBSMun
3339
{
3440
get => _pAliqIbsMun.Arredondar(4);
3541
set => _pAliqIbsMun = value.Arredondar(4);
3642
}
3743

38-
// UB82e
44+
/// <summary>
45+
/// UB82e - Valor do Tributo do IBS do Município calculado
46+
/// </summary>
3947
[XmlElement(Order = 4)]
4048
public decimal vTribIBSMun
4149
{
4250
get => _vTribIbsMun.Arredondar(2);
4351
set => _vTribIbsMun = value.Arredondar(2);
4452
}
4553

46-
// UB82f
54+
/// <summary>
55+
/// UB82f - Alíquota da CBS (em percentual)
56+
/// </summary>
4757
[XmlElement(Order = 5)]
4858
public decimal pAliqCBS
4959
{
5060
get => _pAliqCbs.Arredondar(4);
5161
set => _pAliqCbs = value.Arredondar(4);
5262
}
5363

54-
// UB82g
64+
/// <summary>
65+
/// UB82g - Valor do Tributo da CBS calculado
66+
/// </summary>
5567
[XmlElement(Order = 6)]
5668
public decimal vTribCBS
5769
{

NFe.Classes/Informacoes/Detalhe/prod.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,15 +335,5 @@ public bool ShouldSerializetpCredPresIBSZFM()
335335
{
336336
return tpCredPresIBSZFM.HasValue;
337337
}
338-
339-
public bool ShouldSerializetpCredPresIBSZFM()
340-
{
341-
return tpCredPresIBSZFM.HasValue;
342-
}
343-
344-
public bool ShouldSerializeindBemMovelUsado()
345-
{
346-
return indBemMovelUsado.HasValue;
347-
}
348338
}
349339
}

NFe.Classes/Informacoes/Identificacao/Tipos/ideTipos.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ public enum TipoNFeDebito
273273
[XmlEnum("04")]
274274
tdMultaJuros = 04,
275275

276-
[Description("Transferência de crédito de sucessão;")]
276+
[Description("Transferência de crédito na sucessão;")]
277277
[XmlEnum("05")]
278278
tdTransferenciaCreditoSucessao = 05,
279279

NFe.Classes/Informacoes/Identificacao/ide.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Xml.Serialization;
41
using DFe.Classes.Entidades;
52
using DFe.Classes.Flags;
63
using DFe.Utils;
74
using NFe.Classes.Informacoes.Identificacao.Tipos;
5+
using System;
6+
using System.Collections.Generic;
7+
using System.Xml.Serialization;
88

99
namespace NFe.Classes.Informacoes.Identificacao
1010
{
@@ -124,15 +124,20 @@ public string ProxydhSaiEnt
124124
/// B10a - Data da previsão de entrega ou disponibilização do bem
125125
/// </summary>
126126
[XmlIgnore]
127-
public DateTime dPrevEntrega { get; set; }
127+
public DateTime? dPrevEntrega { get; set; }
128128

129129
/// <summary>
130130
/// Proxy para dPrevEntrega no formato AAAA-MM-DD
131131
/// </summary>
132132
[XmlElement(ElementName = "dPrevEntrega")]
133133
public string ProxydPrevEntrega
134134
{
135-
get { return dPrevEntrega.ParaDataString(); }
135+
get
136+
{
137+
if (dPrevEntrega == null)
138+
return null;
139+
return dPrevEntrega.ParaDataString();
140+
}
136141
set { dPrevEntrega = DateTime.Parse(value); }
137142
}
138143

@@ -251,7 +256,7 @@ public string ProxydhCont
251256
public List<NFref> NFref { get; set; }
252257

253258
// B31
254-
public gCompraGov gCompraGov { get; set; }
259+
public gCompraGov gCompraGov { get; set; }
255260

256261
// BB01
257262
public gPagAntecipado gPagAntecipado { get; set; }
@@ -279,6 +284,6 @@ public bool ShouldSerializetpNFDebito()
279284
public bool ShouldSerializetpNFCredito()
280285
{
281286
return tpNFCredito.HasValue;
282-
}
287+
}
283288
}
284289
}

0 commit comments

Comments
 (0)