Credits & Refunds

Credits & Refunds

Credits reduce the amount a customer owes on future invoices. Refunds return money already paid. Both are managed through Brilo and reflected automatically in invoicing.


Types of Credits

Service Credit

Issued when your service has an issue — an outage, a bug, or a failure to deliver on an SLA. This is the most common type.

Reason: Unplanned downtime on May 10
Credit: $50
Applied: Automatically reduces next invoice

Promotional Credit

Credits issued as part of a campaign — referral bonuses, trials, or seasonal offers.

Campaign: "Refer a friend"
Credit: $10 per successful referral
Applied: To the referring customer's next invoice

Goodwill Credit

Discretionary credits issued to retain or reward customers. These aren't tied to a specific incident.

Overpayment Credit

When a customer has paid more than they owed — for example, after a downgrade generates a prorated refund — the excess can be held as a credit rather than returned to their payment method.


Creating a Credit

Via Dashboard

  1. Go to Customers → select a customer
  2. Click Issue Credit
  3. Enter the amount, reason, and optional description
  4. Click Issue

Via API

curl -X POST https://api.brilo.app/credits \
  -H "X-API-KEY: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cust_123",
    "amount": 5000,
    "reason": "service_credit",
    "description": "Credit for May 10 outage"
  }'

See Create Credits in the API reference.


How Credits Are Applied

Automatic Application

By default, credits are applied to the next invoice generated for that customer. If a credit exceeds the invoice amount, the remainder carries forward.

Credit balance: $50
Next invoice: $100
Invoice after credit: $50 due

Partial Credits

If a credit partially covers an invoice, it's applied in full and the remaining invoice balance is due normally.

Credit balance: $30
Invoice: $100
Credit applied: -$30
Amount due: $70

How Credits Appear on Invoices

Professional Plan:              $99.00
API Overage (12,450 calls):     $2.45
Credit applied:                -$50.00
                               --------
Total due:                     $51.45

Updating and Voiding Credits

Update a Credit's Expiry Date

You can set or adjust when a credit expires using the Update Credit endpoint. Credits that expire are no longer applied to invoices.

curl -X POST https://api.brilo.app/credits/cr_123/update \
  -H "X-API-KEY: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "expires_at": "2024-09-01"
  }'

Void a Credit

Voiding a credit cancels it immediately. It will no longer be applied to any future invoices.

curl -X POST https://api.brilo.app/credits/cr_123/void \
  -H "X-API-KEY: your-api-key"

See Void Credits.


Refunds

A refund is money returned to the customer's original payment method (or via bank transfer). Unlike credits, refunds leave Brilo and go back through the payment processor.

When to Refund vs. Credit

SituationRecommended action
Customer cancels mid-period (advance billing)Prorated refund or credit
Service outageService credit
Billing error / overchargeRefund to original payment method
Customer retentionGoodwill credit
Small overpaymentCredit (carry forward)
Large overpaymentRefund

Refund Methods

Original payment method — returned to the card or account used for payment. Timeline: 5–10 business days depending on the card network.

Bank transfer — returned via ACH or wire transfer. Timeline: 1–3 business days.

Store credit — instead of returning money, a credit is applied to the customer's account for future use.

Cancellation Refunds

When a customer on advance billing cancels mid-period, they're owed a prorated refund for unused time.

Plan: Professional ($99/month)
Billing period: May 1 – Jun 1 (31 days)
Cancellation: May 16 (day 16)
Days remaining: 15

Refund = $99 × (15/31) = $47.90

This is calculated automatically when you cancel a subscription with flat_fee_behavior: "charge_prorated".


Retrieving Credit Information

List All Credits

curl "https://api.brilo.app/credits" \
  -H "X-API-KEY: your-api-key"

Retrieve a Specific Credit

curl "https://api.brilo.app/credits/cr_123" \
  -H "X-API-KEY: your-api-key"

See Get all Credits and Retrieve a Credit.


Credit Policies

When to Issue Credits

  • Unplanned downtime or degraded performance
  • Data loss or integrity issues
  • Billing errors on your end
  • Long-term customer loyalty rewards
  • Referral or promotional campaigns

When Not to Issue Credits

  • Features working as designed (even if the customer doesn't like them)
  • Cancellations outside your refund window
  • Performance within stated SLA thresholds
  • Customer-side misconfiguration

Credit Expiry

It's good practice to set an expiry date on credits. Unused credits represent a liability on your books, and expiration helps keep revenue recognition clean.


Next Steps


Did this page help you?