Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
554 changes: 397 additions & 157 deletions NFe.AppTeste/Schemas/DFeTiposBasicos_v1.00.xsd

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máqu
<xs:documentation>Endereço do emitente</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IE" type="TIe">
<xs:element name="IE" type="TIe" minOccurs="0">
<xs:annotation>
<xs:documentation>Inscrição Estadual do Emitente</xs:documentation>
</xs:annotation>
Expand Down Expand Up @@ -5624,7 +5624,7 @@ Substituição Tributaria;</xs:documentation>
<xs:documentation>Valores totais da NF com IBS / CBS</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="vNFTot" type="TDec_1302Opc" minOccurs="0">
<xs:element name="vNFTot" type="TDec_1302" minOccurs="0">
<xs:annotation>
<xs:documentation>Valor Total da NF considerando os impostos por fora IBS, CBS e IS</xs:documentation>
</xs:annotation>
Expand Down
26 changes: 26 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gCBSMonoAdRem.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
{
/// <summary>
/// UB95a - Grupo de informações da Tributação Monofásica Ad Rem da CBS (NT 2025.002 v1.50)
/// </summary>
public class gCBSMonoAdRem
{
// UB96
[XmlElement(Order = 1)]
public gMonoPadraoCBSAdRem gMonoPadrao { get; set; }

// UB97
[XmlElement(Order = 2)]
public gMonoRetenCBSAdRem gMonoReten { get; set; }

// UB98
[XmlElement(Order = 3)]
public gMonoRetCBS gMonoRet { get; set; }

// UB99
[XmlElement(Order = 4)]
public gpBioDiferencaCBS gpBioDiferenca { get; set; }
}
}
26 changes: 26 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gCBSMonoAdValorem.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
{
/// <summary>
/// UB100 - Grupo de informações da Tributação Monofásica Ad Valorem da CBS (NT 2025.002 v1.50)
/// </summary>
public class gCBSMonoAdValorem
{
// UB101
[XmlElement(Order = 1)]
public gMonoPadraoCBSAdValorem gMonoPadrao { get; set; }

// UB102
[XmlElement(Order = 2)]
public gMonoRetenCBSAdValorem gMonoReten { get; set; }

// UB103
[XmlElement(Order = 3)]
public gMonoRetCBS gMonoRet { get; set; }

// UB104
[XmlElement(Order = 4)]
public gpBioDiferencaCBS gpBioDiferenca { get; set; }
}
}
49 changes: 42 additions & 7 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSCBSMono.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,72 @@

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
/// <summary>
/// UB84 - Grupo de Informações do IBS e CBS em operações com imposto monofásico (CST 620)
/// <para>
/// Leiaute da NT 2025.002 v1.50 (PL_010f): o IBS vai em gIBSMonoAdRem ou gIBSMonoAdValorem
/// e a CBS em gCBSMonoAdRem ou gCBSMonoAdValorem.
/// </para>
/// <para>
/// gMonoPadrao, gMonoReten, gMonoRet e gMonoDif são do leiaute anterior, que deixa de ser aceito em 03/11/2026.
/// Ficam somente para a leitura de documentos já autorizados e não devem ser preenchidos em novas emissões.
/// </para>
/// </summary>
public class gIBSCBSMono
{
private decimal _vTotIbsMonoItem;
private decimal _vTotCbsMonoItem;

// UB84a
// UB84a (leiaute anterior à NT 2025.002 v1.50)
[XmlElement(Order = 1)]
public gMonoPadrao gMonoPadrao { get; set; }

// UB90
// UB90 (leiaute anterior à NT 2025.002 v1.50)
[XmlElement(Order = 2)]
public gMonoReten gMonoReten { get; set; }

// UB94
// UB94 (leiaute anterior à NT 2025.002 v1.50)
[XmlElement(Order = 3)]
public gMonoRet gMonoRet { get; set; }

// UB99
// UB99 (leiaute anterior à NT 2025.002 v1.50)
[XmlElement(Order = 4)]
public gMonoDif gMonoDif { get; set; }

// UB104
/// <summary>
/// UB85a - Tributação Monofásica Ad Rem do IBS. Informar este ou gIBSMonoAdValorem
/// </summary>
[XmlElement(Order = 5)]
public gIBSMonoAdRem gIBSMonoAdRem { get; set; }

/// <summary>
/// UB90 - Tributação Monofásica Ad Valorem do IBS. Informar este ou gIBSMonoAdRem
/// </summary>
[XmlElement(Order = 6)]
public gIBSMonoAdValorem gIBSMonoAdValorem { get; set; }

/// <summary>
/// UB95a - Tributação Monofásica Ad Rem da CBS. Informar este ou gCBSMonoAdValorem
/// </summary>
[XmlElement(Order = 7)]
public gCBSMonoAdRem gCBSMonoAdRem { get; set; }

/// <summary>
/// UB100 - Tributação Monofásica Ad Valorem da CBS. Informar este ou gCBSMonoAdRem
/// </summary>
[XmlElement(Order = 8)]
public gCBSMonoAdValorem gCBSMonoAdValorem { get; set; }

// UB105a
[XmlElement(Order = 9)]
public decimal vTotIBSMonoItem
{
get => _vTotIbsMonoItem.Arredondar(2);
set => _vTotIbsMonoItem = value.Arredondar(2);
}

// UB105
[XmlElement(Order = 6)]
// UB105b
[XmlElement(Order = 10)]
public decimal vTotCBSMonoItem
{
get => _vTotCbsMonoItem.Arredondar(2);
Expand Down
26 changes: 26 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSMonoAdRem.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
{
/// <summary>
/// UB85a - Grupo de informações da Tributação Monofásica Ad Rem do IBS (NT 2025.002 v1.50)
/// </summary>
public class gIBSMonoAdRem
{
// UB86
[XmlElement(Order = 1)]
public gMonoPadraoIBSAdRem gMonoPadrao { get; set; }

// UB87
[XmlElement(Order = 2)]
public gMonoRetenIBSAdRem gMonoReten { get; set; }

// UB88
[XmlElement(Order = 3)]
public gMonoRetIBS gMonoRet { get; set; }

// UB89
[XmlElement(Order = 4)]
public gpBioDiferencaIBS gpBioDiferenca { get; set; }
}
}
26 changes: 26 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gIBSMonoAdValorem.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
{
/// <summary>
/// UB90 - Grupo de informações da Tributação Monofásica Ad Valorem do IBS (NT 2025.002 v1.50)
/// </summary>
public class gIBSMonoAdValorem
{
// UB91
[XmlElement(Order = 1)]
public gMonoPadraoIBSAdValorem gMonoPadrao { get; set; }

// UB92
[XmlElement(Order = 2)]
public gMonoRetenIBSAdValorem gMonoReten { get; set; }

// UB93
[XmlElement(Order = 3)]
public gMonoRetIBS gMonoRet { get; set; }

// UB94
[XmlElement(Order = 4)]
public gpBioDiferencaIBS gpBioDiferenca { get; set; }
}
}
38 changes: 38 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gMonoPadraoCBSAdRem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
/// <summary>
/// UB96 - Grupo de informações da Tributação Monofásica Padrão da CBS Ad Rem (tag gMonoPadrao)
/// </summary>
public class gMonoPadraoCBSAdRem
{
private decimal _qBcMono;
private decimal _adRemCbs;
private decimal _vCbsMono;

// UB96a
[XmlElement(Order = 1)]
public decimal qBCMono
{
get => _qBcMono.Arredondar(4);
set => _qBcMono = value.Arredondar(4);
}

// UB96b
[XmlElement(Order = 2)]
public decimal adRemCBS
{
get => _adRemCbs.Arredondar(4);
set => _adRemCbs = value.Arredondar(4);
}

// UB96c
[XmlElement(Order = 3)]
public decimal vCBSMono
{
get => _vCbsMono.Arredondar(2);
set => _vCbsMono = value.Arredondar(2);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
/// <summary>
/// UB101 - Grupo de informações da Tributação Monofásica Padrão da CBS Ad Valorem (tag gMonoPadrao)
/// </summary>
public class gMonoPadraoCBSAdValorem
{
private decimal _vBcMono;
private decimal _pAliqMonoCbs;
private decimal _vCbsMono;

// UB101a
[XmlElement(Order = 1)]
public decimal vBCMono
{
get => _vBcMono.Arredondar(2);
set => _vBcMono = value.Arredondar(2);
}

// UB101b
[XmlElement(Order = 2)]
public decimal pAliqMonoCBS
{
get => _pAliqMonoCbs.Arredondar(4);
set => _pAliqMonoCbs = value.Arredondar(4);
}

// UB101c
[XmlElement(Order = 3)]
public decimal vCBSMono
{
get => _vCbsMono.Arredondar(2);
set => _vCbsMono = value.Arredondar(2);
}
}
}
38 changes: 38 additions & 0 deletions NFe.Classes/Informacoes/Detalhe/Tributacao/gMonoPadraoIBSAdRem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
/// <summary>
/// UB86 - Grupo de informações da Tributação Monofásica Padrão do IBS Ad Rem (tag gMonoPadrao)
/// </summary>
public class gMonoPadraoIBSAdRem
{
private decimal _qBcMono;
private decimal _adRemIbs;
private decimal _vIbsMono;

// UB86a
[XmlElement(Order = 1)]
public decimal qBCMono
{
get => _qBcMono.Arredondar(4);
set => _qBcMono = value.Arredondar(4);
}

// UB86b
[XmlElement(Order = 2)]
public decimal adRemIBS
{
get => _adRemIbs.Arredondar(4);
set => _adRemIbs = value.Arredondar(4);
}

// UB86c
[XmlElement(Order = 3)]
public decimal vIBSMono
{
get => _vIbsMono.Arredondar(2);
set => _vIbsMono = value.Arredondar(2);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
using System.Xml.Serialization;

namespace NFe.Classes.Informacoes.Detalhe.Tributacao
{
/// <summary>
/// UB91 - Grupo de informações da Tributação Monofásica Padrão do IBS Ad Valorem (tag gMonoPadrao)
/// </summary>
public class gMonoPadraoIBSAdValorem
{
private decimal _vBcMono;
private decimal _pAliqMonoUf;
private decimal _vIbsMonoUf;
private decimal _pAliqMonoMun;
private decimal _vIbsMonoMun;
private decimal _vIbsMono;

// UB91a
[XmlElement(Order = 1)]
public decimal vBCMono
{
get => _vBcMono.Arredondar(2);
set => _vBcMono = value.Arredondar(2);
}

// UB91b
[XmlElement(Order = 2)]
public decimal pAliqMonoUF
{
get => _pAliqMonoUf.Arredondar(4);
set => _pAliqMonoUf = value.Arredondar(4);
}

// UB91c
[XmlElement(Order = 3)]
public decimal vIBSMonoUF
{
get => _vIbsMonoUf.Arredondar(2);
set => _vIbsMonoUf = value.Arredondar(2);
}

// UB91d
[XmlElement(Order = 4)]
public decimal pAliqMonoMun
{
get => _pAliqMonoMun.Arredondar(4);
set => _pAliqMonoMun = value.Arredondar(4);
}

// UB91e
[XmlElement(Order = 5)]
public decimal vIBSMonoMun
{
get => _vIbsMonoMun.Arredondar(2);
set => _vIbsMonoMun = value.Arredondar(2);
}

/// <summary>
/// UB91f - Valor do IBS monofásico (vIBSMonoUF + vIBSMonoMun)
/// </summary>
[XmlElement(Order = 6)]
public decimal vIBSMono
{
get => _vIbsMono.Arredondar(2);
set => _vIbsMono = value.Arredondar(2);
}
}
}
Loading
Loading