Skip to content

Commit d728f1c

Browse files
committed
feat(NFe/NFCe): adiciona estrutura para emissão com IBS/CBS e IS no app de teste
1 parent 60df412 commit d728f1c

File tree

3 files changed

+261
-5
lines changed

3 files changed

+261
-5
lines changed

NFe.AppTeste/ConfiguracaoApp.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
using NFe.Danfe.Base.NFCe;
4343
using NFe.Utils;
4444
using NFe.Utils.Email;
45-
using Shared.NFe.Utils.Enderecos.NovasUrlsCeara;
4645

4746
namespace NFe.AppTeste
4847
{
@@ -84,6 +83,8 @@ public ConfiguracaoServico CfgServico
8483
public ConfiguracaoCsc ConfiguracaoCsc { get; set; }
8584
public ConfiguracaoDanfeNfce ConfiguracaoDanfeNfce { get; set; }
8685

86+
public bool EnviarTributacaoIbsCbsIs { get; set; }
87+
8788
/// <summary>
8889
/// Salva os dados de CfgServico em um arquivo XML
8990
/// </summary>

NFe.AppTeste/MainWindow.xaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,14 @@
302302
VerticalAlignment="Top" Width="178"
303303
IsChecked="{Binding CfgServico.RemoverAcentos}"/>
304304
</StackPanel>
305+
306+
<StackPanel Margin="10,10,0,0">
307+
<CheckBox Name="CbxEnviarTributacaoDaReforma" Content="Enviar tributação IBS/CBS e IS"
308+
HorizontalAlignment="Left"
309+
VerticalAlignment="Top" Width="178"
310+
Click="CbxEnviarTributacaoDaReforma_OnClick"
311+
/>
312+
</StackPanel>
305313
</StackPanel>
306314
</Grid>
307315
</TabItem>

NFe.AppTeste/MainWindow.xaml.cs

Lines changed: 251 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,17 @@
7575
using NFe.Utils.Excecoes;
7676
using NFe.Utils.Tributacao.Federal;
7777
using Image = System.Drawing.Image;
78-
using static System.Net.Mime.MediaTypeNames;
7978
using System.Text;
8079
using System.Security.Cryptography;
80+
using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado;
81+
using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs;
82+
using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesCbs;
83+
using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesIbs;
84+
using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.Tipos;
85+
using NFe.Classes.Informacoes.Total.IbsCbs;
86+
using NFe.Classes.Informacoes.Total.IbsCbs.Cbs;
87+
using NFe.Classes.Informacoes.Total.IbsCbs.Ibs;
88+
using NFe.Classes.Informacoes.Total.IbsCbs.Monofasica;
8189

8290
namespace NFe.AppTeste
8391
{
@@ -193,6 +201,8 @@ private void CarregarConfiguracao()
193201
}
194202

195203
#endregion
204+
205+
CbxEnviarTributacaoDaReforma.IsChecked = _configuracoes.EnviarTributacaoIbsCbsIs;
196206
}
197207
catch (Exception ex)
198208
{
@@ -1377,7 +1387,8 @@ protected virtual ide GetIdentificacao(int numero, ModeloDocumento modelo, Versa
13771387
tpAmb = _configuracoes.CfgServico.tpAmb,
13781388
finNFe = FinalidadeNFe.fnNormal,
13791389
verProc = "3.000",
1380-
indIntermed = IndicadorIntermediador.iiSemIntermediador
1390+
indIntermed = IndicadorIntermediador.iiSemIntermediador,
1391+
// dPrevEntrega = modelo == ModeloDocumento.NFe ? DateTime.Now : null
13811392
};
13821393

13831394
if (ide.tpEmis != TipoEmissao.teNormal)
@@ -1493,6 +1504,7 @@ protected virtual enderDest GetEnderecoDestinatario()
14931504

14941505
protected virtual det GetDetalhe(int i, CRT crt, ModeloDocumento modelo)
14951506
{
1507+
// Numero: 13010
14961508
var det = new det
14971509
{
14981510
nItem = i + 1,
@@ -1541,7 +1553,184 @@ protected virtual det GetDetalhe(int i, CRT crt, ModeloDocumento modelo)
15411553

15421554
//Caso você resolva utilizar método ObterPisBasico(), comente esta proxima linha
15431555
TipoPIS = new PISOutr { CST = CSTPIS.pis99, pPIS = 0, vBC = 0, vPIS = 0 }
1544-
}
1556+
},
1557+
1558+
// Estrutura de IBS/CBS para testes durante processo de homologação
1559+
IBSCBS = _configuracoes.EnviarTributacaoIbsCbsIs ? new IBSCBS
1560+
{
1561+
CST = CST.Cst000,
1562+
cClassTrib = "000001",
1563+
// indDoacao = "1", //Somente a partir do dia 29/10
1564+
gIBSCBS = new gIBSCBS
1565+
{
1566+
vBC = 0,
1567+
gIBSUF = new gIBSUF
1568+
{
1569+
pIBSUF = 0.10m,
1570+
vIBSUF = 0,
1571+
gDif = new gDif
1572+
{
1573+
vDif = 0,
1574+
pDif = 0
1575+
},
1576+
gRed = new gRed
1577+
{
1578+
pAliqEfet = 0,
1579+
pRedAliq = 0
1580+
},
1581+
gDevTrib = new gDevTrib
1582+
{
1583+
vDevTrib = 0
1584+
}
1585+
},
1586+
gIBSMun = new gIBSMun
1587+
{
1588+
pIBSMun = 0,
1589+
vIBSMun = 0,
1590+
gDif = new gDif
1591+
{
1592+
vDif = 0,
1593+
pDif = 0
1594+
},
1595+
gRed = new gRed
1596+
{
1597+
pAliqEfet = 0,
1598+
pRedAliq = 0
1599+
},
1600+
gDevTrib = new gDevTrib
1601+
{
1602+
vDevTrib = 0
1603+
}
1604+
},
1605+
gCBS = new gCBS
1606+
{
1607+
pCBS = 0.90m,
1608+
vCBS = 0,
1609+
gDif = new gDif
1610+
{
1611+
vDif = 0,
1612+
pDif = 0
1613+
},
1614+
gRed = new gRed
1615+
{
1616+
pAliqEfet = 0,
1617+
pRedAliq = 0
1618+
},
1619+
gDevTrib = new gDevTrib
1620+
{
1621+
vDevTrib = 0
1622+
}
1623+
},
1624+
vIBS = 0,
1625+
gTribCompraGov = new gTribCompraGov
1626+
{
1627+
pAliqCBS = 0,
1628+
vTribCBS = 0,
1629+
pAliqIBSMun = 0,
1630+
vTribIBSMun = 0,
1631+
pAliqIBSUF = 0,
1632+
vTribIBSUF = 0
1633+
},
1634+
gTribRegular = new gTribRegular
1635+
{
1636+
cClassTribReg = "000001",
1637+
CSTReg = CST.Cst000,
1638+
vTribRegCBS = 0,
1639+
pAliqEfetRegCBS = 0,
1640+
vTribRegIBSMun = 0,
1641+
pAliqEfetRegIBSMun = 0,
1642+
vTribRegIBSUF = 0,
1643+
pAliqEfetRegIBSUF = 0
1644+
}
1645+
},
1646+
// gIBSCBSMono = new gIBSCBSMono
1647+
// {
1648+
// gMonoDif = new gMonoDif
1649+
// {
1650+
// pDifCBS = 0,
1651+
// pDifIBS = 0,
1652+
// vCBSMonoDif = 0,
1653+
// vIBSMonoDif = 0
1654+
// },
1655+
// gMonoPadrao = new gMonoPadrao
1656+
// {
1657+
// qBCMono = 0,
1658+
// adRemCBS = 0,
1659+
// adRemIBS = 0,
1660+
// vCBSMono = 0,
1661+
// vIBSMono = 0
1662+
// },
1663+
// gMonoRet = new gMonoRet
1664+
// {
1665+
// qBCMonoRet = 0,
1666+
// adRemCBSRet = 0,
1667+
// adRemIBSRet = 0,
1668+
// vCBSMonoRet = 0,
1669+
// vIBSMonoRet = 0
1670+
// },
1671+
// gMonoReten = new gMonoReten
1672+
// {
1673+
// qBCMonoReten = 0,
1674+
// adRemCBSReten = 0,
1675+
// adRemIBSReten = 0,
1676+
// vCBSMonoReten = 0,
1677+
// vIBSMonoReten = 0
1678+
// },
1679+
// vTotCBSMonoItem = 0,
1680+
// vTotIBSMonoItem = 0
1681+
// },
1682+
// gTransfCred = new gTransfCred
1683+
// {
1684+
// vCBS = 0,
1685+
// vIBS = 0
1686+
// },
1687+
// gAjusteCompet = new gAjusteCompet
1688+
// {
1689+
// competApur = DateTime.Now,
1690+
// vCBS = 0,
1691+
// vIBS = 0
1692+
// },
1693+
// gEstornoCred = new gEstornoCred
1694+
// {
1695+
// vCBSEstCred = 0,
1696+
// vIBSEstCred = 0
1697+
// },
1698+
// gCredPresOper = new gCredPresOper
1699+
// {
1700+
// cCredPres = "01",
1701+
// vBCCredPres = 0,
1702+
// gIBSCredPres = new gIBSCredPres
1703+
// {
1704+
// pCredPres = 0,
1705+
// vCredPres = 0,
1706+
// // vCredPresCondSus = 0 // Informar somente após 2033
1707+
// },
1708+
// gCBSCredPres = new gCBSCredPres
1709+
// {
1710+
// pCredPres = 0,
1711+
// vCredPres = 0,
1712+
// // vCredPresCondSus = 0 // Informar somente após 2027
1713+
// }
1714+
// },
1715+
// gCredPresIBSZFM = new gCredPresIBSZFM
1716+
// {
1717+
// competApur = DateTime.Now,
1718+
// tpCredPresIBSZFM = ClassificacaoCreditoPresumidoIbsZfmTipos.tpCredPresIbsZfm0,
1719+
// vCredPresIBSZFM = 0
1720+
// }
1721+
} : null,
1722+
1723+
IS = _configuracoes.EnviarTributacaoIbsCbsIs ?new IS
1724+
{
1725+
qTrib = 1,
1726+
uTrib = "PC",
1727+
pISEspec = 0,
1728+
pIS = 0,
1729+
vIS = 0,
1730+
cClassTribIS = "000001",
1731+
CSTIS = CSTIS.Is000,
1732+
vBCIS = 0
1733+
} : null
15451734
}
15461735
};
15471736

