---
id: CON-ACC-TRX-004
name: Credit
feature: FEAT-ACC-TRX-04
product_area: accounting
module: transactions
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  Credit retains value available to one customer for eligible future invoice settlement through separate
  applications.
owned_by: MOD-ACC-TRX
synonyms:
  - store credit
  - customer credit
not_to_be_confused_with:
  - A credit memo (an adjustment that lowers an invoice's lines)
  - Unapplied money (money still on a payment that has not been turned into a credit)
  - A refund (money paid back to the customer)
facets:
  - name: Source
    meaning: 'Issue can be manual or trace to receipt, overpayment or memo-derived value.'
    used_for: Explaining origin and accounting destinations.
  - name: Balance
    meaning: 'Maintained available value subtracts spending, return and reserved amounts.'
    used_for: Bounding eligible use.
  - name: Credit application
    meaning: A separate numbered application spends credit on billed lines.
    used_for: Connecting held value to settlement.
  - name: Reversing application
    meaning: An opposite application restores the earlier credit and debt position.
    used_for: Undoing a mistaken use once.
  - name: Reservation
    meaning: A pending settlement temporarily holds its selected credit.
    used_for: Preventing overlapping spending.
  - name: Expiry and order-type restriction
    meaning: Optional date and order-category constraints restrict application eligibility.
    used_for: Limiting eligible spending populations.
  - name: Void
    meaning: Cancelling unused credit retains it and restores payment-backed value to its source.
    used_for: Correcting credit issue without erasure.
relationships:
  - to: CON-ACC-TRX-003
    statement: Creating payment-backed credit transfers available receipt value until credit void restores it.
    provenance: test
    source: >-
      services-accounting:modules/transactions/tests/integration/services/credits/credits.integration.spec.js#it
      takes the money off the payment: credited out 2000, unapplied 1000
  - to: CON-ACC-TRX-001
    statement: Applications restrict spending to the credit customer’s billed lines.
    provenance: test
    source: >-
      services-accounting:modules/transactions/tests/integration/services/credits/credits.integration.spec.js#it
      refuses a credit of another customer than the invoice’s bill-to (credit_customer_mismatch)
  - to: CON-ACC-TRX-005
    statement: Held credit contributes to current standing and negative aging value.
    provenance: observed
    source: 'services-accounting:modules/transactions/services/customers/customer-summary.ts'
lifecycle:
  - state: open
    meaning: Positive available value remains eligible for spending.
    how_it_changes: Use can consume it and unused value can be voided.
  - state: used
    meaning: Applications or refunds consumed the available balance.
    how_it_changes: Opposite application can restore available value.
  - state: void
    meaning: Unused issued value has been cancelled but retained.
    how_it_changes: The completed void remains final.
acted_on_by:
  - CAP-ACC-TRX-009
  - CAP-ACC-TRX-011
  - CAP-ACC-TRX-012
  - CAP-ACC-TRX-014
visible_to:
  - ACT-ACC-012
  - ACT-ACC-002
  - ACT-ACC-021
evidence:
  - >-
    services-accounting at f47cb263875bbc0c5640fba7dae6785ec32695f8: docs/accounting/credits.md,
    settlements.md, refunds.md; docs/milestones/plans/ACCT-M2-plan.md (D4 to D6);
    docs/architecture/accounting-2.0/02-decisions.md (M2-2, A-9); modules/transactions/db/credits.table.ts,
    credit-applications.table.ts, credit-application-lines.table.ts.
  - >-
    react-console at baf6dae382d6f41dce976c7f848667ccc37e076f: components/accounting/credits/*,
    credit-applications/*; journeys ACT-ACC-0309, 0310, 0315, 0322, 0323, 0345.
supersedes: []
---

# Credit

## What It Is

Credit is value retained for a customer to use against eligible invoices. Staff can issue it as goodwill with an explanation and accounting destinations, or create it from money held on an existing receipt. Moving receipt value into credit changes where that value is available: it is no longer simply spare money on the original payment. The credit has its own customer, business unit, currency, reference and posting context.

Its available balance accounts for spending, refunds and reservations. A positive balance is open; a fully consumed balance is used. Those labels describe available value rather than whether the customer’s invoices are paid. Spending requires a credit application, whose retained lines connect the credit to the debt it settled. Staff can therefore follow the issued value, its uses and the remaining amount without reconstructing them from a memo or an edited invoice.

## What It Is Not

A credit memo changes the value billed on a particular invoice. Customer credit instead represents value available for eligible future settlement. A discount changes pricing and belongs to the purchase or product context. A refund sends value back rather than preserving it for spending. An unapplied payment remains a receipt until someone explicitly transfers its value into credit. These distinctions matter when staff answer whether the customer owes less, holds value for later use or has actually received money back.

## How It Is Used

Staff issue goodwill value for a service problem, retain an overpayment for a later renewal or apply existing credit during settlement. They inspect available balance before choosing invoice targets. When an application was wrong, they reverse that application rather than editing away its original lines. An unused credit can be voided when it should not have been issued. Customer, expiry and order restrictions can prevent spending even when the displayed value is positive, and competing requests cannot consume the same last amount.

## Its Facets

**Source.** Manual issue needs its accounting explanation and destinations. Payment-backed and overpayment value retain their connection to collected money, which explains where value returns if an unused credit is voided.

**Balance.** Issued value less spending, refunds and reservations gives the amount available. Database-maintained balances protect against both excessive single requests and overlapping attempts.

**Application.** A numbered application is the document that spends credit on invoice lines. It identifies the eligible debt and preserves the line-level effect for later inspection.

**Opposing application.** Reversal creates a new document with the opposite effect. The original remains identifiable and cannot be reversed repeatedly to manufacture extra available value.

**Reservation.** Settlement holds chosen credit while its associated payment is unresolved. The hold protects value from a second settlement and is released when the first one definitely fails.

**Expiry and order restriction.** Optional dates and order categories limit eligible use. The current application guard respects expiry even though no worker changes the credit’s displayed standing to expired.

**Void.** Cancelling unused credit retains the document and explanation. For payment-backed credit, it also makes the transferred money available on the original receipt again.

## How It Relates

Invoice lines receive value through applications, and customer-account summaries include available credit alongside receipt money. Billing reversal can use payment-backed credit to settle a cancellation fee or retain remaining value. Refund work can return the balance. Shared transaction safeguards preserve references, posting placement and retained history across these operations.

## What It Could Become

The product should decide whether expired value must also disappear from available-credit reporting and display. It should confirm restrictions for the later multi-customer receipt model while preserving credit’s own customer boundary. Clearer staff explanations of source, available balance and reservation would help distinguish positive displayed value from value that can actually be spent now.
