R-001 — Reparcelamento de dívida
TLDR: no máximo 2 reparcelamentos por produto, até 12 parcelas, primeira vencendo em até 7 dias, sem desconto — e um único acordo ativo por produto.
Família original no blueprint §08: RN-REPARC. Detalhada em
USER-015 — Motor de negociação.
Given / When / Then
Dado um aluno com parcelas em atraso em um produto, Quando um atendente simula ou emite um reparcelamento, Então o sistema só aceita a proposta se ela respeitar simultaneamente o limite de reparcelamentos do produto, o teto de parcelas, o prazo da primeira parcela e a proibição de desconto.
Regras
| ID | Regra |
|---|---|
RN-REPARC-1 |
Até 2 reparcelamentos por produto. Depois do 2º, nunca mais há parcelamento |
RN-REPARC-2 |
Máximo 12 parcelas, com valor próximo ao da compra original |
RN-REPARC-3 |
Vencimento da 1ª parcela em até 7 dias. Prazo maior vira agendamento, não acordo |
RN-REPARC-4 |
Sem desconto em reparcelamento — desconto é exclusivo de quitação (R-002) |
RN-REPARC-5 |
Um acordo por produto. Havendo concorrência, a prioridade é Formação de Terapeutas TRG |
RN-REPARC-6 |
Durante acordo ativo, novas compras só à vista. Exceção: filiação CITRG parcelada, com TRG 100% concluído e certificado provisório |
Tabela de decisão
| Reparcelamentos já feitos no produto | Parcelas pedidas | Venc. da 1ª | Resultado |
|---|---|---|---|
| 0 ou 1 | ≤ 12 | ≤ 7 dias | Acordo aceito |
| 0 ou 1 | ≤ 12 | > 7 dias | Vira agendamento (RN-REPARC-3) |
| 0 ou 1 | > 12 | qualquer | Rejeitado (RN-REPARC-2) |
| 2 | qualquer | qualquer | Rejeitado (RN-REPARC-1) — resta quitação |
Divergência em aberto — RN-REPARC-4
A regra abaixo diz uma coisa e o código faz outra. Registrado aqui para o doc não mentir sobre o sistema; a regra em si não foi alterada e precisa de decisão de quem a escreveu.
A calculadora IBFT, em uso pelos
atendentes, tem um campo “Desconto nos juros das parcelas em atraso (%)” que funciona
apenas no reparcelamento — na quitação ela zera o desconto, o inverso de RN-REPARC-4.
O formulário de negociação do front (spec, decisão D2) foi construído seguindo a calculadora, e portanto permite esse desconto em reparcelamento.
O argumento a favor é que desconto de juros não é desconto de principal. Se a distinção
for aceita, RN-REPARC-4 precisa ser reescrita e a validação discount_only_on_settlement
(app/models/negotiation.rb) precisa separar os dois casos. Se for recusada, o campo sai do
reparcelamento no front e na calculadora.
Enquanto não se decide, o backend continua rejeitando discount_percent em reparcelamento — e
o front ainda não grava no backend, então a contradição não chegou a produzir dado inválido.
Restrições
- Um reparcelamento com desconto é sempre inválido: se há flexibilização de valor, o instrumento correto é quitação (R-002). Ver a divergência em aberto acima.
- O 2º reparcelamento exige contrato de confissão de dívida — ver USER-022.
- No 2º reparcelamento, a negativação deixa de depender do progresso do aluno
(R-003,
RN-NEG-2), e o cancelamento de matrícula fica vedado (R-005,RN-CANC-1). - Antes de reparcelar parcelas atrasadas, todas as negativadas precisam estar quitadas
(R-003,
RN-NEG-4).
Teste vinculado
test/use_cases/debits/repayment_test.rb cobre a execução do acordo aprovado no Asaas
(Debits::Repayment). As regras RN-REPARC-1 a RN-REPARC-6 seguem sem teste: a aprovação do
Negotiation (motor de negociação,
USER-015) ainda não foi implementada.