Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →
The credit note object
A credit note reduces what a customer owes on an invoice, or gives money back after it was paid. Its total is split three ways: refund to the card (refund_amount_cents), credit to the customer’s balance (credit_amount_cents), and money returned outside Hardcount (out_of_band_amount_cents).
Fields
Section titled “Fields”| Field | Type | Always present | What it means |
|---|---|---|---|
id |
string | Yes | |
tenant_id |
string | No | |
invoice_id |
string | Yes | |
customer_id |
string | Yes | |
credit_note_number |
string | Yes | |
status |
enum | Yes | One of: draft, issued, voided. |
reason |
string | Yes | |
subtotal_cents |
integer (int64) | Yes | |
tax_amount_cents |
integer (int64) | Yes | |
total_cents |
integer (int64) | Yes | |
refund_amount_cents |
integer (int64) | Yes | |
credit_amount_cents |
integer (int64) | Yes | |
out_of_band_amount_cents |
integer (int64) | Yes | |
commit_retired_cents |
integer (int64) | No | Prepaid commit credits this note retired. Absent on other notes. |
currency |
string | Yes | |
issued_at |
string (date-time) | No | |
voided_at |
string (date-time) | No | |
refund_status |
enum | Yes | The refund part’s state at Stripe. unknown: Stripe gave no clear answer (a timeout, a network error, a Stripe 5xx, a 409 or a 429), so the customer may already be refunded. Don’t refund it again in the Stripe Dashboard. Retry it with POST /v1/credit-notes/{id}/retry-refund, which looks for the refund at Stripe first and then resends the same request with the same idempotency key. One of: none, pending, succeeded, failed, unknown. |
stripe_refund_id |
string | No | |
bill_to_snapshot |
Document bill to | No | What an issued invoice or credit note prints about its buyer, copied when the document was issued (ADR-109). The printed name is legal_name when set, otherwise display_name. |
supplier_snapshot |
Document supplier | No | What an issued invoice or credit note prints about its seller (the tenant’s company), copied when the document was issued (ADR-109). |
tax_transaction_id |
string | No | Tax provider’s reversal transaction, set when the note is issued. |
is_simulated |
boolean | Yes | True when issued_at is test-clock time. |
issue_pending |
boolean | Yes | True on a draft that Hardcount will issue automatically. |
tax_reversal_pending |
boolean | Yes | True when the tax reversal failed and will be retried. |
metadata |
object | No | |
created_at |
string (date-time) | Yes | |
recorded_at |
string (date-time) | No | Real-world time the row was written, when created_at is test-clock time. |
updated_at |
string (date-time) | Yes |
Document bill to
Section titled “Document bill to”What an issued invoice or credit note prints about its buyer, copied when the document was issued (ADR-109). The printed name is legal_name when set, otherwise display_name.
| Field | Type | Always present | What it means |
|---|---|---|---|
display_name |
string | Yes | |
legal_name |
string | No | |
email |
string | No | |
address_line1 |
string | No | |
address_line2 |
string | No | |
city |
string | No | |
state |
string | No | |
postal_code |
string | No | |
country |
string | No | |
tax_id |
string | No | On an invoice, the tax ID its tax was calculated with when set, otherwise the billing profile’s tax ID at issue. |
tax_id_type |
string | No |
Document supplier
Section titled “Document supplier”What an issued invoice or credit note prints about its seller (the tenant’s company), copied when the document was issued (ADR-109).
| Field | Type | Always present | What it means |
|---|---|---|---|
name |
string | No | |
email |
string | No | |
phone |
string | No | |
address_line1 |
string | No | |
address_line2 |
string | No | |
city |
string | No | |
state |
string | No | |
postal_code |
string | No | |
country |
string | No | |
tax_id |
string | No |