> ## Documentation Index
> Fetch the complete documentation index at: https://base39-release-notes-06-mar.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagamento excedente nas parcelas

Ao lidar com o pagamento de parcelas, é possível que ocorram situações em que o valor efetivamente pago seja maior do que o valor total da parcela, gerando assim um saldo negativo.
Para lidar com esses casos, a aplicação implementa uma ordem de prioridade para a distribuição dos valores excedentes. Essa ordem é estabelecida para garantir que o saldo negativo seja corrigido de forma adequada, seguindo critérios específicos.

## Ordem de prioridade

Confira abaixo a ordem de prioridade para a distribuição de valores excedentes.
<Note>É importante ressaltar que a ordem é padrão e não pode ser alterada.</Note>

1. Parcela atual
2. Parcelas vencidas do mesmo empréstimo
3. Parcelas vencidas de outro empréstimo (caso o cliente tenha mais de um empréstimo)
4. Últimas parcelas do empréstimo vigente
5. Últimas parcelas de outros empréstimos (caso o cliente tenha mais de um empréstimo)

A aplicação faz a correção dos valores para o valor presente, considerando os juros. Verifique a correção através do endpoint: [Listar parcelas](https://docs.base39.com.br/development/api-reference/endpoint/get-v1-installments), aplicando o filtro `payment_for` com a data desejada.

## Visualização da movimentação do dinheiro

Acompanhe a movimentação de dinheiro entre as parcelas através da entidade `installment.transactions`. Lançamentos negativos podem indicar a movimentação de dinheiro excedente. Veja o exemplo:

```json
{
  "id": "inst_653ade9a633dbad3a1c2c59a",
  "loan": "loan_653ade86ad95f6de1941c452",
  "dueDate": "2023-10-26T00:00:00.000Z",
  "totalAmount": 200,
  "status": "paid",
  "transactions": {
    "hasMore": false,
    "data": [
      {
        "createdAt": "2023-10-26T21:52:24.100Z",
        "amountPaid": 400,
        "invoice": "inv_653adf5c1352d64540e745d2",
        "discount": 0,
        "id": "itsc_653adf98f7d77cf93a3e4fff",
        "installment": "inst_653ade9a633dbad3a1c2c59a"
      },
      {
        "createdAt": "2023-10-26T21:52:24.100Z",
        "amountPaid": -200,
        "invoice": "inv_653adfa21352d64540e745d5",
        "discount": 0,
        "id": "itsc_653adfa9f7d77cf93a3e5005",
        "installment": "inst_653ade9a633dbad3a1c2c59a"
      }
    ]
  }
}
```

Neste exemplo, a parcela no valor de 200 reais recebeu um pagamento de 400 reais, e o sistema automaticamente removeu o dinheiro excedente, transferindo-o para outras parcelas de acordo com a ordem de prioridade.

## Parcelas de fundos diferentes

<Note>A movimentação interna de dinheiro não afeta fundos diferentes.</Note>

Considere o seguinte cenário:
Um cliente possui 2 empréstimos em seu nome, cada um com fundos diferentes:

Empréstimo\_01, com 3 parcelas de 200 reais cada (Fundo\_01)
Empréstimo\_02, com 3 parcelas de 200 reais cada (Fundo\_02)

Se o cliente realizar um pagamento na parcela número 1 do Empréstimo\_01, no valor de 700 reais, a aplicação seguirá a ordem de prioridade apenas para as parcelas do mesmo fundo.

```json
{
... Empréstimo_01

"totalAmount": 200,
"status": "paid",
  "transactions": {
    "hasMore": false,
    "data": [
      {
        "createdAt": "2023-10-26T21:05:10.756Z",
        "amountPaid": 700,
        "invoice": "inv_653ad48e53eb280453c823b2",
        "discount": 0,
        "id": "itsc_653ad4a4da7acedfb409b441",
        "installment": "inst_653ad37afaf5c7377e337e97"
      },
      {
        "createdAt": "2023-10-26T21:05:48.345Z",
        "amountPaid": -366.68,
        "invoice": "inv_653ad4a848ad8ebff37e654d",
        "discount": 0,
        "id": "itsc_653ad4ac22bd08ae9b8a4090",
        "installment": "inst_653ad37afaf5c7377e337e97"
      }
    ]
  },
  "number": 1,
  "amountPaid": 333.32,
  "fund": "fund_651c7107ed47248d267b2fb4",
  "amountRemaining": -133.32,
  "amountForPayment": -133.32
}
```

A aplicação não manipulará dinheiro para o Empréstimo\_02, pois as parcelas pertencem a outro fundo.

## Verba rescisória

Em casos de demissão, onde a responsabilidade pelas parcelas é transferida da empresa para o cliente, a fatura que recebe a verba rescisória pode ser a fatura anteriormente de responsabilidade da empresa, agora marcada como `void` na aplicação. Nesse caso, a aplicação entenderá a situação e realizará a manipulação do dinheiro para a parcela devida (equivalente à parcela com a responsabilidade do cliente).

No exemplo a seguir, a parcela de número 1 recebeu uma verba rescisória de 500 reais. Como a responsabilidade do pagamento da parcela mudou do empregador para o cliente, a parcela equivalente receberá o dinheiro e seguirá a ordem de prioridade.

```json
{
  "totalAmount": 200,
  "status": "void",
  "transactions": {
    "hasMore": false,
    "data": [
      {
        "createdAt": "2023-10-26T21:05:10.756Z",
        "amountPaid": 500,
        "invoice": "inv_653ad45653eb280453c823af",
        "discount": 0,
        "installment": "inst_653ad2282979cdb9db1823ec"
      },
      {
        "createdAt": "2023-10-26T21:05:10.756Z",
        "amountPaid": -500,
        "invoice": "inv_653ad48e53eb280453c823b2",
        "discount": 0,
        "installment": "inst_653ad2282979cdb9db1823ec"
      }
    ]
  },
  "payer": "comp_64e6bd3abf126b2625bfa675",
  "number": 1,
  "amountPaid": 0,
  "amountRemaining": 200,
  "amountForPayment": 200
}
```

Verifique que o `payer` está com um identificador da empresa e que o `status` da parcela é `void`.
A parcela equivalente a esta, porém, com a responsabilidade para o cliente ( tem o `payer` com o identificador do cliente) receberá o dinheiro e aplicará a ordem de prioridade.

```json
{
  "totalAmount": 200,
  "status": "paid",
  "transactions": {
    "hasMore": false,
    "data": [
      {
        "createdAt": "2023-10-26T21:05:10.756Z",
        "amountPaid": 500,
        "invoice": "inv_653ad48e53eb280453c823b2",
        "discount": 0,
        "installment": "inst_653ad37afaf5c7377e337e97"
      },
      {
        "createdAt": "2023-10-26T21:05:48.345Z",
        "amountPaid": -300,
        "invoice": "inv_653ad4a848ad8ebff37e654d",
        "discount": 0,
        "installment": "inst_653ad37afaf5c7377e337e97"
      }
    ]
  },
  "payer": "cust_653ad1789aa2efbdfa4557c5",
  "number": 1,
  "amountPaid": 200,
  "amountRemaining": 0,
  "amountForPayment": 0
}
```
