Skip to content

Commit

Permalink
Merge pull request #141 from esistemsistemas/alteracao_leiaute_sped
Browse files Browse the repository at this point in the history
- Adicionado nova Versão do layout (Versão 19) do EFD ICMS IPI.
  • Loading branch information
orochasamuel authored Feb 6, 2025
2 parents 864a997 + 9f4885b commit 83b794a
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 9 deletions.
14 changes: 11 additions & 3 deletions src/FiscalBr.Common/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,8 @@ public enum VersaoLeiauteSped
[DefaultValue("15")] V15,
[DefaultValue("16")] V16,
[DefaultValue("17")] V17,
[DefaultValue("18")] V18
[DefaultValue("18")] V18,
[DefaultValue("19")] V19
}

public enum CodVersaoSpedECD
Expand Down Expand Up @@ -464,10 +465,17 @@ public enum CodVersaoSpedFiscal

/// <summary>
/// Código: 018
/// Versão: 1.16
/// Versão: 1.17
/// Validade: 01/01/2024 - 31/12/2024
/// </summary>
[DefaultValue("018")] V18
[DefaultValue("018")] V18,

/// <summary>
/// Código: 019
/// Versão: 1.18
/// Validade: 01/01/2025 - 31/12/2025
/// </summary>
[DefaultValue("019")] V19
}

public enum SimOuNao
Expand Down
2 changes: 2 additions & 0 deletions src/FiscalBr.Common/Sped/ArquivoSpedV2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -757,6 +757,8 @@ public virtual Enum ObterEnumVersaoLeiaute()
return CodVersaoSpedFiscal.V17;
case VersaoLeiauteSped.V18:
return CodVersaoSpedFiscal.V18;
case VersaoLeiauteSped.V19:
return CodVersaoSpedFiscal.V19;
}
break;
}
Expand Down
21 changes: 17 additions & 4 deletions src/FiscalBr.EFDFiscal/BlocoD.cs
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,7 @@ public RegistroD120() : base("D120")

/// <summary>
/// REGISTRO D130: COMPLEMENTO DO CONHECIMENTO RODOVIÁRIO DE CARGAS (CÓDIGO 08) E DO CONHECIMENTO RODOVIÁRIO DE CARGAS AVULSO (CÓDIGO 8B)
/// E DO CONHECIMENTO DE TRANSPORTE ELETRÔNICO SIMPLIFICADO(CÓDIGO 57)
/// </summary>
public class RegistroD130 : RegistroSped
{
Expand Down Expand Up @@ -3166,7 +3167,7 @@ public RegistroD700() : base("D700")
/// 3 - NFCom de Substituição;
/// 4 - NFCom de Ajuste;
/// </summary>
[SpedCampos(23, "FIN_DOCe", "N", 1, 0, false, 17)]
[SpedCampos(23, "FIN_DOCe", "N", 1, 0, true, 17)]
public int FinDoce { get; set; }

/// <summary>
Expand All @@ -3175,7 +3176,7 @@ public RegistroD700() : base("D700")
/// 1 - Faturamento centralizado;
/// 4 - 2 - Cofaturamento
/// </summary>
[SpedCampos(24, "TIP_FAT", "N", 1, 0, false, 17)]
[SpedCampos(24, "TIP_FAT", "N", 1, 0, true, 17)]
public int TipFat { get; set; }

/// <summary>
Expand Down Expand Up @@ -3222,6 +3223,12 @@ public RegistroD700() : base("D700")
[SpedCampos(31, "COD_MUN_DEST", "N", 7, 0, true, 17)]
public string CodMunDes { get; set; }

/// <summary>
/// Deduções.
/// </summary>
[SpedCampos(32, "DED", "N", int.MaxValue, 2, false, 19)]
public decimal Ded { get; set; }

public RegistroD730 RegD730 { get; set; }
public RegistroD731 RegD731 { get; set; }
public RegistroD735 RegD735 { get; set; }
Expand Down Expand Up @@ -3500,14 +3507,20 @@ public RegistroD750() : base("D750")
/// <summary>
/// Valor total do PIS.
/// </summary>
[SpedCampos(15, "VL_PIS", "N", 0, 2, true, 17)]
[SpedCampos(15, "VL_PIS", "N", 0, 2, false, 17)]
public decimal VlPis { get; set; }

/// <summary>
/// Valor total da COFINS.
/// </summary>
[SpedCampos(16, "VL_COFINS", "N", 0, 2, true, 17)]
[SpedCampos(16, "VL_COFINS", "N", 0, 2, false, 17)]
public decimal VlCofins { get; set; }

/// <summary>
/// Deduções.
/// </summary>
[SpedCampos(17, "DED", "N", int.MaxValue, 2, false, 19)]
public decimal Ded { get; set; }
}

