diff --git a/parsers/codeaccounts.go b/parsers/codeaccounts.go index 05c5c9b..34c8e66 100644 --- a/parsers/codeaccounts.go +++ b/parsers/codeaccounts.go @@ -26,6 +26,8 @@ const ( PassivoTotal DividaCirc DividaNCirc + DividendosJCP + DividendosMin // Income Statement Vendas @@ -70,12 +72,12 @@ var _accountsTable = []account{ {"1", "Ativo Total", AtivoTotal}, {"1.01", "Ativo Circulante", AtivoCirc}, {"1.02", "Ativo Não Circulante", AtivoNCirc}, - {"1.*", "Caixa e Equivalentes de Caixa", Caixa}, - {"1.01.*", "Aplicações Financeiras", AplicFinanceiras}, - {"1.01.04", "", Estoque}, // or "Títulos e Créditos a Receber" for security companies + {"1.01.01", "Caixa e Equivalentes de Caixa", Caixa}, {"1.01.02", "Aplicações Financeiras", AplicFinanceiras}, + {"1.01.04", "Estoques", Estoque}, // or "Títulos e Créditos a Receber" for security companies {"1.01.03", "Contas a Receber", ContasARecebCirc}, - {"1.02.01.*", "Contas a Receber", ContasARecebNCirc}, + {"1.02.01.03", "Contas a Receber", ContasARecebNCirc}, + {"1.02.01.04", "Contas a Receber", ContasARecebNCirc}, // BPP {"2", "Passivo Total", PassivoTotal}, @@ -84,6 +86,8 @@ var _accountsTable = []account{ {"2.*", "Patrimônio Líquido Consolidado", Equity}, {"2.01.04", "Empréstimos e Financiamentos", DividaCirc}, {"2.02.01", "Empréstimos e Financiamentos", DividaNCirc}, + {"2.01.05.02.01", "Dividendos e JCP a Pagar", DividendosJCP}, + {"2.01.05.02.02", "Dividendo Mínimo Obrigatório a Pagar", DividendosMin}, // DRE {"3.01", "", Vendas}, @@ -97,6 +101,7 @@ var _accountsTable = []account{ {"3.11", "Resultado Líquido de Operações Descontinuadas", ResulOpDescont}, {"3.12", "Resultado Líquido de Operações Descontinuadas", ResulOpDescont}, {"3.*", "Lucro/Prejuízo Consolidado do Período", LucLiq}, + {"3.*", "Lucro/Prejuízo do Período", LucLiq}, // DFC {"6.01", "", FCO}, diff --git a/reports/reports.go b/reports/reports.go index 4fa3a9a..2e186d2 100644 --- a/reports/reports.go +++ b/reports/reports.go @@ -480,9 +480,9 @@ func metricsList(v map[uint32]float32) (metrics []metric) { if v[p.LucLiq] > 0 && v[p.EquityAvg] > 0 { roe = zeroIfNeg(safeDiv(v[p.LucLiq], v[p.EquityAvg])) } - var cdg float32 = v[p.PassivoNCirc] + v[p.Equity] - v[p.AtivoNCirc] - var ncg float32 = v[p.AtivoCirc] - v[p.Caixa] - - (v[p.PassivoCirc] - v[p.Dividendos] - v[p.DividaCirc] - v[p.DividaNCirc]) + var cg float32 = v[p.AtivoCirc] - v[p.PassivoCirc] + var st float32 = v[p.Caixa] + v[p.AplicFinanceiras] - (v[p.DividaCirc] + v[p.DividendosJCP] + v[p.DividendosMin]) + var ncg float32 = cg - st return []metric{ {"Patrimônio Líquido", v[p.Equity], NUMBER, grpAccts}, @@ -528,22 +528,21 @@ func metricsList(v map[uint32]float32) (metrics []metric) { {"Free Float", v[p.FreeFloat], PERCENT, grpShares}, {"", 0, EMPTY, grpShares}, - {"Liquidez Corrente", safeDiv(v[p.AtivoCirc], v[p.PassivoCirc]), INDEX, grpExtra}, - {"Liquidez Seco", safeDiv(v[p.AtivoCirc]-v[p.Estoque], v[p.PassivoCirc]), INDEX, grpExtra}, - {"Giro dos Ativos", safeDiv(v[p.Vendas], v[p.AtivoTotal]), INDEX, grpExtra}, + {"Liquidez Corrente (Ativo Circ./Passivo Circ.)", safeDiv(v[p.AtivoCirc], v[p.PassivoCirc]), INDEX, grpExtra}, + {"Liquidez Seco [(Ativo Circ.-Estoque)/Passivo Circ.]", safeDiv(v[p.AtivoCirc]-v[p.Estoque], v[p.PassivoCirc]), INDEX, grpExtra}, + {"Giro dos Ativos (Vendas/Ativo)", safeDiv(v[p.Vendas], v[p.AtivoTotal]), INDEX, grpExtra}, {"", 0, EMPTY, grpExtra}, {"Giro de Estoque (dias)", safeDiv(v[p.EstoqueMedio], -v[p.CustoVendas]/360), INDEX, grpExtra}, {"Prazo Médio de Recebimento (dias)", safeDiv(v[p.ContasARecebCirc]+v[p.ContasARecebNCirc], v[p.Vendas]/360), INDEX, grpExtra}, {"", 0, EMPTY, grpExtra}, - {"Poder de Ganho Básico (PGB)", safeDiv(EBITDA, v[p.AtivoTotal]), PERCENT, grpExtra}, + {"Poder de Ganho Básico (EBITDA/Ativo)", safeDiv(EBITDA, v[p.AtivoTotal]), PERCENT, grpExtra}, {"ROA", safeDiv(v[p.LucLiq], v[p.AtivoTotal]), PERCENT, grpExtra}, {"ROE", roe, PERCENT, grpExtra}, {"", 0, EMPTY, grpExtra}, - {"-- Modelo Fleuriet --", 0, EMPTY, grpFleuriet}, - {"Capital de Giro (CDG)", cdg, NUMBER, grpFleuriet}, - {"Necessidade de Capital de Giro (NCG)", ncg, NUMBER, grpFleuriet}, - {"Saldo de Tesouraria (T)", cdg - ncg, NUMBER, grpFleuriet}, + {"Capital de Giro (CG)", cg, NUMBER, grpFleuriet}, + {"Saldo de Tesouraria (ST)", st, NUMBER, grpFleuriet}, + {"Necessidade de Capital de Giro (NCG=CG-ST)", ncg, NUMBER, grpFleuriet}, } }