---
title: Claim financial transactions
summary: Retrieve and translate a claim's time-loss financial transactions from the Guidewire financials API.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
operation_id: OP-SD-15
trigger: Caller requests financial transactions for a claim.
---

# Claim financial transactions

Retrieve and translate a claim's time-loss financial transactions from the Guidewire financials API.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-SD-15 |
| **Trigger** | Caller requests financial transactions for a claim. |
| **Inputs** | Claim id |
| **Outputs** | Filtered/translated financial transaction list |
| **Primary components** | `ClaimQueryProvider.GetFinancialTransactionsQuery` |
| **Entry point** | `Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs` |

## Steps

1. Retrieve financials through the Guidewire claim data API.
   > **Origin**: This step delegates to [`ClaimDataApiClient.GetGWClaimFinancials`](../../saif-data-guidewire/api/SAIF.Data.Guidewire.Clients/ClaimDataApiClient.md), implemented in `SAIF.Data.Guidewire`, which issues a cached GET of `claims/{claimId}/financials` with flags that can exclude payments, reserves, recoveries, and/or the financial summary.
3. Keep only payments with check status issued or cleared, and category temporary disability or voc TD; exclude line items with category legal fees ([SD-BR-046](../business-rules.md#sd-br-046-time-loss-financials-filtered-by-check-status-and-category)).
4. Translate GW category codes with `TranslateCategoryCodeFromGw`, which throws for unmapped categories ([SD-BR-047](../business-rules.md#sd-br-047-guidewire-category-code-must-map-to-a-legacy-category)).
5. Translate vocational status codes with `TranslateGWVocationalStatusCodeToLegacy` ([SD-BR-048](../business-rules.md#sd-br-048-guidewire-vocational-status-mapped-to-legacy-code)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([Caller requests financial transactions for a claim.]) --> S1["`ClaimQueryProvider.GetFinancialTransactionsQuery`"]
	S1 --> S2{"Rules satisfied?"}
	S2 -->|Yes| EndOk([Result returned])
	S2 -->|No| EndErr([Exception / empty result])
```

## Failure and edge-case behavior
- Unmapped Guidewire category code: `TranslateCategoryCodeFromGw` throws.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)


## Sources
- `Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs`
