Cai na besteira de tomar conta de um futebol.
Como toda semana eu tenho que atualizar o caixa, acho que vai ser mais fácil fazer assim.
O resumo: temos R$ 215 de caixa ao fim de março de 2025.
library(ggplot2)
library(stringr)
library(dplyr)
library(readxl)
library(tidyr)
library(readr)
library(lubridate)
Teve uma pelada só, o saldo foi de R$ 40.
Importar meu extrato
marco2025 <- read_excel("Extrato conta corrente - 032025.xlsx")
Paguei
paguei <- marco2025 %>% filter(`Tipo Lançamento`=="Saída") %>% filter(str_detect(Detalhes, "(?i)Luana|Prince"))
print(paguei)
## # A tibble: 5 × 6
## Data Lançamento Detalhes `N° documento` Valor `Tipo Lançamento`
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 06/03/2025 Pix - Enviado 06/03 21:06 P… 30602 -100… Saída
## 2 10/03/2025 Pix - Enviado 08/03 17:24 L… 31002 -100… Saída
## 3 17/03/2025 Pix - Enviado 15/03 18:46 L… 31701 -130… Saída
## 4 24/03/2025 Pix - Enviado 22/03 18:58 L… 32401 -125… Saída
## 5 31/03/2025 Pix - Enviado 29/03 12:39 L… 33102 -100… Saída
paguei <- paguei %>% select(Detalhes, Valor, Data)
print(paguei)
## # A tibble: 5 × 3
## Detalhes Valor Data
## <chr> <chr> <chr>
## 1 06/03 21:06 Prince De Macedo Barros -100,00 06/03/2025
## 2 08/03 17:24 Luana Ferreira Rodrigues Z -100,00 10/03/2025
## 3 15/03 18:46 Luana Ferreira Rodrigues Z -130,00 17/03/2025
## 4 22/03 18:58 Luana Ferreira Rodrigues Z -125,00 24/03/2025
## 5 29/03 12:39 Luana Ferreira Rodrigues Z -100,00 31/03/2025
paguei <- paguei %>%
mutate(
Data = as.Date(Data, format = "%d/%m/%Y"),
Valor = abs(parse_number(gsub("\\.", "", Valor), locale = locale(decimal_mark = ",")))
)
sum(paguei$Valor)
## [1] 555
O valor pago foi de R$ 555,00. Os 100 pra Prince foi pelo dia que ele que pagou a pelada, obrigado!
Recebi
# Passo 1: Substituir vírgula por ponto e remover pontos de milhar
marco2025$Valor <- gsub("\\.", "", marco2025$Valor) # Remove pontos (milhar)
marco2025$Valor <- gsub(",", ".", marco2025$Valor) # Troca vírgula por ponto (decimal)
# Passo 2: Remover o sinal de negativo (se houver)
marco2025$Valor <- gsub("-", "", marco2025$Valor) # Remove "-"
# Passo 3: Converter para numérico
marco2025$Valor <- as.numeric(marco2025$Valor)
# Verificar o resultado
print(head(marco2025$Valor))
## [1] 1577.96 11936.03 1100.00 1000.00 10.00 20.00
recebi <- marco2025 %>% filter(Valor<70) %>% filter(`Tipo Lançamento`== "Entrada")
print(recebi)
## # A tibble: 57 × 6
## Data Lançamento Detalhes `N° documento` Valor `Tipo Lançamento`
## <chr> <chr> <chr> <chr> <dbl> <chr>
## 1 05/03/2025 Pix - Recebido 01/03 15:10… 11510299897552 10 Entrada
## 2 05/03/2025 Pix - Recebido 01/03 15:12… 11512216221572 20 Entrada
## 3 05/03/2025 Pix - Recebido 01/03 15:14… 11514035036922 10 Entrada
## 4 05/03/2025 Pix - Recebido 01/03 15:56… 11556208039852 10 Entrada
## 5 05/03/2025 Pix - Recebido 01/03 15:22… 4085337012338… 10 Entrada
## 6 05/03/2025 Pix - Recebido 01/03 15:43… 4085458612180… 10 Entrada
## 7 05/03/2025 Pix - Recebido 01/03 15:45… 4085474321422… 10 Entrada
## 8 05/03/2025 Pix - Recebido 01/03 16:06… 4085599907944… 10 Entrada
## 9 05/03/2025 Pix - Recebido 01/03 16:23… 4085701179180… 10 Entrada
## 10 05/03/2025 Pix - Recebido 01/03 16:32… 4085753042834… 30 Entrada
## # ℹ 47 more rows
recebi$date <- as.Date(recebi$Data, format = "%d/%m/%Y")
sum(recebi$Valor)
## [1] 700
O valor recebido na conta foi de R$ 700, mas eu joguei 3x, o que dá um total de R$ 730.
O resumo do mês é que temos R$730 - R$555 = R$ 175 de caixa em março.
E tinha o saldo de R$ 40 da pelada que teve em fevereiro, dá um total de R$ 175 + R$ 40 = R$ 215.
A gente começou esse mês com saldo de R$215 do mês passado.
abril2025 <- read_excel("Extrato conta corrente - 042025.xlsx")
paguei_abril <- abril2025 %>%
filter(`Tipo Lançamento` == "Saída") %>%
filter(str_detect(Detalhes, "(?i)Luana|Prince")) %>%
select(Detalhes, Valor, Data)
print(paguei_abril)
## # A tibble: 3 × 3
## Detalhes Valor Data
## <chr> <chr> <chr>
## 1 05/04 18:31 Luana Ferreira Rodrigues Z -100,00 07/04/2025
## 2 05/04 18:36 Luana Ferreira Rodrigues Z -25,00 07/04/2025
## 3 12/04 17:27 Luana Ferreira Rodrigues Z -300,00 14/04/2025
abril2025$Valor <- gsub("\\.", "", abril2025$Valor)
abril2025$Valor <- gsub(",", ".", abril2025$Valor)
abril2025$Valor <- gsub("-", "", abril2025$Valor)
abril2025$Valor <- as.numeric(abril2025$Valor)
recebi_abril <- abril2025 %>%
filter(Valor < 70) %>%
filter(`Tipo Lançamento` == "Entrada") %>%
filter(!str_detect(Detalhes, "(?i)Andrey")) # Exclui entradas com "Andrey" (case insensitive)
recebi_abril$date <- as.Date(recebi_abril$Data, format = "%d/%m/%Y")
total_recebido_abril <- sum(recebi_abril$Valor)
print(recebi_abril)
## # A tibble: 34 × 7
## Data Lançamento Detalhes `N° documento` Valor `Tipo Lançamento` date
## <chr> <chr> <chr> <chr> <dbl> <chr> <date>
## 1 04/04/… Pix - Rec… 04/04 0… 4377095124258… 10 Entrada 2025-04-04
## 2 07/04/… Pix - Rec… 05/04 1… 51523136707062 10 Entrada 2025-04-07
## 3 07/04/… Pix - Rec… 05/04 1… 51638096653182 10 Entrada 2025-04-07
## 4 07/04/… Pix - Rec… 05/04 1… 51645569964092 10 Entrada 2025-04-07
## 5 07/04/… Pix - Rec… 05/04 1… 51715348621782 10 Entrada 2025-04-07
## 6 07/04/… Pix - Rec… 05/04 1… 51858409654702 10 Entrada 2025-04-07
## 7 07/04/… Pix - Rec… 05/04 1… 4387362573589… 10 Entrada 2025-04-07
## 8 07/04/… Pix - Rec… 05/04 1… 4387379124025… 20 Entrada 2025-04-07
## 9 07/04/… Pix - Rec… 05/04 1… 4387657210826… 10 Entrada 2025-04-07
## 10 07/04/… Pix - Rec… 05/04 1… 4388010537655… 10 Entrada 2025-04-07
## # ℹ 24 more rows
print(total_recebido_abril)
## [1] 380
Então, em abril a gente pagou 425 e recebi 380. Como joguei 2
peladas, são 20.
Ou seja, a gente pagou 425 e recebeu 400. Logo, tem que descontar 25 do
que tinha de caixa.
O caixa está em 190 ao final de abril de 2025.
Pagamentos feitos em maio.
maio2025 <- read_excel("Extrato conta corrente - 052025.xlsx")
paguei_maio <- maio2025 %>%
filter(`Tipo Lançamento` == "Saída") %>%
filter(str_detect(Detalhes, "(?i)Luana")) %>%
select(Detalhes, Valor, Data)
print(paguei_maio)
## # A tibble: 2 × 3
## Detalhes Valor Data
## <chr> <chr> <chr>
## 1 03/05 18:51 Luana Ferreira Rodrigues Z -400,00 05/05/2025
## 2 05/05 09:21 Luana Ferreira Rodrigues Z -60,00 05/05/2025
Então a gente tem R$ 460 de pagamentos feitos.
maio2025$Valor <- gsub("\\.", "", maio2025$Valor)
maio2025$Valor <- gsub(",", ".", maio2025$Valor)
maio2025$Valor <- gsub("-", "", maio2025$Valor)
maio2025$Valor <- as.numeric(maio2025$Valor)
recebi_maio <- maio2025 %>%
filter(Valor < 70) %>%
filter(`Tipo Lançamento` == "Entrada") %>%
filter(!str_detect(Detalhes, "(?i)Andrey")) # Exclui entradas com "Andrey" (case insensitive)
recebi_maio$date <- as.Date(recebi_maio$Data, format = "%d/%m/%Y")
total_recebido_maio <- sum(recebi_maio$Valor)
print(recebi_maio)
## # A tibble: 50 × 7
## Data Lançamento Detalhes `N° documento` Valor `Tipo Lançamento` date
## <chr> <chr> <chr> <chr> <dbl> <chr> <date>
## 1 05/05/… Pix - Rec… 03/05 0… 30831028263352 10 Entrada 2025-05-05
## 2 05/05/… Pix - Rec… 03/05 0… 30848112912262 10 Entrada 2025-05-05
## 3 05/05/… Pix - Rec… 03/05 1… 31126421874942 20 Entrada 2025-05-05
## 4 05/05/… Pix - Rec… 03/05 1… 31518374072432 10 Entrada 2025-05-05
## 5 05/05/… Pix - Rec… 03/05 1… 31518446142812 10 Entrada 2025-05-05
## 6 05/05/… Pix - Rec… 03/05 1… 31646296772672 10 Entrada 2025-05-05
## 7 05/05/… Pix - Rec… 03/05 1… 31659352419192 10 Entrada 2025-05-05
## 8 05/05/… Pix - Rec… 03/05 0… 4627167740287… 10 Entrada 2025-05-05
## 9 05/05/… Pix - Rec… 03/05 1… 4628062748423… 10 Entrada 2025-05-05
## 10 05/05/… Pix - Rec… 03/05 1… 4628259139417… 10 Entrada 2025-05-05
## # ℹ 40 more rows
print(total_recebido_maio)
## [1] 540
Desses R$ 540 a gente tem que somar R$ 30 que recebi em cash e somar os meus pagamentos (R$ 40). O que somam R$ 610, retirando os R$ 460 de pagamentos, maio teve superávit de R$ 150. Com os R$ 190 que tinhamos em caixa, dá R$ 340 de caixa.
Gráfico da evolução.
# Criar dataframe com a evolução do caixa
evolucao_caixa <- data.frame(
Mes = c("Fevereiro", "Março", "Abril", "Maio"),
Caixa = c(40, 215, 190, 340),
stringsAsFactors = FALSE
)
# Converter meses para fator (para manter ordem cronológica)
evolucao_caixa$Mes <- factor(evolucao_caixa$Mes,
levels = c("Fevereiro", "Março", "Abril", "Maio"))
# Criar gráfico de linha
ggplot(evolucao_caixa, aes(x = Mes, y = Caixa, group = 1)) +
geom_line(color = "steelblue", size = 1.5) +
geom_point(color = "steelblue", size = 3) +
geom_text(aes(label = paste0("R$", Caixa)), vjust = -1.5, size = 4) +
labs(title = "Evolução do Caixa do Futebol (2025)",
x = "Mês",
y = "Saldo em R$") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(color = "black")) +
scale_y_continuous(limits = c(0, max(evolucao_caixa$Caixa) * 1.1))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.