Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

- Adicionado nova Versão do layout (Versão 19) do EFD ICMS IPI. #141

Merged
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
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
Loading