Documentation
¶
Index ¶
- Constants
- Variables
- func IRRFIsentoVendaMes(ops iter.Seq[OperacaoConsolidada], limit decimal.Decimal) decimal.Decimal
- func ImportarNotas(dir string, w io.Writer) error
- func LucroIsentoVendaAno(ops iter.Seq[OperacaoConsolidada], limit decimal.Decimal) decimal.Decimal
- func LucroIsentoVendaMes(ops iter.Seq[OperacaoConsolidada], limit decimal.Decimal) decimal.Decimal
- func ReadLines(r io.Reader) (iter.Seq[[]byte], error)
- func ReadLinesSorted(r io.Reader) (iter.Seq[[]byte], error)
- type Acoes
- type Agregado
- type BemDireito
- type BemDireitoStrategy
- func (v *BemDireitoStrategy) SituacaoAnoCorrente(ano iter.Seq[OperacaoConsolidada]) map[string]BensDireitoTicker
- func (v *BemDireitoStrategy) VisitBemDireito(ano []OperacaoConsolidada)
- func (v *BemDireitoStrategy) VisitBemDireito0301(ano []OperacaoConsolidada)
- func (v *BemDireitoStrategy) VisitBemDireito0404(ano []OperacaoConsolidada, label string)
- func (v *BemDireitoStrategy) VisitBemDireito9907(ano []OperacaoConsolidada)
- type BensDireitoTicker
- type BensDireitosStrategy
- type Carteira
- func (c *Carteira) BensDireitos() []BemDireito
- func (c *Carteira) CommandLine(r io.Reader, w io.Writer) error
- func (c *Carteira) Consolidar(all []OperacaoDesconsolidada)
- func (c *Carteira) DividaOnusReais() []BemDireito
- func (c *Carteira) Load(file string) error
- func (c *Carteira) OperacoesComunsDayTradeDayTrade() []RendimentosTributaveis
- func (c *Carteira) OperacoesComunsDayTradeSwingTrade() []RendimentosTributaveis
- func (c *Carteira) Print(frmt string, w io.Writer)
- func (c *Carteira) Read(r io.Reader) error
- func (c *Carteira) RendimentosIsentosNaoTributaveis() []RendimentosIsentosNaoTributaveis
- func (c *Carteira) RendimentosSujeitosTributacaoExclusiva() []RendimentosIsentosNaoTributaveis
- type Config
- type Consolidador
- func (c *Consolidador) Consolidar(o OperacaoDesconsolidada) OperacaoConsolidada
- func (*Consolidador) VisitAluguel(*Operacao)
- func (c *Consolidador) VisitBonificacao(o *Operacao)
- func (c *Consolidador) VisitCompra(o *Operacao)
- func (c *Consolidador) VisitCompraCall(o *Operacao)
- func (c *Consolidador) VisitCompraCallExercida(o *Operacao)
- func (c *Consolidador) VisitCompraCallNaoExercida(o *Operacao)
- func (c *Consolidador) VisitCompraPut(o *Operacao)
- func (c *Consolidador) VisitCompraPutExercida(o *Operacao)
- func (c *Consolidador) VisitCompraPutNaoExercida(o *Operacao)
- func (c *Consolidador) VisitDesdobramento(o *Operacao)
- func (*Consolidador) VisitDividendos(*Operacao)
- func (c *Consolidador) VisitGrupamento(o *Operacao)
- func (*Consolidador) VisitJSCP(*Operacao)
- func (*Consolidador) VisitJSCPNaoPago(*Operacao)
- func (c *Consolidador) VisitLeilaoFracao(o *Operacao)
- func (c *Consolidador) VisitReducaoCapital(o *Operacao)
- func (*Consolidador) VisitReembolso(*Operacao)
- func (*Consolidador) VisitRendTrib(*Operacao)
- func (c *Consolidador) VisitSubscricaoCompra(o *Operacao)
- func (c *Consolidador) VisitSubscricaoExercicio(o *Operacao)
- func (c *Consolidador) VisitSubscricaoVenda(o *Operacao)
- func (c *Consolidador) VisitVenda(o *Operacao)
- func (c *Consolidador) VisitVendaCall(o *Operacao)
- func (c *Consolidador) VisitVendaCallExercida(o *Operacao)
- func (c *Consolidador) VisitVendaCallNaoExercida(o *Operacao)
- func (c *Consolidador) VisitVendaPut(o *Operacao)
- func (c *Consolidador) VisitVendaPutExercida(o *Operacao)
- func (c *Consolidador) VisitVendaPutNaoExercida(o *Operacao)
- type DividaOnusReaisStrategy
- type GrupoCodigo
- type ImportadorNotas
- type Operacao
- type OperacaoAnual
- type OperacaoConsolidada
- type OperacaoDesconsolidada
- type OperacaoMensal
- type Operavel
- type Param
- type PrinterCSV
- func (p *PrinterCSV) PrintBensDireitos(w io.Writer)
- func (p *PrinterCSV) PrintDividaOnusReais(w io.Writer)
- func (p *PrinterCSV) PrintOperacoesComAcoes(w io.Writer)
- func (p *PrinterCSV) PrintOperacoesComunsDayTrade(w io.Writer)
- func (p *PrinterCSV) PrintRendimentosIsentosNaoTributaveis(w io.Writer)
- func (p *PrinterCSV) PrintRendimentosSujeitosTributacaoExclusiva(w io.Writer)
- type PrinterTable
- func (p *PrinterTable) PrintBensDireitos(w io.Writer)
- func (p *PrinterTable) PrintDividaOnusReais(w io.Writer)
- func (p *PrinterTable) PrintOperacoesComAcoes(w io.Writer)
- func (p *PrinterTable) PrintOperacoesComunsDayTrade(w io.Writer)
- func (p *PrinterTable) PrintRendimentosIsentosNaoTributaveis(w io.Writer)
- func (p *PrinterTable) PrintRendimentosSujeitosTributacaoExclusiva(w io.Writer)
- type RendimentoIsentoNaoTributavel
- type RendimentoIsentosAteLimiteMensal
- type RendimentoTributavelMensal
- type RendimentosIsentosAteLimite
- type RendimentosIsentosNaoTributaveis
- type RendimentosTributaveis
- type Tipo
- type Tonfig
- type TonfigMap
- type Visitor
Constants ¶
View Source
const ( GrupoParticipacaoSocietaria = "03" GrupoAplicacaoInvestimento = "04" GrupoOutros = "99" // Bens e Direitos. CodigoAcoes = "01" CodigoOpcoes = "04" CodigoJSCPNaoPagos = "07" // Rendimento Isento e Não Tributável. CodigoDividendos = "09" CodigoBonificacao = "18" CodigoIsencaoAte20k = "20" CodigoRINTOutros = "99" // Rendimento Sujeito à Tributação Exclusiva/Definitiva. CodigoRendimentos = "06" CodigoJSCP = "10" CodigoRSTEOutros = "99" // Dívida e Ônus Reais. CodigoOutrasDividasOnusReais = "16" )
Variables ¶
View Source
var DefaultConfig2025 = Config{ AlterarPrecoMedioNaBonificacao: false, LimiteVendaIsenta: decimal.RequireFromString("20000"), SwingTradeIR: decimal.RequireFromString("0.15"), SwingTradeIRRF: decimal.RequireFromString("0.00005"), DayTradeIR: decimal.RequireFromString("0.20"), DayTradeIRRF: decimal.RequireFromString("0.01"), }
View Source
var DefaultConfigByYear = map[int]Config{}
View Source
var DefaultParam = Param{ SeparadorDecimal: ",", FormatoData: time.DateOnly, MostrarValorExato: false, FiltrarAno: 0, FiltrarTicker: "", }
View Source
var DefaultTonfig2025 = TonfigMap{ COMPRA: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, }, VENDA: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, RendimentoIsentoNaoTributavel: GrupoCodigo{Codigo: CodigoIsencaoAte20k, Descr: "Isenção até R$ 20000", Agregar: true}, PrejuizoAbativel: true, LucroTributavel: true, }, BONIFICACAO: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, RendimentoIsentoNaoTributavel: GrupoCodigo{Codigo: CodigoBonificacao, Descr: "Bonificação"}, }, DESDOBRAMENTO: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, }, GRUPAMENTO: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, }, LEILAO_FRACAO: { RendimentoIsentoNaoTributavel: GrupoCodigo{Codigo: CodigoRINTOutros, Descr: "Leilão de Fração"}, PrejuizoAbativel: true, }, DIVIDENDOS: { RendimentoIsentoNaoTributavel: GrupoCodigo{Codigo: CodigoDividendos, Descr: "Dividendos"}, }, REEMBOLSO: { RendimentoIsentoNaoTributavel: GrupoCodigo{Codigo: CodigoRINTOutros, Descr: "Reembolso de proventos", Agregar: true}, }, JSCP: { RendimentoSujeitoTributacaoExclusiva: GrupoCodigo{Codigo: CodigoJSCP, Descr: "JSCP"}, }, JSCP_NAO_PAGO: { BensDireitos: GrupoCodigo{Grupo: GrupoOutros, Codigo: CodigoJSCPNaoPagos}, RendimentoSujeitoTributacaoExclusiva: GrupoCodigo{Codigo: CodigoJSCP, Descr: "JSCP Não Pago"}, }, REND_TRIB: { RendimentoSujeitoTributacaoExclusiva: GrupoCodigo{Codigo: CodigoRSTEOutros, Descr: "Rendimento Tributável"}, }, ALUGUEL: { RendimentoSujeitoTributacaoExclusiva: GrupoCodigo{Codigo: CodigoRendimentos, Descr: "Aluguel de Ações"}, }, REDUCAO_CAPITAL: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, PrejuizoAbativel: true, }, SUBSCRICAO_COMPRA: {}, SUBSCRICAO_VENDA: { LucroTributavel: true, PrejuizoAbativel: true, }, SUBSCRICAO_COMPRA_EX: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, }, PUT_VENDA: { DividaOnusReais: GrupoCodigo{Codigo: CodigoOutrasDividasOnusReais}, LucroTributavel: false, }, PUT_VENDA_EX: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, PrejuizoAbativel: true, }, PUT_VENDA_NE: { LucroTributavel: true, }, PUT_COMPRA: { BensDireitos: GrupoCodigo{Grupo: GrupoAplicacaoInvestimento, Codigo: CodigoOpcoes}, PrejuizoAbativel: false, }, PUT_COMPRA_EX: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, LucroTributavel: true, PrejuizoAbativel: true, }, PUT_COMPRA_NE: { PrejuizoAbativel: true, }, CALL_VENDA: { DividaOnusReais: GrupoCodigo{Codigo: CodigoOutrasDividasOnusReais}, LucroTributavel: false, }, CALL_VENDA_EX: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, LucroTributavel: true, PrejuizoAbativel: true, }, CALL_VENDA_NE: { LucroTributavel: true, }, CALL_COMPRA: { BensDireitos: GrupoCodigo{Grupo: GrupoAplicacaoInvestimento, Codigo: CodigoOpcoes}, PrejuizoAbativel: false, }, CALL_COMPRA_EX: { BensDireitos: GrupoCodigo{Grupo: GrupoParticipacaoSocietaria, Codigo: CodigoAcoes}, LucroTributavel: false, PrejuizoAbativel: false, }, CALL_COMPRA_NE: { PrejuizoAbativel: true, }, }
View Source
var DefaultTonfigByYear = map[int]TonfigMap{}
Functions ¶
func IRRFIsentoVendaMes ¶
func LucroIsentoVendaAno ¶
func LucroIsentoVendaMes ¶
Types ¶
type Acoes ¶
type Acoes []OperacaoAnual
type Agregado ¶
func (*Agregado) CalcPrecoMedio ¶
func (a *Agregado) CalcPrecoMedio()
type BemDireito ¶
type BemDireito struct {
AnoAnterior int
AnoCorrente int
Tickers []BensDireitoTicker
}
type BemDireitoStrategy ¶
type BemDireitoStrategy struct {
Curr map[string]BensDireitoTicker
Param *Param
// contains filtered or unexported fields
}
func (*BemDireitoStrategy) SituacaoAnoCorrente ¶
func (v *BemDireitoStrategy) SituacaoAnoCorrente(ano iter.Seq[OperacaoConsolidada]) map[string]BensDireitoTicker
func (*BemDireitoStrategy) VisitBemDireito ¶
func (v *BemDireitoStrategy) VisitBemDireito(ano []OperacaoConsolidada)
func (*BemDireitoStrategy) VisitBemDireito0301 ¶
func (v *BemDireitoStrategy) VisitBemDireito0301(ano []OperacaoConsolidada)
func (*BemDireitoStrategy) VisitBemDireito0404 ¶
func (v *BemDireitoStrategy) VisitBemDireito0404(ano []OperacaoConsolidada, label string)
func (*BemDireitoStrategy) VisitBemDireito9907 ¶
func (v *BemDireitoStrategy) VisitBemDireito9907(ano []OperacaoConsolidada)
type BensDireitoTicker ¶
type BensDireitosStrategy ¶
type BensDireitosStrategy interface {
SituacaoAnoCorrente(iter.Seq[OperacaoConsolidada]) map[string]BensDireitoTicker
}
type Carteira ¶
func NewCarteira ¶
func NewCarteira() *Carteira
func (*Carteira) BensDireitos ¶
func (c *Carteira) BensDireitos() []BemDireito
func (*Carteira) Consolidar ¶
func (c *Carteira) Consolidar(all []OperacaoDesconsolidada)
func (*Carteira) DividaOnusReais ¶
func (c *Carteira) DividaOnusReais() []BemDireito
func (*Carteira) OperacoesComunsDayTradeDayTrade ¶
func (c *Carteira) OperacoesComunsDayTradeDayTrade() []RendimentosTributaveis
func (*Carteira) OperacoesComunsDayTradeSwingTrade ¶
func (c *Carteira) OperacoesComunsDayTradeSwingTrade() []RendimentosTributaveis
func (*Carteira) RendimentosIsentosNaoTributaveis ¶
func (c *Carteira) RendimentosIsentosNaoTributaveis() []RendimentosIsentosNaoTributaveis
func (*Carteira) RendimentosSujeitosTributacaoExclusiva ¶
func (c *Carteira) RendimentosSujeitosTributacaoExclusiva() []RendimentosIsentosNaoTributaveis
type Config ¶
type Config struct {
// Determina a estratégia de Preço Médio usada na Bonificação.
//
// Se true, as Bonificações vão alterar seu preço médio.
// É como se você tivesse pagado o valor que recebeu de bonificação.
// Significa que na hora de vender você pagará menos impostos.
//
// Se false (padrão), as Bonificações NÃO vão alterar seu preço médio.
// É como se você tivesse recebido as ações de bonificação de graça.
// Significa que na hora de vender você pagará mais impostos.
//
// Não há consenso sobre qual estratégia é a correta.
// Boatos afirmam que a maioria prefere a estratégia que reduz o imposto a pagar (true).
//
// Para nunca ter problemas com a Receita Federal use false, pois você pagará mais impostos.
AlterarPrecoMedioNaBonificacao bool
LimiteVendaIsenta decimal.Decimal
SwingTradeIR decimal.Decimal
SwingTradeIRRF decimal.Decimal // Dedo Duro.
DayTradeIR decimal.Decimal
DayTradeIRRF decimal.Decimal // Dedo Duro.
}
func GetDefaultConfig ¶
type Consolidador ¶
func (*Consolidador) Consolidar ¶
func (c *Consolidador) Consolidar(o OperacaoDesconsolidada) OperacaoConsolidada
func (*Consolidador) VisitAluguel ¶
func (*Consolidador) VisitAluguel(*Operacao)
func (*Consolidador) VisitBonificacao ¶
func (c *Consolidador) VisitBonificacao(o *Operacao)
func (*Consolidador) VisitCompra ¶
func (c *Consolidador) VisitCompra(o *Operacao)
func (*Consolidador) VisitCompraCall ¶
func (c *Consolidador) VisitCompraCall(o *Operacao)
func (*Consolidador) VisitCompraCallExercida ¶
func (c *Consolidador) VisitCompraCallExercida(o *Operacao)
func (*Consolidador) VisitCompraCallNaoExercida ¶
func (c *Consolidador) VisitCompraCallNaoExercida(o *Operacao)
func (*Consolidador) VisitCompraPut ¶
func (c *Consolidador) VisitCompraPut(o *Operacao)
func (*Consolidador) VisitCompraPutExercida ¶
func (c *Consolidador) VisitCompraPutExercida(o *Operacao)
func (*Consolidador) VisitCompraPutNaoExercida ¶
func (c *Consolidador) VisitCompraPutNaoExercida(o *Operacao)
func (*Consolidador) VisitDesdobramento ¶
func (c *Consolidador) VisitDesdobramento(o *Operacao)
func (*Consolidador) VisitDividendos ¶
func (*Consolidador) VisitDividendos(*Operacao)
func (*Consolidador) VisitGrupamento ¶
func (c *Consolidador) VisitGrupamento(o *Operacao)
func (*Consolidador) VisitJSCP ¶
func (*Consolidador) VisitJSCP(*Operacao)
func (*Consolidador) VisitJSCPNaoPago ¶
func (*Consolidador) VisitJSCPNaoPago(*Operacao)
func (*Consolidador) VisitLeilaoFracao ¶
func (c *Consolidador) VisitLeilaoFracao(o *Operacao)
func (*Consolidador) VisitReducaoCapital ¶
func (c *Consolidador) VisitReducaoCapital(o *Operacao)
func (*Consolidador) VisitReembolso ¶
func (*Consolidador) VisitReembolso(*Operacao)
func (*Consolidador) VisitRendTrib ¶
func (*Consolidador) VisitRendTrib(*Operacao)
func (*Consolidador) VisitSubscricaoCompra ¶
func (c *Consolidador) VisitSubscricaoCompra(o *Operacao)
func (*Consolidador) VisitSubscricaoExercicio ¶
func (c *Consolidador) VisitSubscricaoExercicio(o *Operacao)
func (*Consolidador) VisitSubscricaoVenda ¶
func (c *Consolidador) VisitSubscricaoVenda(o *Operacao)
func (*Consolidador) VisitVenda ¶
func (c *Consolidador) VisitVenda(o *Operacao)
func (*Consolidador) VisitVendaCall ¶
func (c *Consolidador) VisitVendaCall(o *Operacao)
func (*Consolidador) VisitVendaCallExercida ¶
func (c *Consolidador) VisitVendaCallExercida(o *Operacao)
func (*Consolidador) VisitVendaCallNaoExercida ¶
func (c *Consolidador) VisitVendaCallNaoExercida(o *Operacao)
func (*Consolidador) VisitVendaPut ¶
func (c *Consolidador) VisitVendaPut(o *Operacao)
func (*Consolidador) VisitVendaPutExercida ¶
func (c *Consolidador) VisitVendaPutExercida(o *Operacao)
func (*Consolidador) VisitVendaPutNaoExercida ¶
func (c *Consolidador) VisitVendaPutNaoExercida(o *Operacao)
type DividaOnusReaisStrategy ¶
type DividaOnusReaisStrategy struct {
Curr map[string]BensDireitoTicker
Param *Param
// contains filtered or unexported fields
}
func (*DividaOnusReaisStrategy) SituacaoAnoCorrente ¶
func (v *DividaOnusReaisStrategy) SituacaoAnoCorrente(ano iter.Seq[OperacaoConsolidada]) map[string]BensDireitoTicker
func (*DividaOnusReaisStrategy) VisitDividaOnusReais ¶
func (v *DividaOnusReaisStrategy) VisitDividaOnusReais(ano []OperacaoConsolidada)
func (*DividaOnusReaisStrategy) VisitDividaOnusReais0016 ¶
func (v *DividaOnusReaisStrategy) VisitDividaOnusReais0016(ano []OperacaoConsolidada)
type GrupoCodigo ¶
func (GrupoCodigo) ID ¶
func (g GrupoCodigo) ID() string
type ImportadorNotas ¶
type ImportadorNotas struct{}
type Operacao ¶
type Operacao struct {
Data time.Time `json:",format:DateOnly"` // Opções: Data de Compra/Venda da opção ou Data de Vencimento ou Data de Encerramento.
Ticker string
Tipo Tipo
Qtd decimal.Decimal `json:",omitzero"` // Pode estar fracionada em algumas operações como Bonificação, Grupamento, Desdobramento e Leilão Fração.
ValorUnitario decimal.Decimal `json:",omitzero"` // Também é o Strike nas Opções.
Taxas decimal.Decimal `json:",omitzero"`
ValorTotal decimal.Decimal `json:",omitzero"`
ValorCompra decimal.Decimal `json:",omitzero"`
Lucro decimal.Decimal `json:",omitzero"` // Lucro ou prejuízo da operação de Venda, Bonificação, Grupamento, Subscrição Compra, Redução de Capital, Opções.
Fator decimal.Decimal `json:",omitzero"` // Fator de Bonificação, Grupamento ou Desdobramento e Redução de Capital.
IRRF decimal.Decimal `json:",omitzero"` // Dedo-Duro.
// Opções.
Serie string `json:",omitempty"`
ValorExercicio decimal.Decimal `json:",omitzero"` // Valor da ação no dia do exercício da opção.
Premio decimal.Decimal `json:",omitzero"`
Vencimento time.Time `json:",omitzero,format:DateOnly"`
// DayTrade.
DayTrade bool `json:"DayTrade,omitzero"`
}
func (*Operacao) ValorTotalBruto ¶
type OperacaoAnual ¶
type OperacaoAnual struct {
Ano int
Cfg Config
Ops []OperacaoMensal
}
func (*OperacaoAnual) Iter ¶
func (a *OperacaoAnual) Iter() iter.Seq[OperacaoConsolidada]
type OperacaoConsolidada ¶
type OperacaoDesconsolidada ¶
func ReadOperacoes ¶
func ReadOperacoes(r io.Reader) ([]OperacaoDesconsolidada, error)
type OperacaoMensal ¶
type OperacaoMensal struct {
Mes int
Cfg Config
Ops []OperacaoConsolidada
}
func (*OperacaoMensal) Iter ¶
func (a *OperacaoMensal) Iter() iter.Seq[OperacaoConsolidada]
type Param ¶
type Param struct {
// Mostra os valores exatos.
// Exemplo: "0,123456" em vez de "0,12".
MostrarValorExato bool
// Formata valores usando esse separador de casas decimais.
// Exemplo: "1234,56" (padrão).
SeparadorDecimal string
// Formata datas usando esse formato.
// Exemplo: "02/01/2006" (padrão).
FormatoData string
// Filtra operações por ano (0 para mostrar todos os anos).
FiltrarAno int
// Filtra operações por ticker (vazio para mostrar todos os tickers).
FiltrarTicker string
}
func (*Param) FilterOperacao ¶
func (p *Param) FilterOperacao(o OperacaoConsolidada) bool
func (*Param) FilterTicker ¶
func (*Param) FilterYear ¶
type PrinterCSV ¶
type PrinterCSV struct {
// contains filtered or unexported fields
}
func (*PrinterCSV) PrintBensDireitos ¶
func (p *PrinterCSV) PrintBensDireitos(w io.Writer)
func (*PrinterCSV) PrintDividaOnusReais ¶
func (p *PrinterCSV) PrintDividaOnusReais(w io.Writer)
func (*PrinterCSV) PrintOperacoesComAcoes ¶
func (p *PrinterCSV) PrintOperacoesComAcoes(w io.Writer)
func (*PrinterCSV) PrintOperacoesComunsDayTrade ¶
func (p *PrinterCSV) PrintOperacoesComunsDayTrade(w io.Writer)
func (*PrinterCSV) PrintRendimentosIsentosNaoTributaveis ¶
func (p *PrinterCSV) PrintRendimentosIsentosNaoTributaveis(w io.Writer)
func (*PrinterCSV) PrintRendimentosSujeitosTributacaoExclusiva ¶
func (p *PrinterCSV) PrintRendimentosSujeitosTributacaoExclusiva(w io.Writer)
type PrinterTable ¶
type PrinterTable struct {
// contains filtered or unexported fields
}
func (*PrinterTable) PrintBensDireitos ¶
func (p *PrinterTable) PrintBensDireitos(w io.Writer)
func (*PrinterTable) PrintDividaOnusReais ¶
func (p *PrinterTable) PrintDividaOnusReais(w io.Writer)
func (*PrinterTable) PrintOperacoesComAcoes ¶
func (p *PrinterTable) PrintOperacoesComAcoes(w io.Writer)
func (*PrinterTable) PrintOperacoesComunsDayTrade ¶
func (p *PrinterTable) PrintOperacoesComunsDayTrade(w io.Writer)
func (*PrinterTable) PrintRendimentosIsentosNaoTributaveis ¶
func (p *PrinterTable) PrintRendimentosIsentosNaoTributaveis(w io.Writer)
func (*PrinterTable) PrintRendimentosSujeitosTributacaoExclusiva ¶
func (p *PrinterTable) PrintRendimentosSujeitosTributacaoExclusiva(w io.Writer)
type RendimentosIsentosAteLimite ¶
type RendimentosIsentosAteLimite struct {
Ticker string
Ano int
Meses []RendimentoIsentosAteLimiteMensal
Total decimal.Decimal
}
type RendimentosIsentosNaoTributaveis ¶
type RendimentosIsentosNaoTributaveis struct {
Ano int
Rendimentos []RendimentoIsentoNaoTributavel
Totais []RendimentoIsentoNaoTributavel
}
type RendimentosTributaveis ¶
type Tipo ¶
type Tipo string
const ( COMPRA Tipo = "Compra" VENDA Tipo = "Venda" BONIFICACAO Tipo = "Bonificação" DESDOBRAMENTO Tipo = "Desdobramento" GRUPAMENTO Tipo = "Grupamento" LEILAO_FRACAO Tipo = "Leilão Fração" DIVIDENDOS Tipo = "Dividendos" REEMBOLSO Tipo = "Reembolso" JSCP Tipo = "JSCP" JSCP_NAO_PAGO Tipo = "JSCP Não Pago" REND_TRIB Tipo = "Rend. Trib." ALUGUEL Tipo = "Aluguel" REDUCAO_CAPITAL Tipo = "Red. Cap." SUBSCRICAO_COMPRA Tipo = "Compra Subscrição" SUBSCRICAO_VENDA Tipo = "Venda Subscrição" SUBSCRICAO_COMPRA_EX Tipo = "Compra Subscrição (EX)" PUT_VENDA Tipo = "Venda PUT" PUT_VENDA_EX Tipo = "Venda PUT (EX)" PUT_VENDA_NE Tipo = "Venda PUT (NE)" PUT_COMPRA Tipo = "Compra PUT" PUT_COMPRA_EX Tipo = "Compra PUT (EX)" PUT_COMPRA_NE Tipo = "Compra PUT (NE)" CALL_VENDA Tipo = "Venda CALL" CALL_VENDA_EX Tipo = "Venda CALL (EX)" CALL_VENDA_NE Tipo = "Venda CALL (NE)" CALL_COMPRA Tipo = "Compra CALL" CALL_COMPRA_EX Tipo = "Compra CALL (EX)" CALL_COMPRA_NE Tipo = "Compra CALL (NE)" )
type Tonfig ¶
type Tonfig struct {
LucroTributavel bool
PrejuizoAbativel bool
BensDireitos GrupoCodigo
DividaOnusReais GrupoCodigo
RendimentoIsentoNaoTributavel GrupoCodigo
RendimentoSujeitoTributacaoExclusiva GrupoCodigo
}
func (Tonfig) IsBemDireito ¶
func (Tonfig) IsDividaOnusReais ¶
func (Tonfig) IsLimiteIsentoAplicavel ¶
func (Tonfig) IsRendimentoIsentoNaoTributavel ¶
func (Tonfig) IsRendimentoSujeitoTributacaoExclusiva ¶
type TonfigMap ¶
func GetDefaultTonfig ¶
type Visitor ¶
type Visitor interface {
VisitCompra(*Operacao)
VisitVenda(*Operacao)
VisitBonificacao(*Operacao)
VisitDesdobramento(*Operacao)
VisitGrupamento(*Operacao)
VisitLeilaoFracao(*Operacao)
VisitDividendos(*Operacao)
VisitReembolso(*Operacao)
VisitJSCP(*Operacao)
VisitJSCPNaoPago(*Operacao)
VisitAluguel(*Operacao)
VisitRendTrib(*Operacao)
VisitReducaoCapital(*Operacao)
VisitSubscricaoCompra(*Operacao)
VisitSubscricaoVenda(*Operacao)
VisitSubscricaoExercicio(*Operacao)
VisitVendaPut(*Operacao)
VisitVendaPutExercida(*Operacao)
VisitVendaPutNaoExercida(*Operacao)
VisitCompraPut(*Operacao)
VisitCompraPutExercida(*Operacao)
VisitCompraPutNaoExercida(*Operacao)
VisitCompraCall(*Operacao)
VisitCompraCallExercida(*Operacao)
VisitCompraCallNaoExercida(*Operacao)
VisitVendaCall(*Operacao)
VisitVendaCallExercida(*Operacao)
VisitVendaCallNaoExercida(*Operacao)
}
Click to show internal directories.
Click to hide internal directories.