Skip to content

Commit

Permalink
Preenchimento do Registro0000 com dados enviados na assinatura do con…
Browse files Browse the repository at this point in the history
…strutor do arquivo da EFD Fiscal (para a EFD Contribuições preciso avaliar melhor, pode ser que existam filiais no arquivo), e criação de enums específicos para tipos de atividade da efd fiscal e efd contrib. #81
  • Loading branch information
orochasamuel committed Sep 15, 2023
1 parent 9f9c744 commit 0a72250
Show file tree
Hide file tree
Showing 8 changed files with 157 additions and 26 deletions.
16 changes: 0 additions & 16 deletions src/FiscalBr.Common/Enums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -604,22 +604,6 @@ public enum IndPerfilArquivo
[DefaultValue("C")] C
}

/// <summary>
/// Indicador do tipo de atividade
/// </summary>
public enum IndTipoAtividade
{
/// <summary>
/// Industrial ou equiparado a industrial
/// </summary>
[DefaultValue("0")] IndustrialOuEquiparado,

/// <summary>
/// Outros
/// </summary>
[DefaultValue("1")] Outros
}

public enum IndCodMod
{
/// <summary>
Expand Down
30 changes: 30 additions & 0 deletions src/FiscalBr.Common/Sped/Enums/TipoAtivSpedContrib.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace FiscalBr.Common.Sped.Enums
{
public enum TipoAtivSpedContrib
{
/// 0 - Industrial ou equiparado a industrial; <para/>
/// 1 - Prestador de serviços; <para/>
/// 2 - Atividade de comércio; <para/>
/// 3 - Pessoas jurídicas referidas nos §§ 6º, 8º e 9º do art. 3º da Lei nº 9.718, de 1998; <para/>
/// 4 - Atividade imobiliária; <para/>
/// 9 - Outros.

/// <summary>
/// Industrial ou equiparado a industrial
/// </summary>
[DefaultValue("0")] IndustrialOuEquiparado,
[DefaultValue("1")] PrestadorServicos,
[DefaultValue("2")] AtividadeComercio,
[DefaultValue("3")] PjsLei9718de1998,
[DefaultValue("4")] AtividadeImobiliaria,
/// <summary>
/// Outros
/// </summary>
[DefaultValue("9")] Outros
}
}
20 changes: 20 additions & 0 deletions src/FiscalBr.Common/Sped/Enums/TipoAtivSpedFiscal.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace FiscalBr.Common.Sped.Enums
{
public enum TipoAtivSpedFiscal
{
/// <summary>
/// Industrial ou equiparado a industrial
/// </summary>
[DefaultValue("0")] IndustrialOuEquiparado,

/// <summary>
/// Outros
/// </summary>
[DefaultValue("1")] Outros
}
}
52 changes: 52 additions & 0 deletions src/FiscalBr.Common/ValueObjects/Empresa.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace FiscalBr.Common.ValueObjects
{
public class Empresa : ValueObject
{
protected Empresa() { }

public Empresa(string razaoSocial, string cpfCnpj, string inscEstadual)
{
RazaoSocial = razaoSocial;
CpfCnpj = cpfCnpj;
InscEstadual = inscEstadual;
}

//public SoftwareHouse(string razaoSocial, CpfCnpj cpfCnpj, Email email)
//{
// RazaoSocial = razaoSocial;
// CpfCnpj = cpfCnpj;
// Email = email;
//}

public string RazaoSocial { get; } = string.Empty;

public CpfCnpj CpfCnpj { get; } = null;

public string InscEstadual { get; } = string.Empty;

public string InscMunicipal { get; } = string.Empty;

public string InscSuframa { get; } = string.Empty;

public string CodMunicipio { get; } = string.Empty;

public string SiglaUf { get; } = string.Empty;

public override string ToString() => $"[{CpfCnpj}] {RazaoSocial}";

protected override IEnumerable<object> GetEqualityComponents()
{
yield return RazaoSocial;
yield return CpfCnpj;
yield return InscEstadual;
yield return InscMunicipal;
yield return InscSuframa;
yield return CodMunicipio;
yield return SiglaUf;
}
}
}
15 changes: 8 additions & 7 deletions src/FiscalBr.EFDContribuicoes/Bloco0.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using FiscalBr.Common;
using FiscalBr.Common.Sped;
using FiscalBr.Common.Sped.Enums;
using FiscalBr.Common.Sped.Interfaces;
using System;
using System.Collections.Generic;
Expand Down Expand Up @@ -41,14 +42,14 @@ public Registro0000() : base("0000")
/// <param name="idAtividade">Indicador de tipo de atividade preponderante</param>
public Registro0000(
CodVersaoSpedContrib cdVersao,
int tpEscrituracao,
IndCodFinalidadeArquivo tpEscrituracao,
DateTime dtInicial,
DateTime dtFinal,
string rzSocial,
string nrCnpj,
string uf,
string cdMunicipio,
int idAtividade
TipoAtivSpedContrib idAtividade
) : base("0000")
{
CodVer = cdVersao;
Expand Down Expand Up @@ -80,7 +81,7 @@ int idAtividade
/// <param name="idAtividade">Indicador de tipo de atividade preponderante</param>
public Registro0000(
CodVersaoSpedContrib cdVersao,
int tpEscrituracao,
IndCodFinalidadeArquivo tpEscrituracao,
int idSituacaoEspecial,
string nrReciboAnterior,
DateTime dtInicial,
Expand All @@ -91,7 +92,7 @@ public Registro0000(
string cdMunicipio,
string suframa,
int idNaturezaPj,
int idAtividade
TipoAtivSpedContrib idAtividade
) : base("0000")
{
CodVer = cdVersao;
Expand Down Expand Up @@ -119,11 +120,11 @@ int idAtividade
/// Tipo de escrituração:
/// <remarks>
/// 0 - Original; <para/>
/// 1 - Retificadora.2
/// 1 - Retificadora.
/// </remarks>
/// </summary>
[SpedCampos(3, "TIPO_ESCRIT", "N", 1, 0, true, 2)]
public int TipoEscrit { get; set; }
public IndCodFinalidadeArquivo TipoEscrit { get; set; }

/// <summary>
/// Indicador de situação especial:
Expand Down Expand Up @@ -212,7 +213,7 @@ int idAtividade
/// </remarks>
/// </summary>
[SpedCampos(14, "IND_ATIV", "N", 1, 0, true, 2)]
public int IndAtiv { get; set; }
public TipoAtivSpedContrib IndAtiv { get; set; }
}

/// <summary>
Expand Down
44 changes: 44 additions & 0 deletions src/FiscalBr.EFDFiscal/ArquivoEFDFiscalV2.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
using FiscalBr.Common;
using FiscalBr.Common.Sped;
using FiscalBr.Common.Sped.Enums;
using FiscalBr.Common.Sped.Interfaces;
using FiscalBr.Common.ValueObjects;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down Expand Up @@ -29,6 +32,47 @@ public ArquivoEFDFiscalV2(
{
}

public ArquivoEFDFiscalV2(
Empresa dadosEmpresa,
DateTime dataInicial,
DateTime dataFinal,
IndCodFinalidadeArquivo finalidadeArquivo = IndCodFinalidadeArquivo.RemessaArquivoOriginal,
IndPerfilArquivo perfilArquivo = IndPerfilArquivo.A,
TipoAtivSpedFiscal tipoAtividade = TipoAtivSpedFiscal.Outros,
VersaoLeiauteSped versaoLeiaute = VersaoLeiauteSped.V17
) : base(
LeiauteArquivoSped.EFDFiscal,
versaoLeiaute
)
{
if (this.Bloco0 is null)
this.Bloco0 = new FiscalBr.EFDFiscal.Bloco0();

if (this.Bloco0.Reg0000 is null)
this.Bloco0.Reg0000 = new FiscalBr.EFDFiscal.Bloco0.Registro0000();

this.Bloco0.Reg0000.CodVer = (CodVersaoSpedFiscal)ObterEnumVersaoLeiaute();
this.Bloco0.Reg0000.CodFin = finalidadeArquivo;
this.Bloco0.Reg0000.DtIni = dataInicial;
this.Bloco0.Reg0000.DtFin = dataFinal;
this.Bloco0.Reg0000.Nome = dadosEmpresa.RazaoSocial;

if (dadosEmpresa.CpfCnpj.EhCpf)
this.Bloco0.Reg0000.Cpf = dadosEmpresa.CpfCnpj.Numero;
else
this.Bloco0.Reg0000.Cnpj = dadosEmpresa.CpfCnpj.Numero;

this.Bloco0.Reg0000.Ie = dadosEmpresa.InscEstadual;
this.Bloco0.Reg0000.Im = dadosEmpresa.InscMunicipal;
this.Bloco0.Reg0000.Suframa = dadosEmpresa.InscSuframa;

this.Bloco0.Reg0000.Uf = dadosEmpresa.SiglaUf;
this.Bloco0.Reg0000.CodMun = dadosEmpresa.CodMunicipio;

this.Bloco0.Reg0000.IndPerfil = perfilArquivo;
this.Bloco0.Reg0000.IndAtiv = tipoAtividade;
}

public ArquivoEFDFiscalV2(
string nomeSoftwareHouse,
VersaoLeiauteSped versaoLeiaute = VersaoLeiauteSped.V17
Expand Down
2 changes: 1 addition & 1 deletion src/FiscalBr.EFDFiscal/Bloco0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public Registro0000() : base("0000")
/// 1 - Outros.
/// </summary>
[SpedCampos(15, "IND_ATIV", "N", 1, 0, true, 2)]
public IndTipoAtividade IndAtiv { get; set; }
public TipoAtivSpedFiscal IndAtiv { get; set; }

#endregion Propriedades

Expand Down
4 changes: 2 additions & 2 deletions tests/FiscalBr.Test/Sped/Bloco0/Bloco0Registro000Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void Escrever_Registro_0000_EFDFiscal()
Ie = "123456789",
CodMun = "5204508",
IndPerfil = IndPerfilArquivo.A,
IndAtiv = IndTipoAtividade.Outros
IndAtiv = Common.Sped.Enums.TipoAtivSpedFiscal.Outros
};

var currentResult = Common.Sped.EscreverCamposSped.EscreverCampos(source, VersaoLeiauteSped.V15);
Expand Down Expand Up @@ -58,7 +58,7 @@ public void Escrever_Registro_0000_EFDFiscal_VNova()
Ie = "123456789",
CodMun = "5204508",
IndPerfil = IndPerfilArquivo.A,
IndAtiv = IndTipoAtividade.Outros
IndAtiv = Common.Sped.Enums.TipoAtivSpedFiscal.Outros
};

var efd = new ArquivoEFDFiscalV2(VersaoLeiauteSped.V15);
Expand Down

0 comments on commit 0a72250

Please sign in to comment.