Late Fees
An overdue invoice can accrue a fine (charged once) and interest (accruing per day of delay). A late fee policy defines both, applies organization-wide, and can be overridden per customer, per subscription or per invoice.
Every organization starts with a policy that charges nothing. Turning charges on is an explicit commercial decision, because it changes what your customers owe.
Where to configure it​
Settings → Late fees tab.
The screen lists the policies and offers a live simulation: as you edit the values you see the effect on a R$ 1,000.00 invoice fifteen days overdue, before applying the rule to real customers.
Fields​
Fine​
| Field | Description |
|---|---|
| Fine type | No charge, Percentage of the balance or Flat amount |
| Percentage / Amount | Only the field the chosen type uses is shown |
| Days after the due date | When the fine starts applying. Default is 1 — the day after the due date |
The fine is charged once, not per day.
Interest​
| Field | Description |
|---|---|
| Interest type | No charge, a percentage per day, per month or per year, or a flat amount per day |
| Percentage / Amount per day | Only the field the chosen type uses is shown |
| Days after the due date | When interest starts accruing. Default is 1 |
| Day count | Calendar days or business days. Business days come from the Holidays registry |
A monthly rate is divided pro rata die by 30, and a yearly one by 360 — the basis the bank instruction uses. 1% per month on R$ 1,000.00 yields R$ 0.33 per day of delay.
Interest accrues on the outstanding balance, never on the balance plus the fine.
Ceilings​
| Field | Description |
|---|---|
| Maximum months of interest | Stops the accrual. Empty = uncapped |
| Total charge ceiling | A percentage of the balance. When it bites, the fine is kept whole and the interest is trimmed |
| Respect the legal ceilings | Refuses a fine above 2% and interest above 1% per month |
The legal ceiling comes from art. 52 of the Brazilian Consumer Code and applies to consumer relations. Business-to-business contracts may agree above it, which is why the guard can be turned off — the decision is recorded in the audit log, separately from an ordinary policy change.
Behaviour​
| Field | Description |
|---|---|
| A partial payment pays down | Fine and interest (default) or The invoice amount |
| Register the instruction with the bank | The bank slip or Pix collects the charges itself after the due date |
| Recompute on card charges and re-issues | A card has no bank instruction, so the charge goes into the amount charged |
| Instructions printed on the bank slip | Free text |
The Fine and interest default follows art. 354 of the Brazilian Civil Code: a partial payment goes first to interest, then to the fine, and only the remainder reduces the invoice amount. That way the debt does not quietly stop accruing.
Which policy applies to an invoice​
Resolution is a cascade, and the first level that names a policy wins:
Invoice → Subscription → Billing account → Organization default
A blank level means inherit, never "no charge". Charging nothing is an explicit policy, with both types set to No charge.
Invoices already issued do not move​
At finalization the invoice freezes the policy in force at that moment. If you renegotiate the policy in March, invoices issued in January keep charging January's rules — both in the calculation and in the instruction registered with the bank.
How the charge is collected​
| Method | How it works |
|---|---|
| Bank slip | The fine and interest instruction is registered with the bank, which computes and collects the extra at settlement |
| Pix | Registered as a Pix Charge (Pix Cobrança), with the same logic. An instant Pix cannot carry charges |
| Card | There is no bank instruction: the amount charged is recomputed at the moment of the attempt |
When re-issuing a bank slip for an overdue invoice, the original due date is preserved. Re-dating the slip to today would reset the delay and waive the charge the customer already owes.
:::caution Business days depend on the holiday registry
With business-day counting and an empty holiday list, the calculation skips only weekends — the bank skips the holidays too and will collect less than we accrue. Import the national holidays in System → Holidays before turning this on.
:::
:::note Banks and the monthly percentage On a bank slip, the "percentage per month" type is supported by Bradesco, BB, BTG, Caixa, Inter, Itaú, Safra, Santander, Sicoob and Sicredi. On other banks, prefer the daily percentage. :::
What happens when the customer pays​
The settled amount is split into three parts:
- Principal — reduces the invoice balance
- Fine and interest — booked apart, as financial revenue
- Unexplained excess — what the policy does not justify becomes account credit, as before
That separation matters in three places:
- Tax invoice: the NF-e amount is the service amount, without the charges. Fine and interest are financial revenue and sit outside the ISS tax base and the withholding base.
- Revenue reports: revenue per customer counts only the principal. Counting the charges inflates LTV with money that did not come from the sale.
- Customer statement: the charges appear on their own line, "Juros e multa — fatura X".
When the amount received exceeds what the policy explains, the system emits the invoice.late_charges_unexplained event. That usually means our arithmetic and the bank's diverged beyond rounding, and it is worth a look.
Where to follow it​
- Invoice detail: a "Late charges" card with days overdue, fine, interest, updated total and what has already been received. Shown only for an overdue invoice, or one that already received charges.
- Delinquency: the total overdue remains the principal alone — it is the metric comparable across periods. Accumulated charges appear in a separate column.
Through the API​
The resource is /v1/late_fee_policies. Percentages are floats (2.0 for 2%) and amounts are in BRL.
curl -X POST https://api.kobana.com.br/billing/v1/late_fee_policies \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Default",
"is_default": true,
"fine_mode": "percentage",
"fine_percent": 2.0,
"interest_mode": "monthly_percentage",
"interest_percent": 1.0
}'
To reconcile the arithmetic before an invoice actually goes late:
curl -X POST https://api.kobana.com.br/billing/v1/late_fee_policies/simulate \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"principal": 1000.0,
"due_date": "2026-09-10",
"reference_date": "2026-10-10",
"policy_id": "..."
}'
The response carries days_past_due, fine, interest, total and total_due.
Frequently asked​
Do the charges go into the tax invoice amount? No. The NF-e uses the service amount. Fine and interest are financial revenue, outside the ISS base and the withholding base. If your operation needs a complementary invoice for the charges, it is issued manually.
What happens to old invoices when charges are turned on?
Invoices still in draft inherit the new policy when finalized. Invoices already finalized keep what they carry — including the ones that had no policy at all.
What if the customer pays more than fine and interest justify?
The difference becomes credit on their account, and the invoice.late_charges_unexplained event is emitted for you to check.
Can I charge interest without a fine, or a fine without interest?
Yes. The two types are independent; leave one on No charge.