# Phase 14.5 — Transaction Ledger

| Field | Value |
| --- | --- |
| Identifier | `payment-14.5` |
| Implementation Priority | **HIGH** |
| Status | Complete |
| Service | `payment` |
| Depends On | `payment-14.4` |

> Full specification: [payment-roadmap.md](../../payment-roadmap.md#phase-14-5--transaction-ledger)

## Purpose

Immutable append-only payment transaction ledger as system of record for captured payments — distinct from Accounting journals.

## Business Scope

Record paid transactions with PSP refs, fees, net amounts; query for admin and service-to-service status; completes HIGH priority MVP (14.0–14.5).

## Technical Scope

Aggregates: PaymentTransaction, PaymentTransactionFeeLine, PaymentLedgerEntry. No monetary UPDATE post-insert.

## Dependencies

`payment-14.4`

## Out of Scope

Refunds (14.6), splits (14.7), Accounting journals.

## Capabilities

`payment.ledger`, `payment.transactions`

## Permissions

`payment.transactions.view|export|manage`

## Events

`payment.transaction.recorded`, `payment.ledger.entry_appended`

## API Contracts

GET `/api/v1/payment-transactions`, GET by source ref, GET ledger entries

## Data Ownership

Payment owns payment ledger; Accounting owns GL.

## Provider Ownership

PSP transaction ids as refs.

## Integration Rules

Ledger write only after verified paid. Verticals query Payment for status.

## Quality Gates

Immutability, append-only, tenant isolation, traceability.

## Definition of Done

Paid flow produces ledger; queries work; HIGH priority path complete.

## Future Compatibility

Multi-currency partitions; facilitator settlement batch ids.
