Skip to content
31 changes: 26 additions & 5 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/IBSCBS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,41 @@ public class IBSCBS
[XmlElement(Order = 2)]
public cClassTrib cClassTrib { get; set; }

// UB15
// UB14a
[XmlElement(Order = 3)]
public string? indDoacao { get; set; }

// UB15
[XmlElement(Order = 4)]
public gIBSCBS gIBSCBS { get; set; }

// UB84
[XmlElement(Order = 4)]
[XmlElement(Order = 5)]
public gIBSCBSMono gIBSCBSMono { get; set; }

// UB106
[XmlElement(Order = 5)]
[XmlElement(Order = 6)]
public gTransfCred gTransfCred { get; set; }

// UB109
[XmlElement(Order = 6)]
// UB112
[XmlElement(Order = 7)]
public gAjusteCompet? gAjusteCompet { get; set; }

// UB116
[XmlElement(Order = 8)]
public gEstornoCred? gEstornoCred { get; set; }

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

// UB131
[XmlElement(Order = 10)]
public gCredPresIBSZFM gCredPresIBSZFM { get; set; }

public bool ShouldSerializeindDoacao()
{
return indDoacao != null;
}
}
}
30 changes: 30 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gAjusteCompet.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
public class gAjusteCompet
{
private decimal _vIBS;
private decimal _vCBS;

//UB113
[XmlElement(Order = 1)]
public string competApur { get; set; }

//UB114
[XmlElement(Order = 2)]
public decimal vIBS
{
get => _vIBS.Arredondar(2);
set => _vIBS = value.Arredondar(2);
}

//UB115
[XmlElement(Order = 3)]
public decimal vCBS
{
get => _vCBS.Arredondar(2);
set => _vCBS = value.Arredondar(2);
}
}
}
12 changes: 8 additions & 4 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gCredPresIBSZFM.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@ namespace NFe.Classes.Informacoes.Detalhe.Tributacao
public class gCredPresIBSZFM
{
private decimal? _vCredPresIbsZfm;

// UB110

[XmlElement(Order = 1)]
public tpCredPresIBSZFM tpCredPresIBSZFM { get; set; }
// UB132
public string competApur { get; set; }

// UB111
// UB133
[XmlElement(Order = 2)]
public tpCredPresIBSZFM tpCredPresIBSZFM { get; set; }

// UB134
[XmlElement(Order = 3)]
public decimal? vCredPresIBSZFM
{
get => _vCredPresIbsZfm.Arredondar(2);
Expand Down
29 changes: 29 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gCredPresOper.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
public class gCredPresOper
{
private decimal _vBCCredPres;

//UB121
[XmlElement(Order = 1)]
public decimal vBCCredPres
{
get => _vBCCredPres.Arredondar(2);
set => _vBCCredPres = value.Arredondar(2);
}

//UB122
[XmlElement(Order = 2)]
public TipocCredPres cCredPres { get; set; }

// UB123
[XmlElement(Order = 3)]
public gIBSCredPres? gIBSCredPres { get; set; }

// UB127
[XmlElement(Order = 4)]
public gIBSCredPres? gCBSCredPres { get; set; }
}
}
26 changes: 26 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gEstornoCred.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
public class gEstornoCred
{
private decimal _vIBSEstCred;
private decimal _vCBSEstCred;

// UB117
[XmlElement(Order = 1)]
public decimal vIBSEstCred
{
get => _vIBSEstCred.Arredondar(2);
set => _vIBSEstCred = value.Arredondar(2);
}

// UB118
[XmlElement(Order = 2)]
public decimal vCBSEstCred
{
get => _vCBSEstCred.Arredondar(2);
set => _vCBSEstCred = value.Arredondar(2);
}
}
}
8 changes: 0 additions & 8 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSCBS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,6 @@ public bool vIBSSpecified
[XmlElement(Order = 6)]
public gTribRegular gTribRegular { get; set; }

// UB73
[XmlElement(Order = 7)]
public gIBSCredPres gIBSCredPres { get; set; }

// UB78
[XmlElement(Order = 8)]
public gIBSCredPres gCBSCredPres { get; set; }

// UB82a
[XmlElement(Order = 9)]
public gTribCompraGov gTribCompraGov { get; set; }
Expand Down
22 changes: 10 additions & 12 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSCredPres.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,32 @@ public class gIBSCredPres
{
private decimal _pCredPres;
private decimal _vCredPres;
private decimal _vCredPresCondSus;
private decimal? _vCredPresCondSus;

// UB74
// UB124
[XmlElement(Order = 1)]
public TipocCredPres cCredPres { get; set; }

// UB75
[XmlElement(Order = 2)]
public decimal pCredPres
{
get => _pCredPres.Arredondar(4);
set => _pCredPres = value.Arredondar(4);
}

// UB76
[XmlElement(Order = 3)]
// UB125
[XmlElement(Order = 2)]
public decimal vCredPres
{
get => _vCredPres.Arredondar(2);
set => _vCredPres = value.Arredondar(2);
}

// UB77
[XmlElement(Order = 4)]
public decimal vCredPresCondSus
// UB126
[XmlElement(Order = 3)]
public decimal? vCredPresCondSus
{
get => _vCredPresCondSus.Arredondar(2);
set => _vCredPresCondSus = value.Arredondar(2);
set => _vCredPresCondSus = value?.Arredondar(2);
}

public bool ShouldSerializevCredPresCondSus() => vCredPresCondSus.HasValue;
}
}
21 changes: 21 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/prod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using NFe.Classes.Informacoes.Detalhe.DeclaracaoImportacao;
using NFe.Classes.Informacoes.Detalhe.Exportacao;
using NFe.Classes.Informacoes.Detalhe.ProdEspecifico;
using NFe.Classes.Informacoes.Detalhe.Tributacao;
using NFe.Classes.Informacoes.Identificacao.Tipos;

namespace NFe.Classes.Informacoes.Detalhe
Expand Down Expand Up @@ -103,6 +104,12 @@ public bool indEscalaSpecified
[XmlElement("gCred")]
public List<gCred> gCred { get; set; }

/// <summary>
/// I05k -Classificação para subapuração do IBS na ZFM
/// Versão 4.00 - NT 2025.002 v1.30
/// </summary>
public tpCredPresIBSZFM? tpCredPresIBSZFM { get; set; }

/// <summary>
/// I06 - Código EX TIPI (3 posições)
/// </summary>
Expand Down Expand Up @@ -324,5 +331,19 @@ public bool ShouldSerializeindBemMovelUsado()
return indBemMovelUsado.HasValue;
}

public bool ShouldSerializetpCredPresIBSZFM()
{
return tpCredPresIBSZFM.HasValue;
}

public bool ShouldSerializetpCredPresIBSZFM()
{
return tpCredPresIBSZFM.HasValue;
}

public bool ShouldSerializeindBemMovelUsado()
{
return indBemMovelUsado.HasValue;
}
}
}
5 changes: 5 additions & 0 deletions NFe.Classes/Informacoes/Total/IBSCBSTot.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Xml.Serialization;
using NFe.Classes.Informacoes.Detalhe.Tributacao;

namespace NFe.Classes.Informacoes.Total
{
Expand All @@ -25,5 +26,9 @@ public decimal vBCIBSCBS
// W57
[XmlElement(Order = 4)]
public gMono gMono { get; set; }

// W59e
[XmlElement(Order = 5)]
public gEstornoCred? gEstornoCred { get; set; }
}
}