/// <summary>
Expand Down
34 changes: 34 additions & 0 deletions tests/FiscalBr.Test/Sped/Bloco0/Bloco0Registro000Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,5 +101,39 @@ public void Escrever_Registro_0000_EFDFiscal_V18()

Assert.Equal(expectedResult, currentResult);
}

[Fact]
public void Escrever_Registro_0000_EFDFiscal_V19()
{
var initialDate = DateTime.Now.AddDays(-(DateTime.Now.Day - 1)).Date;
var finalDate = initialDate.AddMonths(1).AddDays(-1);

var formatedInitialDate = initialDate.ToString(new CultureInfo("pt-BR")).Replace("/", "").Split(" ")[0];
var formatedFinalDate = finalDate.ToString(new CultureInfo("pt-BR")).Replace("/", "").Split(" ")[0];

var expectedResult =
$"|0000|019|0|{formatedInitialDate}|{formatedFinalDate}|BANCO DO BRASIL S.A.|00000000000191||GO|123456789|5204508|||A|1|{Environment.NewLine}";

var source = new EFDFiscal.Bloco0.Registro0000
{
CodVer = CodVersaoSpedFiscal.V19,
CodFin = IndCodFinalidadeArquivo.RemessaArquivoOriginal,
DtIni = initialDate,
DtFin = finalDate,
Nome = "BANCO DO BRASIL S.A.",
Cnpj = "00000000000191",
Uf = "GO",
Ie = "123456789",
CodMun = "5204508",
IndPerfil = IndPerfilArquivo.A,
IndAtiv = Common.Sped.Enums.TipoAtivSpedFiscal.Outros
};

var efd = new ArquivoEFDFiscalV2(VersaoLeiauteSped.V19);

var currentResult = efd.EscreverLinha(source);

Assert.Equal(expectedResult, currentResult);
}
}
}
4 changes: 2 additions & 2 deletions tests/FiscalBr.Test/Sped/Enums/CodigoVersaoLeiauteSpedTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public void ObterIntVersaoEFDContribTest(VersaoLeiauteSped? v, int versaoEsperad

[Theory]
[InlineData(VersaoLeiauteSped.V2, CodVersaoSpedFiscal.V2)]
[InlineData(null, CodVersaoSpedFiscal.V18)]
[InlineData(null, CodVersaoSpedFiscal.V19)]
public void ObterEnumVersaoEFDFiscalTest(VersaoLeiauteSped? v, CodVersaoSpedFiscal? resultadoEsperado)
{
var maiorVersao = (int)EnumHelpers.GetEnumMaxValue<CodVersaoSpedFiscal>();
Expand Down Expand Up @@ -141,7 +141,7 @@ public void ObterNumeroVersoesEFDContribTest(int qtdEsperada)
}

[Theory]
[InlineData(17)]
[InlineData(18)]
public void ObterNumeroVersoesEFDFiscalTest(int qtdEsperada)
{
var efd = new ArquivoEFDFiscalV2();
Expand Down

0 comments on commit 83b794a

Please sign in to comment.