010 — Fatura real Nubank junho 2026 (parcelas antigas)
Caso real
Section titled “Caso real”CEO (Gabriel) subiu fatura Nubank com vencimento 2026-06-11. Cartão é da esposa (Glaucilene). Casal compartilha despesas, mas o Nubank carrega parcelamentos que antecederam o relacionamento financeiro do casal.
Source: Nubank_2026-06-11.csv (70 lançamentos + 1 pagamento).
Resposta executiva
Section titled “Resposta executiva”Bate com a observação CEO de “~1K que era dela”:
| Categoria | R$ |
|---|---|
| Antigo da Glaucilene (excluir do casal) | 968,87 |
| Casal junho/2026 (entra no orçamento) | 5.960,82 |
| Compras totais brutas | 6.929,69 |
| Pagamento fatura anterior (Glaucilene pagou) | -7.026,92 |
| Saldo fatura | -97,23 (crédito) |
Itens antigos da Glaucilene
Section titled “Itens antigos da Glaucilene”Heurística: parcela N/M com N maior ou igual a 4, ou compra mais de 3 meses atrás. PIX no Crédito da titular pra ela mesma também conta (movimentação individual, não casal).
| Item | N/M | Compra estimada | R$ | Confiança |
|---|---|---|---|---|
| Pix no Crédito - GLAUCILENE ANDRADE MENDONCA | 3/3 | mar/2026 | 394,72 | alta (PIX pra ela mesma) |
| Otica Total Saude | 9/12 | set/2025 | 191,66 | alta (9m atrás) |
| Jim.Com New Care Con | 5/5 | jan/2026 | 200,00 | média (depende cutoff) |
| Oscar Calcados | 4/4 | fev/2026 | 182,49 | média (depende cutoff) |
Soma: 968,87.
Parcelas frescas (entram no casal)
Section titled “Parcelas frescas (entram no casal)”| Item | N/M | Data | R$ |
|---|---|---|---|
| Supermercado Vizinhos | 1/2 | 2026-05-28 | 81,54 |
| Limptix | 1/2 | 2026-05-23 | 66,13 |
| Coopercica | 1/2 | 2026-05-18 | 74,66 |
Vão dobrar mês que vem (2/2). Sistema precisa lembrar e não duplicar gasto efetivo.
Top merchants por volume (precisa decisão CEO)
Section titled “Top merchants por volume (precisa decisão CEO)”Não consigo classificar sozinho — depende de contexto do casal:
| Merchant | R$ total | Transações | Hipótese |
|---|---|---|---|
| Active Auto Posto | 1.587,47 | 15 | combustível — carro do casal? carro dela? |
| Irmaos Boa | 1.074,75 | 5 | mercado? padaria? não sei |
| Liv Up | 648,87 | 1 | marketplace, compra única grande |
| Oxxo Corvette | 421,60 | 3 | conveniência, viagem dela? |
| Adega Palmeiras | 233,00 | 3 | bebida — casal |
| Lavanderia | 112,00 | 6 | recorrente — dela ou casal? |
CEO precisa dizer: dela, casal, ou rateio %.
Heurística de detecção
Section titled “Heurística de detecção”| Sinal | Regra | Exemplo nessa fatura |
|---|---|---|
| Parcela N/M com N alto | N maior ou igual a 4 | Otica 9/12, Jim 5/5, Oscar 4/4 |
| PIX no Crédito pra própria titular | title contém nome do membro do cartão | Pix Glaucilene 3/3 |
| Compra antes de Household.startDate | data estimada menor que cutoff | (sem startDate definido) |
Estimativa de compra: purchase ≈ charge - (N - 1) × 30 dias. Mês ≈ ciclo do cartão. Refinamento via faturas históricas reais.
Cutoff bloqueante
Section titled “Cutoff bloqueante”Para confirmar Jim+Oscar como antigos, preciso do Household.startDate (data quando casal começou finanças compartilhadas):
- Cutoff março/2026 → Jim+Oscar antigos (total antigo confirmado em 968,87)
- Cutoff janeiro/2026 → só Otica e PIX antigos (total antigo = 586,38)
Sem cutoff, regra fallback = N maior ou igual a 4 OU title casa nome do titular.
Nuance observada (não cabe nos scenarios atuais)
Section titled “Nuance observada (não cabe nos scenarios atuais)”Scenario 001 — Importar fatura cartão trata fatura como fato atômico do mês. Cada transação vira Transaction dentro do Invoice. Não distingue:
- Compra fresca do mês vs parcela antiga
- Compra de cartão compartilhado vs parcela individual pré-casal
- PIX no Crédito pra própria titular vs gasto real
- Período antes/depois do “marco zero” do casal
Scenario 004 — Reconciliar fatura faz reconciliação com RecurringExpense via aliases + substring match. Não tem conceito de “exclusão por idade” ou “atribuição por titular”.
Scenario 005 — Renda casal tem Member (Entity com id UUID). Pode receber atribuição de despesa. Mas hoje só Goal.contributions usa attribution per-member; fatura não.
Hipótese de método
Section titled “Hipótese de método”Casal precisa marco zero explícito + regra de exclusão + UX de classificação:
Household.startDate— data quando casal começou finanças compartilhadas. VODate. Capturado 1x no onboarding (cenário 018 é o lugar).Account.cardHolderMemberId— cartão tem dono específico. HojeAccounté compartilhado por default.Transaction.estimatedPurchaseDate— derivada doParcela N/Mno title.Transaction.classification— VO discriminadacouple | member_individual | rateio(percent).ExpenseReconcilerfiltra automático: PIX da titular OR purchase antes de startDate → flag comomember_individual, exclui doBudget.actualTotal.- UX: agente lista candidatos a exclusão, casal confirma cada um 1x por fatura. Decisão persistida via
aliases(próxima fatura já reconhece).
Trigger pra scenario
Section titled “Trigger pra scenario”Promove pra scenario 027 quando:
- 2ª fatura real (julho/2026) confirma padrão.
- CEO define
Household.startDatereal do casal mel. - UX da pergunta “atribuir ou excluir?” decidida (modal? msg whats?).
Nome provisório: 027 — Excluir parcelas pré-casal + atribuir por titular.
Subjects under test futuros:
src/contexts/accounts/domain/Transaction.tsganhaestimatedPurchaseDate+classificationsrc/contexts/household/domain/Household.tsganhastartDatesrc/contexts/accounts/domain/Account.tsganhacardHolderMemberIdsrc/contexts/accounts/domain/services/ExpenseReconciler.tsganha filtro pré-startDate + atribuição-por-titular
Casos próximos (especulação curada)
Section titled “Casos próximos (especulação curada)”- Active Auto Posto recorrente — 15 trans, R$ 1.587. Se for carro dela exclusivo, vira regra permanente. Se casal, fica.
- Parcelamento futuro — Supermercado Vizinhos, Limptix, Coopercica entram com 2/2 mês que vem. Sistema precisa lembrar (não duplica).
- Refund/credit — pagamento -7026,92 é amortização. Estornos verdadeiros aparecem negativos também. Distinção via title + amount sign.
Cross-references
Section titled “Cross-references”- Source data:
Nubank_2026-06-11.csv(não commitada — PII real). - Scenario 001 — base de importação.
- Scenario 004 — reconciler que ganha filtro.
- Scenario 005 —
Memberque recebe attribution. - Scenario 018 — onde
startDatepode ser capturado.
Status
Section titled “Status”Aberto. Aguardando: (a) CEO classificar top merchants (Active Auto Posto, Irmaos Boa, Liv Up, Oxxo, Lavanderia) e (b) definir Household.startDate do casal mel.