Atualização de Rateio de Crédito
Este endpoint permite atualizar o rateio de crédito (split de pagamento) de um boleto previamente emitido. As novas regras substituem integralmente as anteriores e passam a valer para a próxima liquidação do boleto.
- O boleto precisa estar com o status
registerede ainda não pago. - A soma de
beneficiary_settlement_percentagecom os percentuais de cada item desplit_payment_rulesdeve ser exatamente igual a 100. - O envio do payload substitui todas as regras de rateio existentes (não é incremental).
- O rateio passa a valer para todos os fluxos de liquidação do boleto (SILOC, STR, cartório e Pix QR Code), inclusive em boletos com QR Code já emitido — neste caso, as regras também serão atualizadas no QR Code automaticamente.
- As contas das regras de rateio precisam estar abertas e cadastradas na QI Tech (a QI Tech consultará pelo
document_number,account_numbereaccount_digitinformados).
Request
Path parameters
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
account_key | uuidv4 | Chave única de identificação da conta em que o boleto foi emitido | 36 |
requester_profile_key | uuidv4 | Chave única de identificação da carteira | 36 |
bank_slip_key | uuidv4 | Chave única de identificação do boleto | 36 |
Request Body
{
"beneficiary_settlement_percentage": 70,
"split_payment_rules": [
{
"percentage": 20,
"document_number": "12345678901",
"account_owner_name": "João da Silva",
"account_number": "1234567",
"account_digit": "8"
},
{
"percentage": 10,
"document_number": "10987654321",
"account_owner_name": "Maria Souza",
"account_number": "7654321",
"account_digit": "0"
}
]
}
Request Body Params
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
beneficiary_settlement_percentage * | float | Percentual do valor liquidado destinado ao beneficiário do boleto. Aceita valor de 0 a 100 | - |
beneficiary_max_amount | float | Valor máximo que o beneficiário recebe na liquidação. Quando o valor pago exceder este limite, o excedente é direcionado integralmente para a primeira regra do array split_payment_rules. Aceita valor maior que 0 e menor ou igual ao valor do boleto | - |
split_payment_rules * | object array | Lista de regras de rateio. Mínimo 1, máximo 10 regras | Objeto split_payment_rule |
Objeto split_payment_rule
| Campo | Tipo | Descrição | Caracteres |
|---|---|---|---|
percentage * | float | Percentual do valor liquidado destinado a esta conta. Aceita valor de 0 a 100. Use 0 quando esta regra for destinada exclusivamente a receber o excedente do beneficiary_max_amount | - |
document_number * | string | CPF/CNPJ do titular da conta destino | 11 ou 14 |
account_owner_name * | string | Nome do titular da conta destino | 100 |
account_number * | string | Número da conta destino | 20 |
account_digit * | string | Dígito verificador da conta destino | 2 |
Caso de uso: receber juros e multa em uma conta separada
Como configurar para que o juros e multa que excederem o valor de face do boleto sejam direcionados a uma conta diferente do beneficiário?
Esse cenário é comum em plataformas que emitem boletos em nome de terceiros (escolas, condomínios, marketplaces), onde o titular do boleto deve receber sempre o valor de face e a plataforma fica com a parcela adicional de juros/multa em casos de pagamento em atraso.
A configuração é feita combinando beneficiary_max_amount com uma regra de rateio com percentage = 0:
{
"beneficiary_settlement_percentage": 100,
"beneficiary_max_amount": 1000.00,
"split_payment_rules": [
{
"percentage": 0,
"document_number": "12345678000199",
"account_owner_name": "Plataforma de Cobrança",
"account_number": "1234567",
"account_digit": "8"
}
]
}
Como o cálculo funciona considerando um boleto de R$ 1.000,00:
| Cenário | Valor pago | Beneficiário recebe | Plataforma recebe |
|---|---|---|---|
| Pagamento em dia | R$ 1.000,00 | R$ 1.000,00 | R$ 0,00 (sem settlement gerado) |
| Pagamento em atraso (com R$ 100,00 de juros/multa) | R$ 1.100,00 | R$ 1.000,00 | R$ 100,00 |
| Pagamento parcial em atraso | R$ 950,00 | R$ 950,00 | R$ 0,00 |
A regra é: o beneficiário recebe no máximo beneficiary_max_amount; qualquer valor pago acima disso é direcionado integralmente para a primeira regra de split_payment_rules.
beneficiary_max_amountdeve ser maior que 0 e menor ou igual ao valor do boleto (amount).- Quando alguma regra tem
percentage = 0, o campobeneficiary_max_amounté obrigatório. - Apenas uma regra de
split_payment_rulespode terpercentage = 0por boleto (a destinatária do excedente).
Response
Response Body
{}
Error Response
Response Body: Error
{
"title": "titulo",
"description": "description in English",
"translation": "descrição em portugues",
"code": "codigo",
"extra_fields": {}
}
Código HTTPstatus | Código QIcode | Títulotitle | Descrição (eng)description | Descrição (pt-br)translation |
|---|---|---|---|---|
| 400 | QIT000001 | Bad Request | Schema Error | Schema Inválido |
| 404 | BKS000029 | Not Found | Bank slip not found for the given key ({bank_slip_key}). | Boleto não encontrado para a chave fornecida ({bank_slip_key}). |
| 400 | BKS000032 | Bad Request | Bank slip must be in 'registered' status. | O boleto deve possuir o status 'registered'. |
| 422 | BKS000157 | Unprocessable Entity | Could not find an account matching the provided split payment account data. | Não foi possível encontrar uma conta com os dados informados na regra de split payment. |
| 400 | BKS000158 | Bad Request | The beneficiary_max_amount must be greater than 0 and not greater than the bank slip amount. | O beneficiary_max_amount deve ser maior que 0 e não pode ser maior que o valor do boleto. |
| 400 | BKS000159 | Bad Request | Split payment rules with percentage equal to 0 require beneficiary_max_amount to be set. | Regras de split payment com percentual igual a 0 exigem o campo beneficiary_max_amount preenchido. |
| 400 | BKS000160 | Bad Request | Only one split payment rule with percentage equal to 0 is allowed. | É permitido apenas uma regra de split payment com percentual igual a 0. |