Recuperação
Payable has two services, and every debt is in one of them (collectionMode on GET /debts/{id}):
The fixed Cobrança fee only applies from the launch date of the new pricing. Before it, the previous rule applies: 10% of every payment attributed to the régua.
Signing up
Recuperação becomes available once an organization admin accepts its terms, in Recuperação › Contratar or Configurações › Recuperação. The acceptance is recorded with the text version, who accepted and when. If the text changes, the organization has to accept again. Without the acceptance, the routes that send debts to Recuperação answer403 with a code:
Importing an overdue portfolio
In Importar › Carteira vencida, upload a CSV or spreadsheet with one row per debt. The screen offers a template.
A row repeated in the file, or matching a debt already in Recuperação (same document, amount and due date), is rejected.
After the import, Payable diagnoses each debt and notifies the organization in the dashboard and by e-mail:
The
active debts of an import get R0 from the next day on, at the first open send slot. Debts handed off or sent manually get R0 at the next open send slot.
Automatic handoff
In Configurações › Recuperação, the organization can turn on the automatic handoff and choose N, from 15 to 90 days (default 30). Every day at 7am (Brasília time):- on day N−1, the organization gets a notice listing the debts that move the next day, also shown in Recuperação › Passagem;
- on day N or later, the open debt leaves the Cobrança régua and enters Recuperação.
The R0…R+180 cadence
Recuperação days count from the day the debt entered Recuperação (R0), not from the due date, so every debt starts with the notice, whether it is 30 days or 3 years overdue. The default cadence:
Calls only happen for debts of R$ 500 or more (editable with the authority). After R+180 without payment or agreement, the debt becomes
closed_no_deal and stays open.
Authority by aging bucket
Each step’s offer comes from the debt’s aging bucket, counted from the original due date. The organization edits the authority in Configurações › Recuperação. The default:
When a debt changes bucket mid-cadence, the next offer already uses the new bucket. Collection fees are never added to what the debtor is charged. Above the authority, the agent asks for human approval.
Send hours and per-debtor limit
The automatic régua only sends text messages (WhatsApp, e-mail, SMS) within these hours, Brasília time:- Monday to Friday, 9am to 7pm;
- Saturday, 9am to 2pm;
- never on Sundays or national holidays.
Disputes
The debtor can say they do not recognise the debt with the “Não reconheço” button on WhatsApp or on the payment page. The cadence pauses immediately and the organization is notified. In Recuperação › Contestações, an admin decides:- the debt is owed: the cadence resumes from the step where it stopped;
- the debt is not owed: it is cancelled (
voided), the debtor is told, and no fee is charged on it.
Superendividamento
If the debtor tells the WhatsApp or voice agent that they are in a superendividamento (over-indebtedness) process or renegotiating their debts under Lei 14.181/2021, the agent makes no offer and every régua of that client is paused, in Cobrança and in Recuperação alike, including debts created later. The organization gets a notification and an e-mail, the event shows in the debt’s Atividade, and the client’soverIndebtednessReportedAt is filled. After talking to the client, an admin resumes the collection on the client or debt page, or with POST /clients/{id}/over-indebtedness/clear; only the réguas paused for this reason resume.
Dashboard
In Recuperação, the organization sees the total open, what was recovered, what is in negotiation, the fee owed and the split by aging bucket, filterable by portfolio and bucket. Each portfolio (an import or a handoff) has its diagnosis and debt list. Admins get a report by e-mail on the 1st of every month.Through the API
With an API key that has thedebts:write scope:
POST /debts/{id}/recovery answers 409 DEBT_NOT_ELIGIBLE_FOR_RECOVERY when the debt is already in Recuperação, is paid or has an active agreement; the reason is in errors[0].message. In the bulk call, each debt carries its own result and the reason it did not move.
GET /debts/{id} returns the Recuperação fields:
To resolve a dispute,
POST /debts/{id}/dispute/resolve with { "valid": true } (resume) or { "valid": false, "note": "..." } (cancel with no fee). Admins only.
When a fee is recorded, the success_fee.created webhook carries kind: billing_fixed (Cobrança) or recovery (Recuperação).