diff --git a/DFe.Utils/DataHora.cs b/DFe.Utils/DataHora.cs index 4a3ccf436..7951ed586 100644 --- a/DFe.Utils/DataHora.cs +++ b/DFe.Utils/DataHora.cs @@ -58,6 +58,18 @@ public static string ParaDataString(this DateTime? data) return data == DateTime.MinValue ? null : data.Value.ToString("yyyy-MM-dd"); } + + /// + /// Retorna uma string no formato AAAA-MM + /// + /// + /// + public static string ParaDataAnoEMesString(this DateTime? data) + { + if (data == null) return null; + + return data == DateTime.MinValue ? null : data.Value.ToString("yyyy-MM"); + } /// /// Retorna uma string no formato AAAA-MM-DDThh:mm:ssTZD (UTC - Universal Coordinated Time) diff --git a/NFe.AppTeste/ConfiguracaoApp.cs b/NFe.AppTeste/ConfiguracaoApp.cs index fe58e52e6..4871a1505 100644 --- a/NFe.AppTeste/ConfiguracaoApp.cs +++ b/NFe.AppTeste/ConfiguracaoApp.cs @@ -42,7 +42,6 @@ using NFe.Danfe.Base.NFCe; using NFe.Utils; using NFe.Utils.Email; -using Shared.NFe.Utils.Enderecos.NovasUrlsCeara; namespace NFe.AppTeste { @@ -84,6 +83,8 @@ public ConfiguracaoServico CfgServico public ConfiguracaoCsc ConfiguracaoCsc { get; set; } public ConfiguracaoDanfeNfce ConfiguracaoDanfeNfce { get; set; } + public bool EnviarTributacaoIbsCbsIs { get; set; } + /// /// Salva os dados de CfgServico em um arquivo XML /// diff --git a/NFe.AppTeste/MainWindow.xaml b/NFe.AppTeste/MainWindow.xaml index f0250500c..589d3553a 100644 --- a/NFe.AppTeste/MainWindow.xaml +++ b/NFe.AppTeste/MainWindow.xaml @@ -302,6 +302,14 @@ VerticalAlignment="Top" Width="178" IsChecked="{Binding CfgServico.RemoverAcentos}"/> + + + + diff --git a/NFe.AppTeste/MainWindow.xaml.cs b/NFe.AppTeste/MainWindow.xaml.cs index e12a965ae..079571ade 100644 --- a/NFe.AppTeste/MainWindow.xaml.cs +++ b/NFe.AppTeste/MainWindow.xaml.cs @@ -75,9 +75,17 @@ using NFe.Utils.Excecoes; using NFe.Utils.Tributacao.Federal; using Image = System.Drawing.Image; -using static System.Net.Mime.MediaTypeNames; using System.Text; using System.Security.Cryptography; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesCbs; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesIbs; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.Tipos; +using NFe.Classes.Informacoes.Total.IbsCbs; +using NFe.Classes.Informacoes.Total.IbsCbs.Cbs; +using NFe.Classes.Informacoes.Total.IbsCbs.Ibs; +using NFe.Classes.Informacoes.Total.IbsCbs.Monofasica; namespace NFe.AppTeste { @@ -193,6 +201,8 @@ private void CarregarConfiguracao() } #endregion + + CbxEnviarTributacaoDaReforma.IsChecked = _configuracoes.EnviarTributacaoIbsCbsIs; } catch (Exception ex) { @@ -1377,7 +1387,8 @@ protected virtual ide GetIdentificacao(int numero, ModeloDocumento modelo, Versa tpAmb = _configuracoes.CfgServico.tpAmb, finNFe = FinalidadeNFe.fnNormal, verProc = "3.000", - indIntermed = IndicadorIntermediador.iiSemIntermediador + indIntermed = IndicadorIntermediador.iiSemIntermediador, + // dPrevEntrega = modelo == ModeloDocumento.NFe ? DateTime.Now : null }; if (ide.tpEmis != TipoEmissao.teNormal) @@ -1541,7 +1552,184 @@ protected virtual det GetDetalhe(int i, CRT crt, ModeloDocumento modelo) //Caso você resolva utilizar método ObterPisBasico(), comente esta proxima linha TipoPIS = new PISOutr { CST = CSTPIS.pis99, pPIS = 0, vBC = 0, vPIS = 0 } - } + }, + + // Estrutura de IBS/CBS para testes durante processo de homologação + IBSCBS = _configuracoes.EnviarTributacaoIbsCbsIs ? new IBSCBS + { + CST = CST.Cst000, + cClassTrib = "000001", + // indDoacao = "1", //Somente a partir do dia 29/10 + gIBSCBS = new gIBSCBS + { + vBC = 0, + gIBSUF = new gIBSUF + { + pIBSUF = 0.10m, + vIBSUF = 0, + gDif = new gDif + { + vDif = 0, + pDif = 0 + }, + gRed = new gRed + { + pAliqEfet = 0, + pRedAliq = 0 + }, + gDevTrib = new gDevTrib + { + vDevTrib = 0 + } + }, + gIBSMun = new gIBSMun + { + pIBSMun = 0, + vIBSMun = 0, + gDif = new gDif + { + vDif = 0, + pDif = 0 + }, + gRed = new gRed + { + pAliqEfet = 0, + pRedAliq = 0 + }, + gDevTrib = new gDevTrib + { + vDevTrib = 0 + } + }, + gCBS = new gCBS + { + pCBS = 0.90m, + vCBS = 0, + gDif = new gDif + { + vDif = 0, + pDif = 0 + }, + gRed = new gRed + { + pAliqEfet = 0, + pRedAliq = 0 + }, + gDevTrib = new gDevTrib + { + vDevTrib = 0 + } + }, + vIBS = 0, + gTribCompraGov = new gTribCompraGov + { + pAliqCBS = 0, + vTribCBS = 0, + pAliqIBSMun = 0, + vTribIBSMun = 0, + pAliqIBSUF = 0, + vTribIBSUF = 0 + }, + gTribRegular = new gTribRegular + { + cClassTribReg = "000001", + CSTReg = CST.Cst000, + vTribRegCBS = 0, + pAliqEfetRegCBS = 0, + vTribRegIBSMun = 0, + pAliqEfetRegIBSMun = 0, + vTribRegIBSUF = 0, + pAliqEfetRegIBSUF = 0 + } + }, + // gIBSCBSMono = new gIBSCBSMono + // { + // gMonoDif = new gMonoDif + // { + // pDifCBS = 0, + // pDifIBS = 0, + // vCBSMonoDif = 0, + // vIBSMonoDif = 0 + // }, + // gMonoPadrao = new gMonoPadrao + // { + // qBCMono = 0, + // adRemCBS = 0, + // adRemIBS = 0, + // vCBSMono = 0, + // vIBSMono = 0 + // }, + // gMonoRet = new gMonoRet + // { + // qBCMonoRet = 0, + // adRemCBSRet = 0, + // adRemIBSRet = 0, + // vCBSMonoRet = 0, + // vIBSMonoRet = 0 + // }, + // gMonoReten = new gMonoReten + // { + // qBCMonoReten = 0, + // adRemCBSReten = 0, + // adRemIBSReten = 0, + // vCBSMonoReten = 0, + // vIBSMonoReten = 0 + // }, + // vTotCBSMonoItem = 0, + // vTotIBSMonoItem = 0 + // }, + // gTransfCred = new gTransfCred + // { + // vCBS = 0, + // vIBS = 0 + // }, + // gAjusteCompet = new gAjusteCompet + // { + // competApur = DateTime.Now, + // vCBS = 0, + // vIBS = 0 + // }, + // gEstornoCred = new gEstornoCred + // { + // vCBSEstCred = 0, + // vIBSEstCred = 0 + // }, + // gCredPresOper = new gCredPresOper + // { + // cCredPres = "01", + // vBCCredPres = 0, + // gIBSCredPres = new gIBSCredPres + // { + // pCredPres = 0, + // vCredPres = 0, + // // vCredPresCondSus = 0 // Informar somente após 2033 + // }, + // gCBSCredPres = new gCBSCredPres + // { + // pCredPres = 0, + // vCredPres = 0, + // // vCredPresCondSus = 0 // Informar somente após 2027 + // } + // }, + // gCredPresIBSZFM = new gCredPresIBSZFM + // { + // competApur = DateTime.Now, + // tpCredPresIBSZFM = ClassificacaoCreditoPresumidoIbsZfmTipos.tpCredPresIbsZfm0, + // vCredPresIBSZFM = 0 + // } + } : null, + + IS = _configuracoes.EnviarTributacaoIbsCbsIs ?new IS + { + qTrib = 1, + uTrib = "PC", + pISEspec = 0, + pIS = 0, + vIS = 0, + cClassTribIS = "000001", + CSTIS = CSTIS.Is000, + vBCIS = 0 + } : null } }; @@ -1593,7 +1781,10 @@ protected virtual prod GetProduto(int i) // nCano = "123456", // descr = "TESTE DE ARMA" //} + + // tpCredPresIBSZFM = tpCredPresIBSZFM.SemCreditoPresumido // Informado somente para testes com gCredPresIBSZFM }; + return p; } @@ -1768,7 +1959,58 @@ protected virtual total GetTotal(VersaoServico versao, List produtos) + icmsTot.vIPI + icmsTot.vIPIDevol.GetValueOrDefault(); - var t = new total { ICMSTot = icmsTot }; + var t = new total + { + ICMSTot = icmsTot, + IBSCBSTot = _configuracoes.EnviarTributacaoIbsCbsIs ? new IBSCBSTot + { + vBCIBSCBS = 0, + gIBS = new gIBS + { + gIBSUF = new gIBSUFTotal + { + vDif = 0, + vDevTrib = 0, + vIBSUF = 0 + }, + gIBSMun = new gIBSMunTotal + { + vDif = 0, + vDevTrib = 0, + vIBSMun = 0 + }, + vIBS = 0, + vCredPres = 0, + vCredPresCondSus = 0, + }, + gCBS = new gCBSTotal + { + vDif = 0, + vDevTrib = 0, + vCBS = 0, + vCredPres = 0, + vCredPresCondSus = 0 + }, + gMono = new gMono + { + vCBSMono = 0, + vIBSMono = 0, + vCBSMonoRet = 0, + vCBSMonoReten = 0, + vIBSMonoRet = 0, + vIBSMonoReten = 0 + }, + gEstornoCred = new gEstornoCredTotal + { + vCBSEstCred = 0, + vIBSEstCred = 0 + } + } : null, + ISTot = _configuracoes.EnviarTributacaoIbsCbsIs ? new ISTot + { + vIS = 0, + } : null + }; return t; } @@ -2319,5 +2561,9 @@ private void BtnAtorInteressado_Click(object sender, RoutedEventArgs e) } } + private void CbxEnviarTributacaoDaReforma_OnClick(object sender, RoutedEventArgs e) + { + _configuracoes.EnviarTributacaoIbsCbsIs = CbxEnviarTributacaoDaReforma.IsChecked ?? false; + } } } \ No newline at end of file diff --git a/NFe.AppTeste/Schemas/DFeTiposBasicos_v1.00.xsd b/NFe.AppTeste/Schemas/DFeTiposBasicos_v1.00.xsd index 44e4ec49d..a5051dd02 100644 --- a/NFe.AppTeste/Schemas/DFeTiposBasicos_v1.00.xsd +++ b/NFe.AppTeste/Schemas/DFeTiposBasicos_v1.00.xsd @@ -1,5 +1,5 @@ - + @@ -37,7 +37,7 @@ - + Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais @@ -46,7 +46,7 @@ - + Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais) @@ -55,7 +55,7 @@ - + Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais @@ -64,7 +64,7 @@ - + Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais @@ -107,6 +107,14 @@ + + + Tipo Indicador de Doação + + + + + Grupo de informações da Tributação da NFCom @@ -118,7 +126,17 @@ + + + Indica se a operação é de doação + + + + + Informado conforme indicador no cClassTrib + + @@ -132,7 +150,37 @@ + + + Indica se a operação é de doação + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NFAg + + + + + Código Situação Tributária do IBS/CBS + + + + + + + Informado conforme indicador no cClassTrib + + @@ -146,7 +194,13 @@ + + + + Informado conforme indicador no cClassTrib + + @@ -160,7 +214,13 @@ + + + + Informado conforme indicador no cClassTrib + + @@ -174,6 +234,11 @@ + + + Indica se a operação é de doação + + @@ -191,11 +256,16 @@ + + + Indica se a operação é de doação + + - Informar essa opção da Choice para Monofasia + Informar essa opção da Choice para Monofasia (CST 620) @@ -203,10 +273,54 @@ Informar essa opção da Choice para o CST 800 + + + Informar essa opção da Choice para o CST 811 + + - + - Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM + Informado conforme indicador no cClassTrib + + + + + + Crédito Presumido da Operação. Informado conforme indicador no cClassTrib. + + + + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM. Informado conforme indicador no cClassTrib. + + + + + + + + Grupo de informações da Tributação da NFGas + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + + Informar essa opção da Choice para Monofasia + + + + + + Informado conforme indicador no cClassTrib @@ -223,17 +337,17 @@ - + Valor do BC - + Alíquota do Imposto Seletivo (percentual) - + Alíquota do Imposto Seletivo (por valor) @@ -250,13 +364,13 @@ - + Quantidade com abse no campo uTrib informado - + Valor do Imposto Seletivo calculado @@ -269,7 +383,7 @@ Grupo de informações de totais do Imposto Seletivo - + Valor Total do Imposto Seletivo @@ -281,7 +395,7 @@ Grupo de informações de totais da CBS/IBS - + Total Base de Calculo @@ -298,17 +412,17 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total do IBS Estadual @@ -322,17 +436,17 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total do IBS Municipal @@ -340,21 +454,11 @@ - + Valor total do IBS - - - Total do Crédito Presumido - - - - - Total do Crédito Presumido Condição Suspensiva - - @@ -364,29 +468,38 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total da CBS - + + + + + + Totalização do estorno de crédito + + + + - Total do Crédito Presumido + Valor total do IBS estornado - + - Total do Crédito Presumido Condição Suspensiva + Valor total da CBS estornada @@ -399,7 +512,7 @@ Grupo de informações de totais da CBS/IBS com monofasia - + Total Base de Calculo @@ -416,17 +529,17 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total do IBS Estadual @@ -440,17 +553,17 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total do IBS Municipal @@ -458,17 +571,17 @@ - + Valor total do IBS - + Total do Crédito Presumido - + Total do Crédito Presumido Condição Suspensiva @@ -482,27 +595,27 @@ - + Total do Diferimento - + Total de devoluções de tributos - + Valor total da CBS - + Total do Crédito Presumido - + Total do Crédito Presumido Condição Suspensiva @@ -517,32 +630,32 @@ - + Valor total do IBS monofásico - + Valor total da CBS monofásica - + Valor total do IBS monofásico sujeito a retenção - + Valor total da CBS monofásica sujeita a retenção - + Valor do IBS monofásico retido anteriormente - + Valor da CBS monofásica retida anteriormente @@ -550,6 +663,25 @@ + + + Totalização do estorno de crédito + + + + + + Valor total do IBS estornado + + + + + Valor total da CBS estornada + + + + + @@ -566,27 +698,27 @@ - + Quantidade tributada na monofasia - + Alíquota ad rem do IBS - + Alíquota ad rem da CBS - + Valor do IBS monofásico - + Valor da CBS monofásica @@ -600,27 +732,27 @@ - + Quantidade tributada sujeita a retenção. - + Alíquota ad rem do IBS sujeito a retenção - + Valor do IBS monofásico sujeito a retenção - + Alíquota ad rem da CBS sujeita a retenção - + Valor da CBS monofásica sujeita a retenção @@ -634,27 +766,27 @@ - + Quantidade tributada retida anteriormente - + Alíquota ad rem do IBS retido anteriormente - + Valor do IBS retido anteriormente - + Alíquota ad rem da CBS retida anteriormente - + Valor da CBS retida anteriormente @@ -668,22 +800,22 @@ - + Percentual do diferimento do imposto monofásico - + Valor do IBS monofásico diferido - + Percentual do diferimento do imposto monofásico - + Valor da CBS monofásica diferida @@ -691,12 +823,12 @@ - + Total de IBS monofásico do item - + Total da CBS monofásica do item @@ -711,7 +843,7 @@ IBS / CBS - + Valor do BC @@ -723,9 +855,9 @@ - + - Aliquota do IBS de competência das UF + Aliquota do IBS de competência das UF (em percentual) @@ -743,7 +875,7 @@ Grupo de campos da redução de aliquota - + Valor do IBS de competência das UF @@ -757,9 +889,9 @@ - + - Aliquota do IBS Municipal + Aliquota do IBS Municipal (em percentual) @@ -777,7 +909,7 @@ Grupo de campos da redução de aliquota - + Valor do IBS Municipal @@ -785,7 +917,7 @@ - + Valor do IBS @@ -797,9 +929,9 @@ - + - Aliquota da CBS + Aliquota da CBS (em percentual) @@ -817,7 +949,7 @@ Grupo de campos da redução de aliquota - + Valor da CBS @@ -830,16 +962,6 @@ Grupo de informações da Tributação Regular. Informar como seria a tributação caso não cumprida a condição resolutória/suspensiva. Exemplo 1: Art. 442, §4. Operações com ZFM e ALC. Exemplo 2: Operações com suspensão do tributo. - - - Grupo de Informações do Crédito Presumido referente ao IBS, quando aproveitado pelo emitente do documento. - - - - - Grupo de Informações do Crédito Presumido referente a CBS, quando aproveitado pelo emitente do documento. - - Grupo de informações da composição do valor do IBS e da CBS em compras governamental @@ -852,14 +974,14 @@ Tipo Redução Base de Cálculo - + Percentual de redução de aliquota do cClassTrib - + - Aliquota Efetiva que será aplicada a Base de Calculo + Aliquota Efetiva que será aplicada a Base de Calculo (em percentual) @@ -869,23 +991,18 @@ Tipo Crédito Presumido - - - Código de Classificação do Crédito Presumido do IBS e da CBS - - - + Percentual do Crédito Presumido - + Valor do Crédito Presumido - + Valor do Crédito Presumido Condição Suspensiva, preencher apenas para cCredPres que possui indicação de Condição Suspensiva @@ -898,12 +1015,12 @@ Tipo Diferimento - + Percentual do diferimento - + Valor do diferimento @@ -915,7 +1032,7 @@ Tipo Devolução Tributo - + Valor do tributo devolvido. No fornecimento de energia elétrica, água, esgoto e gás natural e em outras hipóteses definidas no regulamento @@ -939,37 +1056,37 @@ gás natural e em outras hipóteses definidas no regulamento Informar qual seria o cClassTrib caso não cumprida a condição resolutória/suspensiva - + Alíquota do IBS da UF Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva - + Valor do IBS da UF Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva - + Alíquota do IBS do Município Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva - + Valor do IBS do Município Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva - + Alíquota da CBS Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva - + Valor da CBS Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva @@ -982,20 +1099,20 @@ gás natural e em outras hipóteses definidas no regulamento Tipo Tributação Compra Governamental - - + + Valor que seria devido a UF, sem aplicação do Art. 473. da LC 214/2025 - - + + Valor que seria devido ao município, sem aplicação do Art. 473. da LC 214/2025 - - + + Valor que seria devido a CBS, sem aplicação do Art. 473. da LC 214/2025 @@ -1017,9 +1134,9 @@ gás natural e em outras hipóteses definidas no regulamento 4=Municípios - + - Percentual de redução de aliquota em compra goverrnamental + Percentual de redução de aliquota em compra governamental @@ -1039,9 +1156,9 @@ gás natural e em outras hipóteses definidas no regulamento 4=Municípios - + - Percentual de redução de aliquota em compra goverrnamental + Percentual de redução de aliquota em compra governamental @@ -1058,23 +1175,102 @@ gás natural e em outras hipóteses definidas no regulamento Tipo Transferência de Crédito - + Valor do IBS a ser transferido - + Valor da CBS a ser transferida + + + Tipo Estorno de Crédito + + + + + Valor do IBS a ser estornado + + + + + Valor da CBS a ser estornada + + + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + + + + Tipo Ajuste de Competência + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + Valor do IBS + + + + + Valor da CBS + + + + + + + Tipo Crédito Presumido da Operação + + + + + Valor da Base de Cálculo do Crédito Presumido da Operação + + + + + Código de Classificação do Crédito Presumido do IBS e da CBS + + + + + Grupo de Informações do Crédito Presumido referente ao IBS, quando aproveitado pelo emitente do documento. + + + + + Grupo de Informações do Crédito Presumido referente a CBS, quando aproveitado pelo emitente do documento. + + + + Tipo Informações do crédito presumido de IBS para fornecimentos a partir da ZFM + + + Ano e mês referência do período de apuração (AAAA-MM) + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM @@ -1087,11 +1283,11 @@ OBS: Percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do - + Valor do crédito presumido calculado sobre o saldo devedor apurado - + \ No newline at end of file diff --git a/NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd b/NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd index 770676266..7d6fb69ef 100644 --- a/NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd +++ b/NFe.AppTeste/Schemas/leiauteNFe_v4.00.xsd @@ -94,6 +94,11 @@ SCAN 900-999 Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:ssTZD) + + + Data da previsão de entrega ou disponibilização do bem (AAAA-MM-DD) + + Tipo do Documento Fiscal (0 - entrada; 1 - saída) @@ -204,13 +209,7 @@ Campo preenchido somente quando “indPres = 5 (Operação presencial, fora do e - Tipo de Nota de Débito: -01=Transferência de créditos para Cooperativas; -02=Anulação de Crédito por Saídas Imunes/Isentas; -03=Débitos de notas fiscais não processadas na apuração; -04=Multa e juros; -05=Transferência de crédito de sucessão. - + Tipo de Nota de Débito @@ -993,6 +992,11 @@ Formato ”CFOP9999”. + + + Classificação para subapuração do IBS na ZFM + + Código EX TIPI (3 posições) @@ -7345,7 +7349,15 @@ alterado para tamanho variavel 1-4. (NT2011/004) - Tipo de Nota de Débito: 01=Transferência de créditos para Cooperativas; 02=Anulação de Crédito por Saídas Imunes/Isentas; 03=Débitos de notas fiscais não processadas na apuração; 04=Multa e juros; 05=Transferência de crédito de sucessão); 06=Pagamento antecipado; 07=Perda em estoque + Tipo de Nota de Débito: + 01=Transferência de créditos para Cooperativas; + 02=Anulação de Crédito por Saídas Imunes/Isentas; + 03=Débitos de notas fiscais não processadas na apuração; + 04=Multa e juros; + 05=Transferência de crédito na sucessão; + 06=Pagamento antecipado; + 07=Perda em estoque; + 08=Desenquadramento do SN; @@ -7356,17 +7368,26 @@ alterado para tamanho variavel 1-4. (NT2011/004) + - Tipo de Nota de Crédito: 01=Multa e juros; 02=Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25); 03=Retorno + Tipo de Nota de Crédito: + 01=Multa e juros; + 02=Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25); + 03=Retorno por recusa na entrega ou por não localização do destinatário na tentativa de entrega; + 04=Redução de valores; + 05=Transferência de crédito na sucessão; + + + diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/IBSCBS.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/IBSCBS.cs index 019f93672..f98d1f8c9 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/IBSCBS.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/IBSCBS.cs @@ -53,27 +53,51 @@ public class IBSCBS public string cClassTrib { get; set; } /// - /// UB15 - Grupo de Informações do IBS e da CBS + /// UB14a - Indica a natureza da operação de doação, orientando a apuração e a geração de débitos ou estornos conforme o cenário /// [XmlElement(Order = 3)] + public string indDoacao { get; set; } + + /// + /// UB15 - Grupo de Informações do IBS e da CBS + /// + [XmlElement(Order = 4)] public gIBSCBS gIBSCBS { get; set; } /// /// UB84 - Grupo de Informações do IBS e CBS em operações com imposto monofásico /// - [XmlElement(Order = 4)] + [XmlElement(Order = 5)] public gIBSCBSMono gIBSCBSMono { get; set; } /// /// UB106 - Transferências de Crédito /// - [XmlElement(Order = 5)] + [XmlElement(Order = 6)] public gTransfCred gTransfCred { get; set; } /// - /// UB109 - Informações do crédito presumido de IBS para fornecimentos a partir da ZFM + /// UB112 - Ajuste de Competência /// - [XmlElement(Order = 6)] + [XmlElement(Order = 7)] + public gAjusteCompet gAjusteCompet { get; set; } + + /// + /// UB116 - Estorno de Crédito + /// + [XmlElement(Order = 8)] + public gEstornoCred gEstornoCred { get; set; } + + /// + /// UB120 - Crédito Presumido da Operação + /// + [XmlElement(Order = 9)] + public gCredPresOper gCredPresOper { get; set; } + + /// + /// UB131 - Grupo para apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25) + /// + [XmlElement(Order = 10)] public gCredPresIBSZFM gCredPresIBSZFM { get; set; } } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBS.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBS.cs index e6efe4d81..768d4d741 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBS.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBS.cs @@ -39,7 +39,7 @@ public class gCBS private decimal _vCbs; /// - /// UB56 - Alíquota da CBS + /// UB56 - Alíquota da CBS (em percentual) /// public decimal pCBS { @@ -47,15 +47,6 @@ public decimal pCBS set => _pCbs = value.Arredondar(4); } - /// - /// UB67 - Valor da CBS - /// - public decimal vCBS - { - get => _vCbs.Arredondar(2); - set => _vCbs = value.Arredondar(2); - } - /// /// UB59 - Grupo de Informações do Diferimento /// @@ -70,5 +61,14 @@ public decimal vCBS /// UB64 - Grupo de informações da redução da alíquota /// public gRed gRed { get; set; } + + /// + /// UB67 - Valor da CBS + /// + public decimal vCBS + { + get => _vCbs.Arredondar(2); + set => _vCbs = value.Arredondar(2); + } } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBSCredPres.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBSCredPres.cs index bce695ab9..4ee4b1c17 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBSCredPres.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesCbs/gCBSCredPres.cs @@ -36,16 +36,11 @@ namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIb public class gCBSCredPres { private decimal _pCredPres; - private decimal _vCredPres; - private decimal _vCredPresCondSus; + private decimal? _vCredPres; + private decimal? _vCredPresCondSus; /// - /// UB79 - Código de Classificação do Crédito Presumido - /// - public int cCredPres { get; set; } - - /// - /// UB80 - Percentual do Crédito Presumido + /// UB128 - Percentual do Crédito Presumido /// public decimal pCredPres { @@ -54,21 +49,24 @@ public decimal pCredPres } /// - /// UB81 - Valor do Crédito Presumido + /// UB129 - Valor do Crédito Presumido /// - public decimal vCredPres + public decimal? vCredPres { get => _vCredPres.Arredondar(2); - set => _vCredPres = value.Arredondar(2); + set => _vCredPres = value ?? value.Arredondar(2); } /// - /// UB82 - Valor do Crédito Presumido em condição suspensiva + /// UB130 - Valor do Crédito Presumido em condição suspensiva /// - public decimal vCredPresCondSus + public decimal? vCredPresCondSus { get => _vCredPresCondSus.Arredondar(2); set => _vCredPresCondSus = value.Arredondar(2); } + + public bool ShouldSerializevCredPres() => vCredPres.HasValue; + public bool ShouldSerializevCredPresCondSus() => vCredPresCondSus.HasValue; } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gCredPresIBSZFM.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gCredPresIBSZFM.cs index d56c17cec..c43778fbb 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gCredPresIBSZFM.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gCredPresIBSZFM.cs @@ -31,6 +31,9 @@ /* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */ /********************************************************************************/ +using System; +using System.Xml.Serialization; +using DFe.Utils; using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.Tipos; namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesIbs @@ -40,12 +43,28 @@ public class gCredPresIBSZFM private decimal? _vCredPresIbsZfm; /// - /// UB110 - Tipo de classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM + /// UB132 - Ano e mês de referência do período de apuração (AAAA-MM) + /// + [XmlIgnore] + public DateTime? competApur { get; set; } + + /// + /// Proxy para competApur no formato AAAA-MM (somente ano e mês) + /// + [XmlElement(ElementName = "competApur")] + public string ProxyCompetApur + { + get => competApur.ParaDataAnoEMesString(); + set => competApur = DateTime.Parse(value); + } + + /// + /// UB133 - Tipo de classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM /// public ClassificacaoCreditoPresumidoIbsZfmTipos tpCredPresIBSZFM { get; set; } /// - /// UB111 - Valor do crédito presumido calculado sobre o saldo devedor apurado + /// UB134 - Valor do crédito presumido calculado sobre o saldo devedor apurado /// public decimal? vCredPresIBSZFM { diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSCredPres.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSCredPres.cs index 04c1b5a9c..8fadde45c 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSCredPres.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSCredPres.cs @@ -36,16 +36,11 @@ namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIb public class gIBSCredPres { private decimal _pCredPres; - private decimal _vCredPres; - private decimal _vCredPresCondSus; - - /// - /// UB74 - Código de Classificação do Crédito Presumido - /// - public int cCredPres { get; set; } + private decimal? _vCredPres; + private decimal? _vCredPresCondSus; /// - /// UB75 - Percentual do Crédito Presumido + /// UB124 - Percentual do Crédito Presumido /// public decimal pCredPres { @@ -54,21 +49,24 @@ public decimal pCredPres } /// - /// UB76 - Valor do Crédito Presumido + /// UB125 - Valor do Crédito Presumido /// - public decimal vCredPres + public decimal? vCredPres { get => _vCredPres.Arredondar(2); set => _vCredPres = value.Arredondar(2); } /// - /// UB77 - Valor do Crédito Presumido em condição suspensiva + /// UB126 - Valor do Crédito Presumido em condição suspensiva /// - public decimal vCredPresCondSus + public decimal? vCredPresCondSus { get => _vCredPresCondSus.Arredondar(2); set => _vCredPresCondSus = value.Arredondar(2); } + + public bool ShouldSerializevCredPres() => vCredPres.HasValue; + public bool ShouldSerializevCredPresCondSus() => vCredPresCondSus.HasValue; } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSMun.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSMun.cs index 823d12760..3e47d48a1 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSMun.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSMun.cs @@ -39,7 +39,7 @@ public class gIBSMun private decimal _vIbsMun; /// - /// UB37 - Alíquota do IBS de competência do Município + /// UB37 - Alíquota do IBS de competência do Município (em percentual) /// public decimal pIBSMun { @@ -47,15 +47,6 @@ public decimal pIBSMun set => _pIbsMun = value.Arredondar(4); } - /// - /// UB54 - Valor do IBS de competência do Município - /// - public decimal vIBSMun - { - get => _vIbsMun.Arredondar(2); - set => _vIbsMun = value.Arredondar(2); - } - /// /// UB40 - Grupo de Informações do Diferimento /// @@ -70,5 +61,14 @@ public decimal vIBSMun /// UB45 - Grupo de informações da redução da alíquota /// public gRed gRed { get; set; } + + /// + /// UB54 - Valor do IBS de competência do Município + /// + public decimal vIBSMun + { + get => _vIbsMun.Arredondar(2); + set => _vIbsMun = value.Arredondar(2); + } } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSUF.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSUF.cs index d30f66f54..759015d40 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSUF.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/InformacoesIbs/gIBSUF.cs @@ -39,7 +39,7 @@ public class gIBSUF private decimal _vIbsUf; /// - /// UB18 - Alíquota do IBS de competência das UF + /// UB18 - Alíquota do IBS de competência das UF (em percentual) /// public decimal pIBSUF { diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gAjusteCompet.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gAjusteCompet.cs new file mode 100644 index 000000000..623e402c0 --- /dev/null +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gAjusteCompet.cs @@ -0,0 +1,79 @@ +/********************************************************************************/ +/* Projeto: Biblioteca ZeusNFe */ +/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */ +/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */ +/* */ +/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */ +/* Zeusdev Tecnologia LTDA ME */ +/* */ +/* Você pode obter a última versão desse arquivo no GitHub */ +/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */ +/* */ +/* */ +/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */ +/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */ +/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */ +/* qualquer versão posterior. */ +/* */ +/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */ +/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */ +/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/ +/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */ +/* */ +/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/ +/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */ +/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ +/* Você também pode obter uma copia da licença em: */ +/* http://www.opensource.org/licenses/lgpl-license.php */ +/* */ +/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */ +/* http://www.zeusautomacao.com.br/ */ +/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */ +/********************************************************************************/ + +using System; +using System.Xml.Serialization; +using DFe.Utils; + +namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs +{ + public class gAjusteCompet + { + private decimal _vIBS; + private decimal _vCBS; + + /// + /// UB113 - Ano e mês de referência do período de apuração (AAAA-MM) + /// + [XmlIgnore] + public DateTime? competApur { get; set; } + + /// + /// Proxy para competApur no formato AAAA-MM (somente ano e mês) + /// + [XmlElement(ElementName = "competApur")] + public string ProxyCompetApur + { + get => competApur.ParaDataAnoEMesString(); + set => competApur = DateTime.Parse(value); + } + + /// + /// UB114 - Valor do IBS + /// + public decimal vIBS + { + get => _vIBS.Arredondar(2); + set => _vIBS = value; + } + + /// + /// UB115 - Valor do CBS + /// + public decimal vCBS + { + get => _vCBS.Arredondar(2); + set => _vCBS = value; + } + } +} \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gCredPresOper.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gCredPresOper.cs new file mode 100644 index 000000000..206f81aac --- /dev/null +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gCredPresOper.cs @@ -0,0 +1,67 @@ +/********************************************************************************/ +/* Projeto: Biblioteca ZeusNFe */ +/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */ +/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */ +/* */ +/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */ +/* Zeusdev Tecnologia LTDA ME */ +/* */ +/* Você pode obter a última versão desse arquivo no GitHub */ +/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */ +/* */ +/* */ +/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */ +/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */ +/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */ +/* qualquer versão posterior. */ +/* */ +/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */ +/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */ +/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/ +/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */ +/* */ +/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/ +/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */ +/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ +/* Você também pode obter uma copia da licença em: */ +/* http://www.opensource.org/licenses/lgpl-license.php */ +/* */ +/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */ +/* http://www.zeusautomacao.com.br/ */ +/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */ +/********************************************************************************/ + +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesCbs; +using NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs.InformacoesIbs; + +namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs +{ + public class gCredPresOper + { + private decimal _vBCCredPres; + + /// + /// UB121 - Valor da Base de Cálculo do Crédito Presumido da Operação + /// + public decimal vBCCredPres + { + get => _vBCCredPres.Arredondar(2); + set => _vBCCredPres = value; + } + + /// + /// UB122 - Código de Classificação do Crédito Presumido + /// + public string cCredPres { get; set; } + + /// + /// UB123 - Grupo de Informações do Crédito Presumido referente ao IBS + /// + public gIBSCredPres gIBSCredPres { get; set; } + + /// + /// UB127 - Grupo de Informações do Crédito Presumido referente a CBS + /// + public gCBSCredPres gCBSCredPres { get; set; } + } +} \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gEstornoCred.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gEstornoCred.cs new file mode 100644 index 000000000..35370da00 --- /dev/null +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gEstornoCred.cs @@ -0,0 +1,59 @@ +/********************************************************************************/ +/* Projeto: Biblioteca ZeusNFe */ +/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */ +/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */ +/* */ +/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */ +/* Zeusdev Tecnologia LTDA ME */ +/* */ +/* Você pode obter a última versão desse arquivo no GitHub */ +/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */ +/* */ +/* */ +/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */ +/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */ +/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */ +/* qualquer versão posterior. */ +/* */ +/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */ +/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */ +/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/ +/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */ +/* */ +/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/ +/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */ +/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ +/* Você também pode obter uma copia da licença em: */ +/* http://www.opensource.org/licenses/lgpl-license.php */ +/* */ +/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */ +/* http://www.zeusautomacao.com.br/ */ +/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */ +/********************************************************************************/ + +namespace NFe.Classes.Informacoes.Detalhe.Tributacao.Compartilhado.InformacoesIbsCbs +{ + public class gEstornoCred + { + private decimal _vIBSEstCred; + private decimal _vCBSEstCred; + + /// + /// UB117 - Valor do IBS a ser estornado + /// + public decimal vIBSEstCred + { + get => _vIBSEstCred.Arredondar(2); + set => _vIBSEstCred = value; + } + + /// + /// UB118 - Valor do CBS a ser estornado + /// + public decimal vCBSEstCred + { + get => _vCBSEstCred.Arredondar(2); + set => _vCBSEstCred = value; + } + } +} \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gIBSCBS.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gIBSCBS.cs index 15308193a..ae6ec6e83 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gIBSCBS.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gIBSCBS.cs @@ -86,22 +86,10 @@ public decimal vIBS [XmlElement(Order = 6)] public gTribRegular gTribRegular { get; set; } - /// - /// UB73 - Grupo de Informações do Crédito Presumido referente ao IBS - /// - [XmlElement(Order = 7)] - public gIBSCredPres gIBSCredPres { get; set; } - - /// - /// UB78 - Grupo de Informações do Crédito Presumido referente a CBS - /// - [XmlElement(Order = 8)] - public gCBSCredPres gCBSCredPres { get; set; } - /// /// UB82a - Grupo de informações da composição do valor do IBS e da CBS em compras governamentais /// - [XmlElement(Order = 9)] + [XmlElement(Order = 7)] public gTribCompraGov gTribCompraGov { get; set; } } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gRed.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gRed.cs index 3e5d511c1..e8edb3946 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gRed.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gRed.cs @@ -48,7 +48,7 @@ public decimal pRedAliq } /// - /// Alíquota Efetiva que será aplicada a Base de Cálculo + /// Alíquota Efetiva que será aplicada a Base de Cálculo (em percentual) /// public decimal pAliqEfet { diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribCompraGov.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribCompraGov.cs index fc0ef091d..7144dcfb7 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribCompraGov.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribCompraGov.cs @@ -43,7 +43,7 @@ public class gTribCompraGov private decimal _vTribCbs; /// - /// UB82b - Alíquota do IBS de competência do Estado + /// UB82b - Alíquota do IBS de competência do Estado (em percentual) /// public decimal pAliqIBSUF { @@ -61,7 +61,7 @@ public decimal vTribIBSUF } /// - /// UB82d - Alíquota do IBS de competência do Município + /// UB82d - Alíquota do IBS de competência do Município (em percentual) /// public decimal pAliqIBSMun { @@ -79,7 +79,7 @@ public decimal vTribIBSMun } /// - /// UB82f - Alíquota da CBS + /// UB82f - Alíquota da CBS (em percentual) /// public decimal pAliqCBS { diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribRegular.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribRegular.cs index c95f4c6e5..ddc92eb1f 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribRegular.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Compartilhado/InformacoesIbsCbs/gTribRegular.cs @@ -55,7 +55,7 @@ public class gTribRegular public string cClassTribReg { get; set; } /// - /// UB71 - Valor da alíquota do IBS da UF + /// UB71 - Valor da alíquota do IBS da UF (em percentual) /// public decimal pAliqEfetRegIBSUF { @@ -73,7 +73,7 @@ public decimal vTribRegIBSUF } /// - /// UB72a - Valor da alíquota do IBS do Município + /// UB72a - Valor da alíquota do IBS do Município (em percentual) /// public decimal pAliqEfetRegIBSMun { @@ -91,7 +91,7 @@ public decimal vTribRegIBSMun } /// - /// UB72c - Valor da alíquota da CBS + /// UB72c - Valor da alíquota da CBS (em percentual) /// public decimal pAliqEfetRegCBS { diff --git a/NFe.Classes/Informacoes/Detalhe/Tributacao/Federal/IS.cs b/NFe.Classes/Informacoes/Detalhe/Tributacao/Federal/IS.cs index 04ed3469f..3a649a812 100644 --- a/NFe.Classes/Informacoes/Detalhe/Tributacao/Federal/IS.cs +++ b/NFe.Classes/Informacoes/Detalhe/Tributacao/Federal/IS.cs @@ -67,7 +67,7 @@ public decimal vBCIS } /// - /// UB06 - Alíquota do Imposto Seletivo + /// UB06 - Alíquota do Imposto Seletivo (em percentual) /// [XmlElement(Order = 4)] public decimal pIS @@ -77,7 +77,7 @@ public decimal pIS } /// - /// UB07 - Alíquota específica por unidade de medida apropriada + /// UB07 - Alíquota específica por unidade de medida apropriada (em percentual) /// [XmlElement(Order = 5)] public decimal? pISEspec diff --git a/NFe.Classes/Informacoes/Detalhe/prod.cs b/NFe.Classes/Informacoes/Detalhe/prod.cs index 1a5ff53bb..7ddcdd50d 100644 --- a/NFe.Classes/Informacoes/Detalhe/prod.cs +++ b/NFe.Classes/Informacoes/Detalhe/prod.cs @@ -134,6 +134,11 @@ public bool indEscalaSpecified /// [XmlElement("gCred")] public List gCred { get; set; } + + /// + /// I05K - Classificação para subapuração do IBS na ZFM + /// + public tpCredPresIBSZFM? tpCredPresIBSZFM { get; set; } /// /// I06 - Código EX TIPI (3 posições) @@ -354,5 +359,7 @@ public bool ShouldSerializevOutro() } public bool ShouldSerializeindBemMovelUsado() => indBemMovelUsado.HasValue; + + public bool ShouldSerializetpCredPresIBSZFM() => tpCredPresIBSZFM.HasValue; } } diff --git a/NFe.Classes/Informacoes/Detalhe/prodTipos.cs b/NFe.Classes/Informacoes/Detalhe/prodTipos.cs index f82804425..c6b6fd337 100644 --- a/NFe.Classes/Informacoes/Detalhe/prodTipos.cs +++ b/NFe.Classes/Informacoes/Detalhe/prodTipos.cs @@ -387,4 +387,35 @@ public enum IndBemMovelUsado [XmlEnum("1")] BemMovelUsado } + + /// + /// Classificação para subapuração do IBS na ZFM. Classificação conforme percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido + /// 0 - Sem Crédito Presumido> + /// 1 - Bens de consumo final (55%)> + /// 2 - Bens de capital (75%)> + /// 3 - Bens intermediários (90,25%)> + /// 4 - Bens de informática e outros definidos em legislação (100%)> + /// + public enum tpCredPresIBSZFM + { + [Description("Sem Crédito Presumido")] + [XmlEnum("0")] + SemCreditoPresumido, + + [Description("Bens de consumo final (55%)")] + [XmlEnum("1")] + BensDeConsumoFinal, + + [Description("Bens de capital (75%)")] + [XmlEnum("2")] + BensDeCapital, + + [Description("Bens intermediários (90,25%)")] + [XmlEnum("3")] + BensIntermediarios, + + [Description("Bens de informática e outros definidos em legislação (100%)")] + [XmlEnum("4")] + BensDeInformaticaEOutros + } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Identificacao/Tipos/ideTipos.cs b/NFe.Classes/Informacoes/Identificacao/Tipos/ideTipos.cs index 1c064f4a1..065164a7e 100644 --- a/NFe.Classes/Informacoes/Identificacao/Tipos/ideTipos.cs +++ b/NFe.Classes/Informacoes/Identificacao/Tipos/ideTipos.cs @@ -521,9 +521,10 @@ public enum refMod /// 2 - Anulação de Crédito por Saídas Imunes/Isentas /// 3 - Débitos de notas fiscais não processadas na apuração /// 4 - Multa e juros - /// 5 - Transferência de crédito de sucessão + /// 5 - Transferência de crédito na sucessão /// 6 - Pagamento antecipado /// 7 - Perda em estoque + /// 8 - Desenquadramento do SN /// public enum TpNotaDebito { @@ -556,9 +557,9 @@ public enum TpNotaDebito MultaJuros, /// - /// 05 - Transferência de crédito de sucessão + /// 05 - Transferência de crédito na sucessão /// - [Description("Transferência de crédito de sucessão")] + [Description("Transferência de crédito na sucessão")] [XmlEnum("05")] TfCreditoSucessao, @@ -574,27 +575,45 @@ public enum TpNotaDebito /// [Description("Perda em estoque")] [XmlEnum("07")] - PerdaEstoque + PerdaEstoque, + + /// + /// 08 - Desenquadramento do SN + /// + [Description("Desenquadramento do SN")] + [XmlEnum("08")] + DesenquadramentoSn } /// /// Tipo de Nota de Crédito - /// 1 - Multa e juros - /// 2 - Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25) + /// 01 - Multa e juros + /// 02 - Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25) + /// 03 - Retorno por recusa na entrega ou por não localização do destinatário na tentativa de entrega + /// 04 - Redução de valores + /// 05 - Transferência de crédito na sucessão; /// public enum TpNotaCredito { [Description("Multa e juros")] - [XmlEnum("1")] + [XmlEnum("01")] MultaJuros, [Description("Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25)")] - [XmlEnum("2")] + [XmlEnum("02")] ApropriacaoDeCredito, - [Description("Retorno")] - [XmlEnum("3")] - Retorno + [Description("Retorno por recusa na entrega ou por não localização do destinatário na tentativa de entrega")] + [XmlEnum("03")] + RetornoPorRecusaOuNaoLocalizacaoDoDestinatario, + + [Description("Redução de valores")] + [XmlEnum("04")] + ReducaoDeValores, + + [Description("Transferência de crédito na sucessão;")] + [XmlEnum("05")] + TfCreditoSucessao } /// diff --git a/NFe.Classes/Informacoes/Identificacao/ide.cs b/NFe.Classes/Informacoes/Identificacao/ide.cs index 3f1bbcbff..2e0d77a09 100644 --- a/NFe.Classes/Informacoes/Identificacao/ide.cs +++ b/NFe.Classes/Informacoes/Identificacao/ide.cs @@ -151,7 +151,23 @@ public string ProxydhSaiEnt get { return dhSaiEnt.ParaDataHoraStringUtc(); } set { dhSaiEnt = DateTimeOffset.Parse(value); } } + + /// + /// B10a - Data da previsão de entrega ou disponibilização do bem. + /// + [XmlIgnore] + public DateTime? dPrevEntrega { get; set; } + /// + /// Proxy para dPrevEntrega no formato AAAA-MM-DD (somente data) + /// + [XmlElement(ElementName = "dPrevEntrega")] + public string ProxydPrevEntrega + { + get => dPrevEntrega.ParaDataString(); + set => dPrevEntrega = DateTime.Parse(value); + } + /// /// B11 - Tipo do Documento Fiscal /// diff --git a/NFe.Classes/Informacoes/Total/IbsCbs/IBSCBSTot.cs b/NFe.Classes/Informacoes/Total/IbsCbs/IBSCBSTot.cs index 766516d5b..40b5c5d9d 100644 --- a/NFe.Classes/Informacoes/Total/IbsCbs/IBSCBSTot.cs +++ b/NFe.Classes/Informacoes/Total/IbsCbs/IBSCBSTot.cs @@ -66,5 +66,11 @@ public decimal vBCIBSCBS /// W57 - Grupo total da Monofasia /// public gMono gMono { get; set; } + + /// + /// W59e - Grupo total do Estorno de Crédito + /// + [XmlElement("gEstornoCred")] + public gEstornoCredTotal gEstornoCred { get; set; } } } \ No newline at end of file diff --git a/NFe.Classes/Informacoes/Total/IbsCbs/gEstornoCredTotal.cs b/NFe.Classes/Informacoes/Total/IbsCbs/gEstornoCredTotal.cs new file mode 100644 index 000000000..68a9e9f55 --- /dev/null +++ b/NFe.Classes/Informacoes/Total/IbsCbs/gEstornoCredTotal.cs @@ -0,0 +1,59 @@ +/********************************************************************************/ +/* Projeto: Biblioteca ZeusNFe */ +/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */ +/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */ +/* */ +/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */ +/* Zeusdev Tecnologia LTDA ME */ +/* */ +/* Você pode obter a última versão desse arquivo no GitHub */ +/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */ +/* */ +/* */ +/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */ +/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */ +/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */ +/* qualquer versão posterior. */ +/* */ +/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */ +/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */ +/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/ +/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */ +/* */ +/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/ +/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */ +/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ +/* Você também pode obter uma copia da licença em: */ +/* http://www.opensource.org/licenses/lgpl-license.php */ +/* */ +/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */ +/* http://www.zeusautomacao.com.br/ */ +/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */ +/********************************************************************************/ + +namespace NFe.Classes.Informacoes.Total.IbsCbs +{ + public class gEstornoCredTotal + { + private decimal _vIBSEstCred; + private decimal _vCBSEstCred; + + /// + /// W59F - Valor total do IBS estornado + /// + public decimal vIBSEstCred + { + get => _vIBSEstCred.Arredondar(2); + set => _vIBSEstCred = value; + } + + /// + /// W59G - Valor total do CBS estornado + /// + public decimal vCBSEstCred + { + get => _vCBSEstCred.Arredondar(2); + set => _vCBSEstCred = value; + } + } +} \ No newline at end of file diff --git a/NFe.Classes/Servicos/Evento/detEvento.cs b/NFe.Classes/Servicos/Evento/detEvento.cs index f030c48f9..ac2cfa1d7 100644 --- a/NFe.Classes/Servicos/Evento/detEvento.cs +++ b/NFe.Classes/Servicos/Evento/detEvento.cs @@ -366,7 +366,7 @@ public bool ShouldSerializetpAutorizacao() #region Informação de efetivo pagamento integral para liberar crédito presumido do adquirente /// - /// P23 - Indicador de efetiva quitação do pagamento integral referente a NFe referenciada + /// P23 - Indicador de efetiva quitação do pagamento integral da operação referente a NFe referenciada /// public IndicadorDeQuitacaoDoPagamento? indQuitacao { get; set; } @@ -537,6 +537,26 @@ public bool ShouldSerializecMotivo() #endregion + #region Atualização da Data de Previsão de Entrega + + /// + /// P23 - Data da previsão de entrega ou disponibilização do bem. Formato: “AAAA-MM-DD”. + /// + [XmlIgnore] + public DateTime? dPrevEntrega { get; set; } + + /// + /// Proxy para dPrevEntrega no formato "AAAA-MM-DD" (somente data). + /// + [XmlElement("dPrevEntrega")] + public string ProxydPrevEntrega + { + get => dPrevEntrega.ParaDataString(); + set => dPrevEntrega = DateTime.Parse(value); + } + + #endregion + #endregion } } \ No newline at end of file diff --git a/NFe.Classes/Servicos/Tipos/NFeServicosTipos.cs b/NFe.Classes/Servicos/Tipos/NFeServicosTipos.cs index 2940e5bb7..40881ea10 100644 --- a/NFe.Classes/Servicos/Tipos/NFeServicosTipos.cs +++ b/NFe.Classes/Servicos/Tipos/NFeServicosTipos.cs @@ -159,12 +159,12 @@ public enum ServicoNFe ConsultaGtin, /// - /// Serviço destinado a permitir que o emitente da NFe informe o efetivo pagamento integral a fim de liberar crédito presumido do adquirente + /// Serviço destinado a permitir que o emitente da NFe informe o efetivo pagamento integral da operação a fim de liberar crédito presumido do adquirente /// RecepcaoEventoInformacaoDeEfetivoPagamentoIntegralParaLiberarCreditoPresumidoDoAdquirente, /// - /// Serviço destinado a evento a ser gerado pelo adquirente em relação às notas fiscais de aquisição de emissão de terceiros e que lhe gerem o direito à apropriação de crédito presumido + /// Serviço destinado a evento a ser gerado pelo destinatário da NF-e em relação às notas fiscais de aquisição de emissão de terceiros e que lhe gerem o direito à apropriação de crédito presumido /// RecepcaoEventoSolicitacaoDeApropriacaoDeCreditoPresumido, @@ -245,7 +245,12 @@ public enum ServicoNFe /// /// Serviço para permitir ao fornecedor informar que um pagamento antecipado não teve o respectivo fornecimento realizado /// - RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado + RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado, + + /// + /// Serviço para permitir ao fornecedor atualizar a data da previsão de entrega ou disponibilização do bem ao adquirente, de forma a remover o débito do mês em que foi previsto inicialmente. + /// + RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega } /// @@ -287,6 +292,7 @@ public enum IndicadorSincronizacao /// 112110 - Informação de efetivo pagamento integral para liberar crédito presumido do adquirente /// 112120 - Importação em ALC/ZFM não convertida em isenção /// 112140 - Fornecimento não realizado com pagamento antecipado + /// 112150 - Atualização da Data de Previsão de Entrega /// 210200 – Confirmação da Operação /// 210210 – Ciência da Emissão /// 210220 – Desconhecimento da Operação @@ -411,6 +417,13 @@ public enum NFeTipoEvento [XmlEnum("112140")] TeNfeFornecimentoNaoRealizadoComPagamentoAntecipado = 112140, + /// + /// 112150 - Atualização da Data de Previsão de Entrega + /// + [Description("Atualização da Data de Previsão de Entrega")] + [XmlEnum("112150")] + TeNfeAtualizacaoDaDataDePrevisaoDeEntrega = 112150, + /// /// 211110 - Solicitação de Apropriação de crédito presumido /// diff --git a/NFe.Servicos/ServicoNfeFactory.cs b/NFe.Servicos/ServicoNfeFactory.cs index 6f121d8ca..b068c4621 100644 --- a/NFe.Servicos/ServicoNfeFactory.cs +++ b/NFe.Servicos/ServicoNfeFactory.cs @@ -301,6 +301,7 @@ public static INfeServico CriaWsdlOutros(ServicoNFe servico, ConfiguracaoServico case ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloAdquirente: case ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloFornecedor: case ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado: + case ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega: return new RecepcaoEvento4(url, certificado, cfg.TimeOut); } diff --git a/NFe.Servicos/ServicosNFe.cs b/NFe.Servicos/ServicosNFe.cs index 87cab5de9..8784da3f6 100644 --- a/NFe.Servicos/ServicosNFe.cs +++ b/NFe.Servicos/ServicosNFe.cs @@ -1219,7 +1219,7 @@ public RetornoRecepcaoEvento RecepcaoEventoCancConciliacaoFinanceira(int idlote, } /// - /// Serviço para evento informação de efetivo pagamento integral para liberar crédito presumido do adquirente + /// Serviço para evento informação de efetivo pagamento integral da operação para liberar crédito presumido do adquirente /// /// Nº do lote /// sequencia do evento @@ -1256,7 +1256,7 @@ public RetornoRecepcaoEvento RecepcaoEventoInformacaoDeEfetivoPagamentoIntegralP } /// - /// Serviço para evento informação de efetivo pagamento integral para liberar crédito presumido do adquirente + /// Serviço para evento a ser gerado pelo destinatário da NF-e em relação às notas fiscais de aquisição de emissão de terceiros e que lhe gerem o direito à apropriação de crédito presumido. /// /// Nº do lote /// sequencia do evento @@ -1867,6 +1867,43 @@ public RetornoRecepcaoEvento RecepcaoEventoFornecimentoNaoRealizadoComPagamentoA return retornoRecepcaoEvento; } + + /// + /// Serviço para evento de atualização da data de previsão de entrega + /// + /// Nº do lote + /// sequencia do evento + /// + /// + /// Data prevista para entrega + /// + /// + /// + /// + public RetornoRecepcaoEvento RecepcaoEventoAtualizacaoDaDataDePrevisaoDeEntrega(int idLote, + int sequenciaEvento, + string cpfCnpj, + string chaveNFe, + DateTime dataPrevistaEntrega, + Estado? ufAutor = null, + string versaoAplicativo = null, + DateTimeOffset? dataHoraEvento = null) + { + const ServicoNFe servicoNfe = ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega; + const NFeTipoEvento nfeTipoEvento = NFeTipoEvento.TeNfeAtualizacaoDaDataDePrevisaoDeEntrega; + var versaoServicoRecepcao = _cFgServico.VersaoRecepcaoEventosDeApuracaoDoIbsECbs; + var versaoServicoRecepcaoString = servicoNfe.VersaoServicoParaString(versaoServicoRecepcao); + + var detalhesEvento = ObterDetalhesEvento(versaoServicoRecepcaoString, versaoAplicativo, nfeTipoEvento, ufAutor, TipoAutor.taEmpresaEmitente); + detalhesEvento.dPrevEntrega = dataPrevistaEntrega; + + var informacoesEventoEnv = ObterInformacoesEventoEnv(sequenciaEvento, chaveNFe, cpfCnpj, versaoServicoRecepcaoString, cOrgao: Estado.SVRS, dataHoraEvento, nfeTipoEvento, detalhesEvento); + var evento = ObterEvento(versaoServicoRecepcaoString, informacoesEventoEnv); + + var retornoRecepcaoEvento = EnviarEObterRetornoRecepcaoEvento(idLote, servicoNfe, versaoServicoRecepcao, deveAssinar: true, evento); + + return retornoRecepcaoEvento; + } private detEvento ObterDetalhesEvento(string versaoServico, string versaoAplicativo, NFeTipoEvento nfeTipoEvento, Estado? cOrgaoAutor, TipoAutor tipoAutor) { diff --git a/NFe.Utils/Conversao.cs b/NFe.Utils/Conversao.cs index 7dc5ea847..5adaad42b 100644 --- a/NFe.Utils/Conversao.cs +++ b/NFe.Utils/Conversao.cs @@ -70,7 +70,8 @@ public static string VersaoServicoParaString(this ServicoNFe servicoNFe, VersaoS || servicoNFe == ServicoNFe.RecepcaoEventoImportacaoEmAlcZfmNaoConvertidaEmIsencao || servicoNFe == ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloAdquirente || servicoNFe == ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloFornecedor - || servicoNFe == ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado) + || servicoNFe == ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado + || servicoNFe == ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega) { return "1.00"; } diff --git a/NFe.Utils/Enderecos/Enderecador.cs b/NFe.Utils/Enderecos/Enderecador.cs index 140de180d..f0c826296 100644 --- a/NFe.Utils/Enderecos/Enderecador.cs +++ b/NFe.Utils/Enderecos/Enderecador.cs @@ -1691,7 +1691,8 @@ private static void AdicionarEnderecosDosServicosDosEventosDeApuracaoDoIbsECbs(A ServicoNFe.RecepcaoEventoImportacaoEmAlcZfmNaoConvertidaEmIsencao, ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloAdquirente, ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloFornecedor, - ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado + ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado, + ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega }; var urlsParaOsServicosDosEventosDeApuracaoDoIbsECbs = new Dictionary @@ -1789,6 +1790,7 @@ public static void CarregarEnderecos() case ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloAdquirente: case ServicoNFe.RecepcaoEventoPerecimentoPerdaRouboOuFurtoDuranteOTransporteContratadoPeloFornecedor: case ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado: + case ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega: return cfgServico.VersaoRecepcaoEventosDeApuracaoDoIbsECbs; } return null; diff --git a/NFe.Utils/Validacao/Validador.cs b/NFe.Utils/Validacao/Validador.cs index 1cfa2b7b0..80e25ef92 100644 --- a/NFe.Utils/Validacao/Validador.cs +++ b/NFe.Utils/Validacao/Validador.cs @@ -161,6 +161,8 @@ internal static string ObterArquivoSchema(ServicoNFe servicoNFe, VersaoServico v return "e112130_v1.00.xsd"; case ServicoNFe.RecepcaoEventoFornecimentoNaoRealizadoComPagamentoAntecipado: return "e112140_v1.00.xsd"; + case ServicoNFe.RecepcaoEventoAtualizacaoDataPrevisaoDeEntrega: + return "e112150_v1.00.xsd"; } return null; }