Skip to content
This repository was archived by the owner on Nov 2, 2021. It is now read-only.

Commit 83e8482

Browse files
committed
Update#005 | Implementações diversas
+ Registro 60D; + Registro 61R; + Registro 70; + Registro 74; e + Registro 75.
1 parent e17124e commit 83e8482

File tree

6 files changed

+443
-0
lines changed

6 files changed

+443
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using SintegraBr.Common;
7+
8+
namespace SintegraBr.Classes
9+
{
10+
public class Registro60D : RegistroBaseSintegra
11+
{
12+
public Registro60D()
13+
{
14+
Tipo = "60";
15+
}
16+
17+
/// <summary>
18+
/// Subtipo "D"
19+
/// </summary>
20+
[SintegraCampos(2, "SUBTIPO", "X", 1, 0, true)]
21+
public string Subtipo { get; set; } = "D";
22+
23+
/// <summary>
24+
/// Data de emissão do documento fiscal
25+
/// </summary>
26+
[SintegraCampos(3, "DATA DE EMISSÃO", "N", 8, 0, true)]
27+
public DateTime DataEmissao { get; set; }
28+
29+
/// <summary>
30+
/// Número de série de fabricação do equipamento
31+
/// </summary>
32+
[SintegraCampos(4, "NÚM. SÉRIE FAB.", "X", 20, 0, true)]
33+
public string NumFabricacao { get; set; }
34+
35+
/// <summary>
36+
/// Código da mercadoria/produto ou serviço do informante
37+
/// </summary>
38+
[SintegraCampos(5, "CÓD. PRODUTO/SERVIÇO", "X", 14, 0, true)]
39+
public string CodItem { get; set; }
40+
41+
/// <summary>
42+
/// Quantidade da mercadoria/produto
43+
/// </summary>
44+
[SintegraCampos(6, "QUANTIDADE", "N", 13, 3, true)]
45+
public decimal Quantidade { get; set; }
46+
47+
/// <summary>
48+
/// Valor líquido (valor bruto menos descontos) da mercadoria/produto
49+
/// </summary>
50+
[SintegraCampos(7, "VALOR PRODUTO/SERVIÇO", "N", 16, 2, true)]
51+
public decimal ValorItem { get; set; }
52+
53+
/// <summary>
54+
/// Base de cálculo do ICMS do item
55+
/// </summary>
56+
[SintegraCampos(8, "BASE CÁLCULO ICMS", "N", 16, 2, false)]
57+
public decimal? BaseCalculoIcms { get; set; }
58+
59+
/// <summary>
60+
/// Identificador da situação tributária/alíquota do ICMS
61+
/// </summary>
62+
[SintegraCampos(9, "SITUAÇÃO TRIBUTÁRIA", "X", 4, 0, true)]
63+
public string SituacaoTributaria { get; set; }
64+
65+
/// <summary>
66+
/// Montante do imposto
67+
/// </summary>
68+
[SintegraCampos(10, "VALOR DO ICMS", "N", 13, 2, false)]
69+
public decimal? ValorIcms { get; set; }
70+
71+
/// <summary>
72+
/// Brancos
73+
/// </summary>
74+
[SintegraCampos(11, "BRANCOS", "X", 19, 0, true)]
75+
public string Brancos
76+
{
77+
get
78+
{
79+
return new string(' ', 19);
80+
}
81+
}
82+
}
83+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using SintegraBr.Common;
7+
8+
namespace SintegraBr.Classes
9+
{
10+
public class Registro61R : RegistroBaseSintegra
11+
{
12+
public Registro61R()
13+
{
14+
Tipo = "61";
15+
}
16+
17+
/// <summary>
18+
/// Subtipo "R"
19+
/// </summary>
20+
[SintegraCampos(2, "SUBTIPO", "X", 1, 0, true)]
21+
public string Subtipo { get; set; } = "R";
22+
23+
/// <summary>
24+
/// Mês e ano de emissão dos documentos fiscais
25+
/// *OBS: Formato DP = Data Parcial
26+
/// </summary>
27+
[SintegraCampos(3, "MÊS/ANO EMISSÃO", "DP", 6, 0, true)]
28+
public DateTime DataEmissao { get; set; }
29+
30+
/// <summary>
31+
/// Código da mercadoria/produto do informante
32+
/// </summary>
33+
[SintegraCampos(4, "CÓD. PRODUTO", "X", 14, 0, true)]
34+
public string CodItem { get; set; }
35+
36+
/// <summary>
37+
/// Quantidade da mercadoria/produto acumulada vendida no mês
38+
/// </summary>
39+
[SintegraCampos(5, "QUANTIDADE", "N", 13, 3, true)]
40+
public decimal Quantidade { get; set; }
41+
42+
/// <summary>
43+
/// Valor bruto do produto acumulado da venda do produto no mês
44+
/// </summary>
45+
[SintegraCampos(6, "VALOR PRODUTO/SERVIÇO", "N", 16, 2, true)]
46+
public decimal ValorItem { get; set; }
47+
48+
/// <summary>
49+
/// Base de cálculo do ICMS acumulada no mês
50+
/// </summary>
51+
[SintegraCampos(7, "BASE CÁLCULO ICMS", "N", 16, 2, false)]
52+
public decimal? BaseCalculoIcms { get; set; }
53+
54+
/// <summary>
55+
/// Montante do imposto
56+
/// </summary>
57+
[SintegraCampos(8, "ALIQUOTA DO PRODUTO", "N", 4, 2, false)]
58+
public decimal? AliquotaIcms { get; set; }
59+
60+
/// <summary>
61+
/// Brancos
62+
/// </summary>
63+
[SintegraCampos(9, "BRANCOS", "X", 54, 0, true)]
64+
public string Brancos
65+
{
66+
get
67+
{
68+
return new string(' ', 54);
69+
}
70+
}
71+
}
72+
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using SintegraBr.Common;
7+
8+
namespace SintegraBr.Classes
9+
{
10+
/// <summary>
11+
/// REGISTRO TIPO 70 - OPERAÇÕES DE TRANSPORTE
12+
/// </summary>
13+
public class Registro70 : RegistroBaseSintegra
14+
{
15+
public Registro70()
16+
{
17+
Tipo = "70";
18+
}
19+
20+
/// <summary>
21+
/// CNPJ do emitente do documento, no caso de aquisição de serviço; CNPJ do tomador do serviço, no caso de emissão do documento
22+
/// </summary>
23+
[SintegraCampos(2, "CNPJ", "N", 14, 0, true)]
24+
public string Cnpj { get; set; }
25+
26+
/// <summary>
27+
/// Inscrição estadual do emitente do documento, no caso de aquisição de serviço; Inscrição estadual do tomador do serviço, no caso de emissão do documento
28+
/// </summary>
29+
[SintegraCampos(3, "INSCRICAO ESTADUAL", "X", 14, 0, true)]
30+
public string InscrEstadual { get; set; }
31+
32+
/// <summary>
33+
/// Data de emissão para o prestador, ou data de utilização do serviço para o tomador
34+
/// </summary>
35+
[SintegraCampos(4, "DATE DE EMISSÃO/UTILIZAÇÃO", "N", 8, 0, true)]
36+
public DateTime DataEmissaoRecebimento { get; set; }
37+
38+
/// <summary>
39+
/// Sigla da unidade da federação do emitente do documento, no caso de aquisição de serviço, ou do tomador do serviço, no caso de emissão do documento
40+
/// </summary>
41+
[SintegraCampos(5, "UF", "X", 2, 0, true)]
42+
public string Uf { get; set; }
43+
44+
/// <summary>
45+
/// Código do modelo da nota fiscal
46+
/// </summary>
47+
[SintegraCampos(6, "MODELO", "N", 2, 0, true)]
48+
public int Modelo { get; set; }
49+
50+
/// <summary>
51+
/// Série da nota fiscal
52+
/// </summary>
53+
[SintegraCampos(7, "SERIE", "X", 1, 0, true)]
54+
public string Serie { get; set; }
55+
56+
/// <summary>
57+
/// Série da nota fiscal
58+
/// </summary>
59+
[SintegraCampos(8, "SUBSERIE", "X", 2, 0, true)]
60+
public string Subserie { get; set; }
61+
62+
/// <summary>
63+
/// Número da nota fiscal
64+
/// </summary>
65+
[SintegraCampos(9, "NUMERO", "N", 6, 0, true)]
66+
public int Numero { get; set; }
67+
68+
/// <summary>
69+
/// Código fiscal de operação ou prestação
70+
/// </summary>
71+
[SintegraCampos(10, "CFOP", "N", 4, 0, true)]
72+
public int Cfop { get; set; }
73+
74+
/// <summary>
75+
/// Valor total do documento fiscal (com 2 decimais)
76+
/// </summary>
77+
[SintegraCampos(11, "VALOR TOTAL", "N", 13, 2, true)]
78+
public decimal ValorTotal { get; set; }
79+
80+
/// <summary>
81+
/// Base de cálculo do ICMS (com 2 decimais)
82+
/// </summary>
83+
[SintegraCampos(12, "BASE DE CALCULO", "N", 14, 2, false)]
84+
public decimal? BaseCalculoIcms { get; set; }
85+
86+
/// <summary>
87+
/// Montante do imposto (com 2 decimais)
88+
/// </summary>
89+
[SintegraCampos(13, "VALOR DO ICMS", "N", 14, 2, false)]
90+
public decimal? ValorIcms { get; set; }
91+
92+
/// <summary>
93+
/// Valor amparado por isenção ou não incidência (com 2 decimais)
94+
/// </summary>
95+
[SintegraCampos(14, "ISENTA OU NÃO TRIBUTADA", "N", 14, 2, false)]
96+
public decimal? ValorIsentaOuNaoTributadas { get; set; }
97+
98+
/// <summary>
99+
/// Valor que não confira débito ou crédito do ICMS (com 2 decimais)
100+
/// </summary>
101+
[SintegraCampos(15, "OUTRAS", "N", 14, 2, false)]
102+
public decimal? ValorOutras { get; set; }
103+
104+
/// <summary>
105+
/// Modalidade do frete
106+
/// 1 - CIF
107+
/// 2 - FOB
108+
/// 0 - OUTROS
109+
/// </summary>
110+
[SintegraCampos(16, "CIF/FOB/OUTROS", "N", 1, 0, true)]
111+
public int ModalidadeFrete{ get; set; }
112+
113+
/// <summary>
114+
/// Situação da nota fiscal
115+
/// TODO: Criar "extrator" de valores do Enum para esses casos.
116+
/// </summary>
117+
[SintegraCampos(17, "SITUACAO DA NOTA FISCAL", "X", 1, 0, true)]
118+
public string Situacao { get; set; }
119+
}
120+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using SintegraBr.Common;
7+
8+
namespace SintegraBr.Classes
9+
{
10+
/// <summary>
11+
/// REGISTRO TIPO 74 - REGISTRO DE INVENTÁRIO
12+
/// </summary>
13+
public class Registro74 : RegistroBaseSintegra
14+
{
15+
public Registro74()
16+
{
17+
Tipo = "74";
18+
}
19+
20+
/// <summary>
21+
/// Data do inventário no formato AAAAMMDD
22+
/// </summary>
23+
[SintegraCampos(2, "DATA DO INVENTÁRIO", "DI", 8, 0, true)]
24+
public DateTime DataInventario { get; set; }
25+
26+
/// <summary>
27+
/// Código do produto do informante
28+
/// </summary>
29+
[SintegraCampos(3, "CÓDIGO DO PRODUTO", "X", 14, 0, true)]
30+
public string CodigoProduto { get; set; }
31+
32+
/// <summary>
33+
/// Quantidade do produto
34+
/// </summary>
35+
[SintegraCampos(4, "QUANTIDADE", "N", 13, 3, true)]
36+
public decimal Quantidade { get; set; }
37+
38+
/// <summary>
39+
/// Valor bruto do produto (valor unit. x quant.)
40+
/// </summary>
41+
[SintegraCampos(5, "VALOR DO PRODUTO", "N", 13, 2, true)]
42+
public decimal ValorProduto { get; set; }
43+
44+
/// <summary>
45+
/// Código de posse das mercadorias inventariadas
46+
/// 1 - Propriedade do informante e em seu poder.
47+
/// 2 - Propriedade do informante e em poder de terceiros.
48+
/// 3 - Propriedade de terceiros e em poder do informante.
49+
/// </summary>
50+
[SintegraCampos(6, "CÓDIGO DE POSSE DAS MERCADORIAS", "X", 1, 0, true)]
51+
public string CodigoPosseMerc { get; set; }
52+
53+
/// <summary>
54+
/// CNPJ do possuidor da mercadoria de propriedade do informante, ou do proprietario da mercadoria em poder do informante
55+
/// </summary>
56+
[SintegraCampos(7, "CNPJ DO PROPRIETÁRIO", "N", 14, 0, true)]
57+
public string CnpjProprietario { get; set; }
58+
59+
/// <summary>
60+
/// Inscrição estadual do possuidor da mercadoria em propriedade do informante, ou do proprietário da mercadoria em poder do informante
61+
/// </summary>
62+
[SintegraCampos(8, "INSCRIÇÃO ESTADUAL DO PROPRIETÁRIO", "X", 14, 0, true)]
63+
public string InscrEstadualProprietario { get; set; }
64+
65+
/// <summary>
66+
/// Unidade da federação do possuidor da mercadoria de propriedade do informante, ou do proprietário da mercadoria em poder do informante
67+
/// </summary>
68+
[SintegraCampos(9, "UF DO PROPRIETÁRIO", "X", 2, 0, true)]
69+
public string UfProprietario { get; set; }
70+
71+
/// <summary>
72+
/// Brancos
73+
/// </summary>
74+
[SintegraCampos(10, "BRANCOS", "X", 45, 0, true)]
75+
public string Brancos
76+
{
77+
get
78+
{
79+
return new string(' ', 45);
80+
}
81+
}
82+
}
83+
}

0 commit comments

Comments
 (0)