---
title: SAIF.Business.Claim.Payment operations and processes
summary: Operation catalog and cross-operation hub for the claim-payment business objects.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-30
library: SAIF.Business.Claim.Payment
reference_type: package
---

# SAIF.Business.Claim.Payment operations and processes

This page is the operation catalog and cross-operation hub for `SAIF.Business.Claim.Payment`. The library exposes fourteen operations covering the low-level financial transaction ledger, payment posting/totals bookkeeping, benefit periods and schedules, payee management, refund and transfer adjustments, bill payment adjustments and payment deletion, state and federal awards, timeloss payment issuance, wage calculation worksheets, offset/supplemental wage calculation, medical bill and non-recurring payments, settlement and legal-order payments, and payment list/NDR data retrieval. Each operation's detailed, step-by-step logic lives in its own page under `operations/`.

## Operation catalog

| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) | Create, retrieve, and remark the claim financial transaction ledger (header and detail lines) | `clsFinancialTrans.NewFinancialTrans`/`GetFinancialTrans` followed by property edits and `Save()` | Claim ID, transaction type, payee/detail lines, remark text | Inserted/updated `CL_FINANCIAL_TRANS`/`CL_FINANCIAL_TRANS_DTL` rows; persisted remark | [BR-CP-001](business-rules.md#br-cp-001-optimistic-concurrency-on-all-stored-procedure-based-operations), [BR-CP-004](business-rules.md#br-cp-004-payee-address-must-be-valid-before-a-transaction-can-save), [BR-CP-005](business-rules.md#br-cp-005-reimbursement-program-precedence-on-a-transaction-detail), [BR-CP-006](business-rules.md#br-cp-006-claim-cost-category-suppressed-for-non-chargeable-or-reimbursable-details), [BR-CP-007](business-rules.md#br-cp-007-new-financial-transactions-default-to-released-indemnity-current-user-initiated), [BR-CP-008](business-rules.md#br-cp-008-first-payment-determined-by-absence-of-a-posted-transaction) | [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans), [CL_FINANCIAL_TRANS_DTL](database-tables.md#cl_financial_trans_dtl) | [SQL-020](sql/SQL-020.md), [SQL-054](sql/SQL-054.md), [SQL-055](sql/SQL-055.md)–[SQL-065](sql/SQL-065.md), [SQL-101](sql/SQL-101.md), [SQL-102](sql/SQL-102.md), [SQL-124](sql/SQL-124.md) |
| [Payment posting and totals management](operations/payment-posting-and-totals-management.md) | Record insert-only payment postings and maintain append-only running claim payment totals per cost category | `clsPaymentPosting.NewPaymentPosting`/`clsPaymentTotalManager` retrieval, followed by `Save()` | Financial transaction sequence number, cost category, paid amount/days | Inserted `CL_PAYMENT_POSTING` row; new `CL_PAYMENT_TOTAL` rows for changed categories only | [BR-CP-001](business-rules.md#br-cp-001-optimistic-concurrency-on-all-stored-procedure-based-operations), [BR-CP-009](business-rules.md#br-cp-009-payment-postings-are-insert-only), [BR-CP-010](business-rules.md#br-cp-010-claim-payment-totals-are-append-only-and-latest-sequence-wins) | [CL_PAYMENT_POSTING](database-tables.md#cl_payment_posting), [CL_PAYMENT_TOTAL](database-tables.md#cl_payment_total) | [SQL-023](sql/SQL-023.md), [SQL-024](sql/SQL-024.md), [SQL-076](sql/SQL-076.md), [SQL-077](sql/SQL-077.md), [SQL-078](sql/SQL-078.md) |
| [Benefit period and schedule management](operations/benefit-period-and-schedule-management.md) | Maintain benefit periods, payment schedules, and pay remarks under a benefit payment | `clsBenefitPeriodCollection.GetClaimBenefitPeriodCollection`/`clsBenefitSchedule` retrieval, edits, `Save()` | Claim/benefit-payment ID, period dates and amounts, schedule fields, remark code | Inserted/updated/deleted `CL_BENEFIT_PERIOD`/`CL_BENEFIT_SCHEDULE` rows (not separately catalogued); persisted remark | [BR-CP-001](business-rules.md#br-cp-001-optimistic-concurrency-on-all-stored-procedure-based-operations), [BR-CP-011](business-rules.md#br-cp-011-benefit-period-amount-must-reconcile-to-td-plus-interest-minus-previously-paid), [BR-CP-012](business-rules.md#br-cp-012-overlapping-benefit-periods-of-the-same-category-are-invalid), [BR-CP-013](business-rules.md#br-cp-013-previously-paid-history-requires-exact-gap-free-coverage), [BR-CP-014](business-rules.md#br-cp-014-scheduled-future-payments-are-capped-and-roll-to-the-next-work-day), [BR-CP-015](business-rules.md#br-cp-015-a-blank-benefit-remark-code-deletes-the-remark-a-non-blank-code-must-be-active) | [DUAL](database-tables.md#dual) | [SQL-004](sql/SQL-004.md), [SQL-014](sql/SQL-014.md), [SQL-015](sql/SQL-015.md), [SQL-016](sql/SQL-016.md), [SQL-047](sql/SQL-047.md)–[SQL-050](sql/SQL-050.md), [SQL-097](sql/SQL-097.md)–[SQL-099](sql/SQL-099.md), [SQL-120](sql/SQL-120.md)–[SQL-122](sql/SQL-122.md) |
| [Payee management](operations/payee-management.md) | Create and validate the polymorphic payee hierarchy (worker, beneficiary, employer, provider, recovery, support, attorney/other) attached to a payment | `clsPayeeFactory.CreatePayee`/`clsPayeeCollection` retrieval, edits, `Save()` | Payee type, claim/payment context, distribution percentage, support-order/award-info child data | Inserted/updated/deleted payee rows; persisted `CL_STATE_AWARD_MONTHLY_PAYEE` child rows | [BR-CP-001](business-rules.md#br-cp-001-optimistic-concurrency-on-all-stored-procedure-based-operations), [BR-CP-016](business-rules.md#br-cp-016-payee-implementation-is-selected-by-payee-type-code), [BR-CP-017](business-rules.md#br-cp-017-payment-address-required-for-a-non-zero-non-award-payee), [BR-CP-018](business-rules.md#br-cp-018-cash-card-identifiers-must-be-numeric-and-within-length-limits), [BR-CP-019](business-rules.md#br-cp-019-provider-payees-require-a-valid-location-and-tax-id-for-non-zero-payments), [BR-CP-020](business-rules.md#br-cp-020-support-payee-requires-an-active-support-order-for-immediate-payment), [BR-CP-021](business-rules.md#br-cp-021-auto-payee-eligibility-and-de-duplication), [BR-CP-025](business-rules.md#br-cp-025-overpayment-recoverable-balance-is-enforced-on-settlement-recovery-payees-not-on-refund-payments) | [CL_STATE_AWARD_MONTHLY_PAYEE](database-tables.md#cl_state_award_monthly_payee), [CL_CLAIM_SUPPORT_ORDER](database-tables.md#cl_claim_support_order) | [SQL-012](sql/SQL-012.md), [SQL-045](sql/SQL-045.md), [SQL-070](sql/SQL-070.md), [SQL-084](sql/SQL-084.md)–[SQL-087](sql/SQL-087.md), [SQL-095](sql/SQL-095.md), [SQL-118](sql/SQL-118.md) |
| [Refund adjustment processing](operations/refund-adjustment-processing.md) | Reverse previously paid medical, HWR, non-disabling, worker-travel, third-party, or SAIF-check amounts | Caller constructs the concrete refund class and calls `Save()` | Claim data, candidate payments/service lines, refund amounts, remark | Negative-amount financial transactions and bill payment adjustments (delegated); external recovery/activity API requests (ND, third-party) | [BR-CP-022](business-rules.md#br-cp-022-refund-and-transfer-adjustments-are-mutually-exclusive-by-concrete-type), [BR-CP-023](business-rules.md#br-cp-023-paid-cost-and-own-motion-checks-on-refunds-are-overridable-warnings), [BR-CP-024](business-rules.md#br-cp-024-non-disabling-and-third-party-refunds-route-through-the-external-claim-data-api), [BR-CP-026](business-rules.md#br-cp-026-bill-payment-adjustments-require-an-eligible-financial-transaction), [BR-CP-073](business-rules.md#br-cp-073-non-disabling-reimbursement-is-capped-against-the-cumulative-recovered-amount) | See [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) | Delegated — see [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) |
| [Transfer adjustment processing](operations/transfer-adjustment-processing.md) | Move payments between claims (claim-to-claim), reassign to a different worker (full), or transfer between payees (other) | Caller constructs the concrete transfer class, selects payments, calls `Save()` | Source/target claim or worker, selected payments, transfer reason | Paired "From"/"To" financial transactions linked by `TransferTransID` (delegated) | [BR-CP-022](business-rules.md#br-cp-022-refund-and-transfer-adjustments-are-mutually-exclusive-by-concrete-type) | See [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) | Delegated — see [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) |
| [Bill payment adjustment and payment deletion](operations/bill-payment-adjustment-and-payment-deletion.md) | Record a claim-level adjustment against an audited bill line; delete released payments and every related payment | `clsBillPaymentAdjustment.NewBillPaymentAdjustment`; `clsPaymentDeleter.DeletePayments` | Financial transaction reference, bill/audit sequence, adjustment amount; selected payments to delete | Inserted `CL_FINANCIAL_TRANS_BILL_ADJUST` row; deleted `CL_FINANCIAL_TRANS` rows | [BR-CP-026](business-rules.md#br-cp-026-bill-payment-adjustments-require-an-eligible-financial-transaction), [BR-CP-027](business-rules.md#br-cp-027-a-released-payment-must-remain-in-released-state-to-be-deleted) | [CL_FINANCIAL_TRANS_BILL_ADJUST](database-tables.md#cl_financial_trans_bill_adjust), [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans) | [SQL-017](sql/SQL-017.md) |
| [State and federal award payment processing](operations/state-and-federal-award-payment-processing.md) | Create, validate, approve, and pay Fatal/PPD/PTD state awards and federal award payments, including Social Security offsets | Adjuster creates/edits an award and approves generated award payments | Claim type, award type, effective/order/closure dates, worker data, offset data, payee selections | Persisted `CL_AWARD`/`CL_AWARD_SS_OFFSET`/`CL_STATE_AWARD_MONTHLY_PAYEE` rows; released award financial transaction | [BR-CP-028](business-rules.md#br-cp-028-award-type-must-match-the-claim-type)–[BR-CP-037](business-rules.md#br-cp-037-award-double-payment-guard) | [CL_AWARD](database-tables.md#cl_award), [CL_AWARD_SS_OFFSET](database-tables.md#cl_award_ss_offset), [CL_STATE_AWARD_MONTHLY_PAYEE](database-tables.md#cl_state_award_monthly_payee), [CL_BENEFIT_PAYMENT](database-tables.md#cl_benefit_payment), [CL_CLAIM_CLOSURE_ORDER](database-tables.md#cl_claim_closure_order), [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans) | [SQL-003](sql/SQL-003.md), [SQL-011](sql/SQL-011.md)–[SQL-013](sql/SQL-013.md), [SQL-039](sql/SQL-039.md)–[SQL-046](sql/SQL-046.md), [SQL-094](sql/SQL-094.md)–[SQL-096](sql/SQL-096.md), [SQL-117](sql/SQL-117.md)–[SQL-119](sql/SQL-119.md) |
| [Timeloss payment issuance](operations/timeloss-payment-issuance.md) | Validate, schedule, and approve temporary-disability (TD) benefit payments | Adjuster enters/approves a `clsTimelossPayment` against benefit periods | Claim ID, benefit periods, payment category, payee list, issue date | Approved/released TD financial transaction (delegated); updated benefit period/schedule state | [BR-CP-038](business-rules.md#br-cp-038-duplicate-timeloss-payment-guard)–[BR-CP-045](business-rules.md#br-cp-045-timeloss-issue-date-bounds-and-benefit-period-fiscal-year-split), [BR-CP-048](business-rules.md#br-cp-048-active-state-award-blocks-or-flags-timeloss) | See [Benefit period and schedule management](operations/benefit-period-and-schedule-management.md) | Delegated — see [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) and [Benefit period and schedule management](operations/benefit-period-and-schedule-management.md) |
| [Wage calculation worksheet management](operations/wage-calculation-worksheet-management.md) | Record and finalize primary/secondary wage worksheets used to establish the statutory average weekly wage | Adjuster/auditor creates, edits, verifies, or finalizes a wage worksheet | Calculation method, pay-period unit, work-shift hours, paid amount, per-period earnings, secondary employer name | `CL_CLAIM_TIMELOSS_CALCULATION`/`CL_SEC_TIMELOSS_CALCULATION` header rows; period and earnings-grid rows; frozen statutory weekly wage | [BR-CP-046](business-rules.md#br-cp-046-finalizing-a-timeloss-wage-worksheet-freezes-the-statutory-wage-and-discards-in-progress-worksheets), [BR-CP-047](business-rules.md#br-cp-047-wage-worksheet-validation-sets-primary-and-secondary), [BR-CP-051](business-rules.md#br-cp-051-only-final-secondary-wage-worksheets-feed-multiple-employer-wages-and-supplemental-benefits), [BR-CP-052](business-rules.md#br-cp-052-legal-order-date-blocked-while-secondary-wage-worksheets-are-in-progress) | [CL_CLAIM_TIMELOSS_CALCULATION](database-tables.md#cl_claim_timeloss_calculation), [CL_SEC_TIMELOSS_CALCULATION](database-tables.md#cl_sec_timeloss_calculation), [CL_WAGE_CALCULATION_PERIOD](database-tables.md#cl_wage_calculation_period), [CL_SEC_WAGE_CALCULATION_PERIOD](database-tables.md#cl_sec_wage_calculation_period), [CL_WAGE_CALC_PERIOD_EARNINGS](database-tables.md#cl_wage_calc_period_earnings), [CL_SEC_WAGE_CALC_PER_EARNINGS](database-tables.md#cl_sec_wage_calc_per_earnings), [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | [SQL-018](sql/SQL-018.md), [SQL-025](sql/SQL-025.md)–[SQL-030](sql/SQL-030.md), [SQL-051](sql/SQL-051.md), [SQL-066](sql/SQL-066.md), [SQL-079](sql/SQL-079.md)–[SQL-081](sql/SQL-081.md), [SQL-088](sql/SQL-088.md), [SQL-089](sql/SQL-089.md), [SQL-100](sql/SQL-100.md), [SQL-103](sql/SQL-103.md), [SQL-106](sql/SQL-106.md)–[SQL-108](sql/SQL-108.md), [SQL-112](sql/SQL-112.md), [SQL-113](sql/SQL-113.md), [SQL-123](sql/SQL-123.md), [SQL-128](sql/SQL-128.md)–[SQL-130](sql/SQL-130.md), [SQL-132](sql/SQL-132.md), [SQL-133](sql/SQL-133.md) |
| [Offset and supplemental wage calculation](operations/offset-and-supplemental-wage-calculation.md) | Build per-period offset wage earnings and reallocate supplemental wage shortfalls to compute the timeloss offset amount | `clsTimelossPayment.AssignOffsetWagesToPeriods` computing offset/supplemental amounts | Wage type, hours/rate entries, average weekly wage, secondary employer earnings | `CL_OFFSET_CALC_PERIOD`/`CL_OFFSET_WAGE_CALCULATION` rows; `CL_SEC_WAGE_EARNINGS` rows; `OffsetAmount`/`OffsetAmountAdjusted` on benefit periods | [BR-CP-051](business-rules.md#br-cp-051-only-final-secondary-wage-worksheets-feed-multiple-employer-wages-and-supplemental-benefits), [BR-CP-053](business-rules.md#br-cp-053-offset-wage-earnings-formula-and-rounding)–[BR-CP-056](business-rules.md#br-cp-056-offset-rate-entry-required-in-daily-mode-warning-only) | [CL_OFFSET_CALC_PERIOD](database-tables.md#cl_offset_calc_period), [CL_OFFSET_WAGE_CALCULATION](database-tables.md#cl_offset_wage_calculation), [CL_SEC_WAGE_EARNINGS](database-tables.md#cl_sec_wage_earnings), [CL_SEC_TIMELOSS_CALCULATION](database-tables.md#cl_sec_timeloss_calculation) | [SQL-005](sql/SQL-005.md), [SQL-006](sql/SQL-006.md), [SQL-021](sql/SQL-021.md), [SQL-022](sql/SQL-022.md), [SQL-026](sql/SQL-026.md), [SQL-028](sql/SQL-028.md), [SQL-068](sql/SQL-068.md), [SQL-069](sql/SQL-069.md), [SQL-082](sql/SQL-082.md), [SQL-083](sql/SQL-083.md), [SQL-104](sql/SQL-104.md), [SQL-105](sql/SQL-105.md), [SQL-107](sql/SQL-107.md), [SQL-111](sql/SQL-111.md), [SQL-126](sql/SQL-126.md), [SQL-127](sql/SQL-127.md), [SQL-129](sql/SQL-129.md)–[SQL-131](sql/SQL-131.md) |
| [Medical bill and non-recurring payment processing](operations/medical-bill-and-non-recurring-payment-processing.md) | Validate, cost-code, and approve one-time payments (medical bill, burial, EAIP, employer refund, penalty) | Adjuster creates and approves a non-recurring payment type | Payee type, service/expense category, amount, dates | Released financial transaction (delegated); benefit-payment header row deleted after release | [BR-CP-057](business-rules.md#br-cp-057-a-responsible-adjuster-and-non-void-claim-status-are-required-to-create-a-payment)–[BR-CP-063](business-rules.md#br-cp-063-eaip-payment-approval-bypasses-the-awaiting-approval-authority-gate) | [CLAIM_NON_DISAB_REIMB_MAX](database-tables.md#claim_non_disab_reimb_max) | [SQL-053](sql/SQL-053.md) |
| [Settlement and legal-order payment processing](operations/settlement-and-legal-order-payment-processing.md) | Validate, approve, and release CDA, DCS, federal, and legal-order settlement payments | Adjuster creates a settlement payment and approves/releases it | Settlement total, payee distributions, order-approved date, claim jurisdiction | Released settlement transaction (delegated); claim status update (CDA close, DCS deactivation); updated `CL_INJURY_CLAIM` | [BR-CP-025](business-rules.md#br-cp-025-overpayment-recoverable-balance-is-enforced-on-settlement-recovery-payees-not-on-refund-payments), [BR-CP-064](business-rules.md#br-cp-064-settlement-amount-distribution-and-order-date-consistency)–[BR-CP-070](business-rules.md#br-cp-070-federal-settlement-requires-a-federal-jurisdiction-and-excludes-medical-providers-from-auto-payees) | [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | [SQL-109](sql/SQL-109.md), [SQL-110](sql/SQL-110.md) |
| [Payment list queries and NDR claim data retrieval](operations/payment-list-queries-and-ndr-claim-data-retrieval.md) | Retrieve pending-approval/by-approver payment worklists with confidentiality masking; enforce payment authority limits; retrieve NDR claim amounts | Adjuster/approver opens a worklist; payment initiation/approval checks authority; a refund needs NDR claim amounts | Mail/approver ID, business function/amount, claim ID | Read-only masked payment-list rows; authority pass/fail; NDR claim amount figures | [BR-CP-002](business-rules.md#br-cp-002-payments-may-be-filtered-by-approver-vs-initiator-role), [BR-CP-071](business-rules.md#br-cp-071-confidential-worker-names-are-masked-on-payment-lists), [BR-CP-072](business-rules.md#br-cp-072-payment-authority-is-limited-by-expiration-date-and-configured-maximum-amount), [BR-CP-073](business-rules.md#br-cp-073-non-disabling-reimbursement-is-capped-against-the-cumulative-recovered-amount) | [CLAIM_NON_DISAB_REIMB_MAX](database-tables.md#claim_non_disab_reimb_max), [CL_FINANCIAL_TRANS_DTL](database-tables.md#cl_financial_trans_dtl), [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | [SQL-067](sql/SQL-067.md), [SQL-073](sql/SQL-073.md)–[SQL-075](sql/SQL-075.md) |

## Process flow diagram

The following diagram shows how the fourteen operations relate: the financial-transaction ledger and payment-posting/totals bookkeeping form the shared foundation that every payment-producing operation writes through; benefit periods, payees, awards, timeloss, wage calculations, non-recurring payments, and settlements each build on that foundation; and payment lists/authority checks/NDR data retrieval provide the read-side and cross-cutting authority gate.

```mermaid
flowchart TD
	Start([Adjuster initiates a payment-related action]) --> Foundation[Financial transaction<br>and remark management]
	Foundation --> Posting[Payment posting and<br>totals management]
	Start --> Periods[Benefit period and<br>schedule management]
	Start --> Payees[Payee management]
	Start --> Adjustments{Adjustment type?}
	Adjustments -->|Refund| Refund[Refund adjustment processing]
	Adjustments -->|Transfer| Transfer[Transfer adjustment processing]
	Adjustments -->|Bill adjustment/delete| BillAdj[Bill payment adjustment<br>and payment deletion]
	Refund --> Foundation
	Transfer --> Foundation
	Start --> Awards[State and federal award<br>payment processing]
	Awards --> Periods
	Awards --> Payees
	Start --> Timeloss[Timeloss payment issuance]
	Timeloss --> Periods
	Timeloss --> Wage[Wage calculation<br>worksheet management]
	Timeloss --> Offset[Offset and supplemental<br>wage calculation]
	Offset --> Wage
	Start --> NonRecurring[Medical bill and<br>non-recurring payment processing]
	Start --> Settlement[Settlement and legal-order<br>payment processing]
	Foundation --> Posting
	Awards --> Posting
	Timeloss --> Posting
	NonRecurring --> Posting
	Settlement --> Posting
	AuthCheck([Any payment initiate/approve]) --> PaymentList[Payment list queries and<br>NDR claim data retrieval]
	Refund --> PaymentList
	Posting --> Done([Payment released and posted])
```

## Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under `operations/`.

| Operation | SQL | Tables | Type |
| --- | --- | --- | --- |
| [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) | [SQL-020](sql/SQL-020.md), [SQL-054](sql/SQL-054.md)–[SQL-065](sql/SQL-065.md), [SQL-101](sql/SQL-101.md), [SQL-102](sql/SQL-102.md), [SQL-124](sql/SQL-124.md) | [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans), [CL_FINANCIAL_TRANS_DTL](database-tables.md#cl_financial_trans_dtl) | Read / Write |
| [Payment posting and totals management](operations/payment-posting-and-totals-management.md) | [SQL-023](sql/SQL-023.md), [SQL-024](sql/SQL-024.md), [SQL-076](sql/SQL-076.md)–[SQL-078](sql/SQL-078.md) | [CL_PAYMENT_POSTING](database-tables.md#cl_payment_posting), [CL_PAYMENT_TOTAL](database-tables.md#cl_payment_total) | Read / Insert only |
| [Benefit period and schedule management](operations/benefit-period-and-schedule-management.md) | [SQL-004](sql/SQL-004.md), [SQL-014](sql/SQL-014.md)–[SQL-016](sql/SQL-016.md), [SQL-047](sql/SQL-047.md)–[SQL-050](sql/SQL-050.md), [SQL-097](sql/SQL-097.md)–[SQL-099](sql/SQL-099.md), [SQL-120](sql/SQL-120.md)–[SQL-122](sql/SQL-122.md) | [DUAL](database-tables.md#dual) (period/schedule/remark tables not separately catalogued) | Read / Write |
| [Payee management](operations/payee-management.md) | [SQL-012](sql/SQL-012.md), [SQL-045](sql/SQL-045.md), [SQL-070](sql/SQL-070.md), [SQL-084](sql/SQL-084.md)–[SQL-087](sql/SQL-087.md), [SQL-095](sql/SQL-095.md), [SQL-118](sql/SQL-118.md) | [CL_STATE_AWARD_MONTHLY_PAYEE](database-tables.md#cl_state_award_monthly_payee), [CL_CLAIM_SUPPORT_ORDER](database-tables.md#cl_claim_support_order) | Read / Write |
| [Bill payment adjustment and payment deletion](operations/bill-payment-adjustment-and-payment-deletion.md) | [SQL-017](sql/SQL-017.md) | [CL_FINANCIAL_TRANS_BILL_ADJUST](database-tables.md#cl_financial_trans_bill_adjust), [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans) | Insert only / Delete |
| [State and federal award payment processing](operations/state-and-federal-award-payment-processing.md) | [SQL-003](sql/SQL-003.md), [SQL-011](sql/SQL-011.md)–[SQL-013](sql/SQL-013.md), [SQL-039](sql/SQL-039.md)–[SQL-046](sql/SQL-046.md), [SQL-094](sql/SQL-094.md)–[SQL-096](sql/SQL-096.md), [SQL-117](sql/SQL-117.md)–[SQL-119](sql/SQL-119.md) | [CL_AWARD](database-tables.md#cl_award), [CL_AWARD_SS_OFFSET](database-tables.md#cl_award_ss_offset), [CL_STATE_AWARD_MONTHLY_PAYEE](database-tables.md#cl_state_award_monthly_payee), [CL_BENEFIT_PAYMENT](database-tables.md#cl_benefit_payment), [CL_CLAIM_CLOSURE_ORDER](database-tables.md#cl_claim_closure_order), [CL_FINANCIAL_TRANS](database-tables.md#cl_financial_trans) | Read / Write |
| [Wage calculation worksheet management](operations/wage-calculation-worksheet-management.md) | [SQL-018](sql/SQL-018.md), [SQL-025](sql/SQL-025.md)–[SQL-030](sql/SQL-030.md), [SQL-051](sql/SQL-051.md), [SQL-066](sql/SQL-066.md), [SQL-079](sql/SQL-079.md)–[SQL-081](sql/SQL-081.md), [SQL-088](sql/SQL-088.md), [SQL-089](sql/SQL-089.md), [SQL-100](sql/SQL-100.md), [SQL-103](sql/SQL-103.md), [SQL-106](sql/SQL-106.md)–[SQL-108](sql/SQL-108.md), [SQL-112](sql/SQL-112.md), [SQL-113](sql/SQL-113.md), [SQL-123](sql/SQL-123.md), [SQL-128](sql/SQL-128.md)–[SQL-130](sql/SQL-130.md), [SQL-132](sql/SQL-132.md), [SQL-133](sql/SQL-133.md) | [CL_CLAIM_TIMELOSS_CALCULATION](database-tables.md#cl_claim_timeloss_calculation), [CL_SEC_TIMELOSS_CALCULATION](database-tables.md#cl_sec_timeloss_calculation), [CL_WAGE_CALCULATION_PERIOD](database-tables.md#cl_wage_calculation_period), [CL_SEC_WAGE_CALCULATION_PERIOD](database-tables.md#cl_sec_wage_calculation_period), [CL_WAGE_CALC_PERIOD_EARNINGS](database-tables.md#cl_wage_calc_period_earnings), [CL_SEC_WAGE_CALC_PER_EARNINGS](database-tables.md#cl_sec_wage_calc_per_earnings), [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | Read / Write |
| [Offset and supplemental wage calculation](operations/offset-and-supplemental-wage-calculation.md) | [SQL-005](sql/SQL-005.md), [SQL-006](sql/SQL-006.md), [SQL-021](sql/SQL-021.md), [SQL-022](sql/SQL-022.md), [SQL-026](sql/SQL-026.md), [SQL-028](sql/SQL-028.md), [SQL-068](sql/SQL-068.md), [SQL-069](sql/SQL-069.md), [SQL-082](sql/SQL-082.md), [SQL-083](sql/SQL-083.md), [SQL-104](sql/SQL-104.md), [SQL-105](sql/SQL-105.md), [SQL-107](sql/SQL-107.md), [SQL-111](sql/SQL-111.md), [SQL-126](sql/SQL-126.md), [SQL-127](sql/SQL-127.md), [SQL-129](sql/SQL-129.md)–[SQL-131](sql/SQL-131.md) | [CL_OFFSET_CALC_PERIOD](database-tables.md#cl_offset_calc_period), [CL_OFFSET_WAGE_CALCULATION](database-tables.md#cl_offset_wage_calculation), [CL_SEC_WAGE_EARNINGS](database-tables.md#cl_sec_wage_earnings), [CL_SEC_TIMELOSS_CALCULATION](database-tables.md#cl_sec_timeloss_calculation) | Read / Write |
| [Medical bill and non-recurring payment processing](operations/medical-bill-and-non-recurring-payment-processing.md) | [SQL-053](sql/SQL-053.md) | [CLAIM_NON_DISAB_REIMB_MAX](database-tables.md#claim_non_disab_reimb_max) | Read |
| [Settlement and legal-order payment processing](operations/settlement-and-legal-order-payment-processing.md) | [SQL-109](sql/SQL-109.md), [SQL-110](sql/SQL-110.md) | [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | Write |
| [Payment list queries and NDR claim data retrieval](operations/payment-list-queries-and-ndr-claim-data-retrieval.md) | [SQL-067](sql/SQL-067.md), [SQL-073](sql/SQL-073.md)–[SQL-075](sql/SQL-075.md) | [CLAIM_NON_DISAB_REIMB_MAX](database-tables.md#claim_non_disab_reimb_max), [CL_FINANCIAL_TRANS_DTL](database-tables.md#cl_financial_trans_dtl), [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim) | Read (plus external claim-data API) |

Refund and transfer adjustment processing, timeloss payment issuance, and medical bill/settlement payment release all delegate their final persistence to [Financial transaction and remark management](operations/financial-transaction-and-remark-management.md) and [Payment posting and totals management](operations/payment-posting-and-totals-management.md), so their own database interactions are not separately catalogued here beyond what is shown in each operation's detail page.

## Stored procedure operations

Operations implemented in Oracle packages referenced by this library. All three packages below were referenced in code but not found during Oracle catalog retrieval (Stage 1b); the described behavior is inferred from VB call sites rather than verified package bodies.*

| Operation | Description | Source | Link |
| --- | --- | --- | --- |
| Claim benefit period/schedule/payee/payment-list operations* | Insert, update, delete, and retrieval calls for benefit periods, schedules, remarks, award payee info, and payment lists.* | `PK82394_CLAIM_BENEFIT.*` | [Details](procedures/pk82394_claim_benefit.md) |
| Financial transaction persistence* | Insert, update, delete, and retrieval calls for the financial transaction header/detail ledger and payment postings.* | `PK82343_FINANCIAL_TRANS.*` | [Details](procedures/pk82343_financial_trans.md) |
| Overpayment balance calculation* | Referenced by test-only code (see [business rules notes](business-rules.md#notes) on the [BR-CP-003](business-rules.md#br-cp-003-overpayment-recovery-balance-determines-eligibility) citation); not confirmed against production call sites in this pass. | `PK82395_OVERPAYMENTS.*` | [Details](procedures/pk82395_overpayments.md) |

## Failure and edge-case behavior

- Optimistic concurrency ([BR-CP-001](business-rules.md#br-cp-001-optimistic-concurrency-on-all-stored-procedure-based-operations)) is the dominant failure mode across the ledger, posting, period, and payee operations: every persisting operation checks the affected row count and adds a DB contention error instead of throwing. Detailed per-operation behavior is documented on each operation page.
- Payment postings and payment totals are insert-only/append-only ([BR-CP-009](business-rules.md#br-cp-009-payment-postings-are-insert-only), [BR-CP-010](business-rules.md#br-cp-010-claim-payment-totals-are-append-only-and-latest-sequence-wins)); there is no update path for a posted or totaled payment — corrections happen by posting an offsetting entry, not by editing history.
- Refund and transfer adjustments never modify `CL_FINANCIAL_TRANS` directly except through the shared financial-transaction save path; non-disabling and third-party refunds instead route entirely through external claim-data/activity APIs and never touch that table at all.
- Non-recurring payments (burial, EAIP, employer refund, penalty, medical bill) and settlements are released as financial transactions, not retained as `CL_BENEFIT_PAYMENT` rows, once approved ([BR-CP-062](business-rules.md#br-cp-062-an-approved-non-recurring-payment-is-released-not-retained-as-a-benefit-payment-row)) — any report querying that table for a released payment of these types will not find it.
- EAIP payment approval and legal-order payment approval sit at opposite ends of the authority spectrum: EAIP bypasses the standard awaiting-approval checks entirely ([BR-CP-063](business-rules.md#br-cp-063-eaip-payment-approval-bypasses-the-awaiting-approval-authority-gate)), while legal-order payments can never be self-approved under any circumstance ([BR-CP-067](business-rules.md#br-cp-067-legal-order-payments-can-never-be-self-approved)).
- Wage worksheet finalization discards all in-progress worksheets for the claim as a side effect ([BR-CP-046](business-rules.md#br-cp-046-finalizing-a-timeloss-wage-worksheet-freezes-the-statutory-wage-and-discards-in-progress-worksheets)), and only Final secondary worksheets feed the offset/supplemental wage calculation ([BR-CP-051](business-rules.md#br-cp-051-only-final-secondary-wage-worksheets-feed-multiple-employer-wages-and-supplemental-benefits)) — an in-progress secondary worksheet is invisible to payment until finalized.
- `PK82394_CLAIM_BENEFIT`, `PK82343_FINANCIAL_TRANS`, and `PK82395_OVERPAYMENTS` could not be located in the Oracle catalog, so the stored-procedure behavior documented across all fourteen operations is derived from VB call sites and parameter shapes rather than verified package bodies.*
- The [BR-CP-003](business-rules.md#br-cp-003-overpayment-recovery-balance-determines-eligibility) citation of `pk82395_overpayments.getRecoverableBalance` was found only in test-only code during this pass; the confirmed production equivalent is `clsSettlementPayment.CheckApprovalErrors` against `ClaimData.OverpaymentBalance` ([BR-CP-025](business-rules.md#br-cp-025-overpayment-recoverable-balance-is-enforced-on-settlement-recovery-payees-not-on-refund-payments); see also the [business rules notes](business-rules.md#notes)).

## Related documentation

- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources

- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTrans.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransCollection.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransDtl.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTransDtlCollection.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsFinancialTranRemark.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentPosting.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentPostingCollection.vb`
- `Business\SAIF.Business.Claim.Payment\FinancialTransaction\clsPaymentTotalManager.vb`
- `Business\SAIF.Business.Claim.Payment\Periods\clsBenefitPeriod.vb`
- `Business\SAIF.Business.Claim.Payment\Periods\clsBenefitPeriodCollection.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsBenefitSchedule.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsBenefitScheduleCollection.vb`
- `Business\SAIF.Business.Claim.Payment\clsBenefitRemark.vb`
- `Business\SAIF.Business.Claim.Payment\Payees\clsPayeeBase.vb`
- `Business\SAIF.Business.Claim.Payment\Payees\clsPayeeFactory.vb`
- `Business\SAIF.Business.Claim.Payment\Payees\clsPayeeCollection.vb`
- `Business\SAIF.Business.Claim.Payment\Payees\clsAwardPayeeInfo.vb`
- `Business\SAIF.Business.Claim.Payment\Payees\clsSupportPayee.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\clsAdjustmentBase.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\Refunds\clsRefundAdjustment.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\Transfers\clsTransferAdjustment.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\clsBillPaymentAdjustment.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\clsBillPaymentAdjustments.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\clsPaymentDeleter.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAward.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardCollection.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\StateAwardPayments\clsAwardSSOffset.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\clsFederalAwardPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsTimelossPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsFederalTimelossPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Wage and Job\clsClaimTimelossCalculation.vb`
- `Business\SAIF.Business.Claim.Payment\Wage and Job\clsSecTimelossCalculation.vb`
- `Business\SAIF.Business.Claim.Payment\Wage and Job\clsInjuryClaimWageAndJob.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsOffsetWageCalculation.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\TimelossPayments\clsSupplementalWages.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\MedicalBillPayments\clsMedicalBillPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\NonRecurringPayments\clsNonRecurringPaymentBase.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\SettlementPayments\clsSettlementPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\SettlementPayments\clsCDAPayment.vb`
- `Business\SAIF.Business.Claim.Payment\Payments\SettlementPayments\clsDCSPayment.vb`
- `Business\SAIF.Business.Claim.Payment\clsPaymentListCollection.vb`
- `Business\SAIF.Business.Claim.Payment\clsPaymentUser.vb`
- `Business\SAIF.Business.Claim.Payment\Adjustments\Refunds\clsNdRefund.vb`
