Skip to main content
A customer can hold three kinds of credit. Each one pays part of their next invoices before Bouclay charges the rest. All credit is per currency. Credit in naira only pays naira invoices. Card verification charges and payment-link checkouts never spend credit.

Read what a customer has

One entry per currency: Refresh it when you get credit_grant.created, credit_grant.updated or invoice.updated.

Customer balance

The balance is money that belongs to the customer. Invoices spend it after tax, and the invoice shows it as balanceApplied. Voiding an invoice gives its balanceApplied back. It grows when you issue a credit note with destination: balance, or when a downgrade with prorationBehavior: always credits unused time.

Small amounts carried forward

Card gateways have a smallest amount they will charge. Bouclay never sends a charge below it (or below a higher minimum you set per currency under Billing settings → Currencies). Instead the invoice is marked paid from the balance and the amount is carried to the customer’s next invoice in that currency, where it reads “Carried from INV-0003”. While it waits, balance is negative and available is 0.

Promotional credit

Give credit with POST /credit-grants:
Each grant is a lot (cg_…) with its own expiry. It is spent before tax, so it lowers the VAT like a discount: ₦12,000 of usage with ₦2,000 of credit is ₦10,000 + ₦750 VAT = ₦10,750. The invoice shows it as grantApplied.
  • Lots are spent soonest expiry first, then oldest. At the same expiry, promotional credit goes before prepaid.
  • When a lot expires, what was left is gone: remaining reads 0 and credit_grant.updated follows within the hour.
  • Voiding an invoice gives back what it spent. A credit note can’t give promotional credit back.
GET /credit-grants/{id} lists every movement on a lot (the grant, each invoice that spent part of it, voids and expiry), so you can answer “where did my credit go?”. Customers can see their credit in the portal too.