Manage customer deposits, credits, and prepayments that can be applied to future purchases.
Accessing Account Payments
Navigate to Sales > Customer Account Payments.
What Are Account Payments?
Account payments represent money a customer has deposited or credited to their account before making a purchase. Common scenarios:
- Layaway/Deposit — Customer pays a deposit toward a specific product
- Store Credit — Refund issued as store credit
- Prepayment — Customer prepays for future purchases
- Gift from another customer — Funds transferred to the customer's account
Account Payment Types
| Type | Description | Usage |
|---|---|---|
| Generic | Can be used for any product | Flexible store credit |
| Product-Specific | Linked to a specific product | Deposits/layaway for a specific item |
Creating an Account Payment
- Customer — Select the customer
- Product — Link to a specific product (for product-specific type)
- Type — Generic or Product-Specific
- Amount — Total deposit amount
- Balance — Remaining available balance (auto-set to amount on creation)
- Reference Number — Auto-generated (format: ACC-YYYYMMDD-XXXXXXXX)
- Status — Active, Used, Expired, Cancelled
- Expires At — Optional expiration date
- Notes — Additional context
- Created By — Staff member who created the payment
Using Account Payments in POS
When a customer is selected at the POS:
- The system checks for active account payments
- Generic payments are available for any purchase
- Product-specific payments are only available when buying that specific product
- Staff selects which payments to apply
- Balances are reduced accordingly
Account Payment Lifecycle
Created (Active, full balance)
↓
Partially Used (Active, reduced balance)
↓
Fully Used (Used, zero balance)
or
Expired (if expiry date passes)
or
Cancelled (manually cancelled by staff)
Refunds
Account payments support refunds:
- Balance is increased by the refund amount
- If the payment was "Used", it's reactivated to "Active"
- A usage record is created with a negative amount
Expiration
- Payments with an
expires_atdate are automatically flagged when expired - Expired payments cannot be used in the POS
- Staff can manually expire payments via the
expire()method
Customer View
Each customer's profile shows:
- Total Account Balance — Sum of all active payment balances
- Active Payments — List of usable account payments
- Payment History — All usages with before/after balances