@@ -1593,7 +1782,10 @@ protected virtual prod GetProduto(int i)
15931782
// nCano = "123456",
15941783
// descr = "TESTE DE ARMA"
15951784
//}
1785+
1786+
// tpCredPresIBSZFM = tpCredPresIBSZFM.SemCreditoPresumido // Informado somente para testes com gCredPresIBSZFM
15961787
};
1788+
15971789
return p;
15981790
}
15991791

@@ -1768,7 +1960,58 @@ protected virtual total GetTotal(VersaoServico versao, List<det> produtos)
17681960
+ icmsTot.vIPI
17691961
+ icmsTot.vIPIDevol.GetValueOrDefault();
17701962

1771-
var t = new total { ICMSTot = icmsTot };
1963+
var t = new total
1964+
{
1965+
ICMSTot = icmsTot,
1966+
IBSCBSTot = _configuracoes.EnviarTributacaoIbsCbsIs ? new IBSCBSTot
1967+
{
1968+
vBCIBSCBS = 0,
1969+
gIBS = new gIBS
1970+
{
1971+
gIBSUF = new gIBSUFTotal
1972+
{
1973+
vDif = 0,
1974+
vDevTrib = 0,
1975+
vIBSUF = 0
1976+
},
1977+
gIBSMun = new gIBSMunTotal
1978+
{
1979+
vDif = 0,
1980+
vDevTrib = 0,
1981+
vIBSMun = 0
1982+
},
1983+
vIBS = 0,
1984+
vCredPres = 0,
1985+
vCredPresCondSus = 0,
1986+
},
1987+
gCBS = new gCBSTotal
1988+
{
1989+
vDif = 0,
1990+
vDevTrib = 0,
1991+
vCBS = 0,
1992+
vCredPres = 0,
1993+
vCredPresCondSus = 0
1994+
},
1995+
gMono = new gMono
1996+
{
1997+
vCBSMono = 0,
1998+
vIBSMono = 0,
1999+
vCBSMonoRet = 0,
2000+
vCBSMonoReten = 0,
2001+
vIBSMonoRet = 0,
2002+
vIBSMonoReten = 0
2003+
},
2004+
gEstornoCred = new gEstornoCredTotal
2005+
{
2006+
vCBSEstCred = 0,
2007+
vIBSEstCred = 0
2008+
}
2009+
} : null,
2010+
ISTot = _configuracoes.EnviarTributacaoIbsCbsIs ? new ISTot
2011+
{
2012+
vIS = 0,
2013+
} : null
2014+
};
17722015
return t;
17732016
}
17742017

@@ -2319,5 +2562,9 @@ private void BtnAtorInteressado_Click(object sender, RoutedEventArgs e)
23192562
}
23202563
}
23212564

2565+
private void CbxEnviarTributacaoDaReforma_OnClick(object sender, RoutedEventArgs e)
2566+
{
2567+
_configuracoes.EnviarTributacaoIbsCbsIs = CbxEnviarTributacaoDaReforma.IsChecked ?? false;
2568+
}
23222569
}
23232570
}

0 commit comments

Comments
 (0)