---
title: EFT authorization support
summary: Resolves worker, beneficiary, provider, and debit-card EFT authorization state by composing the pk82350_eft procedure family.
status: draft
owner: SAIF
last_reviewed: 2026-07-30
library: SAIF.Business
reference_type: package
operation_id: OP-SB-08
trigger: Caller requests EFT authorization or enrollment status.
---

# EFT authorization support

This operation centralizes the EFT-authorization checks implemented in `EFTServices` and the wrapper methods on `ClaimServices`. The .NET layer mostly orchestrates which `pk82350_eft` procedure to call and how to interpret the returned sequence numbers and counts.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-SB-08 |
| **Trigger** | Caller invokes EFT helper methods for workers, beneficiaries, providers, or card-enrollment status. |
| **Inputs** | Claim ID or claim number, person or beneficiary ID, provider ID, auth type, include-pending flag, date |
| **Outputs** | Authorization sequence, authorization type, count, or boolean |
| **Primary components** | `EFTServices.GetAuthType`, `EFTServices.IsAuthorizedForEFT`, `EFTServices.IsBeneficiaryAuthorizedForEFT`, `EFTServices.IsProviderAuthorizedForEFT`, `EFTServices.ActiveAuthCountByPerson`, `ClaimServices.HasActiveWorkerEFTAuth` |
| **Entry point** | `Business\SAIF.Business\EFTServices.vb` |

## Steps

1. Worker-based callers normalize their identifiers by either passing the claim number they already have or substituting the library's compatibility value when only a claim ID is available.
2. `GetAuthType` checks for a direct-deposit authorization first and, only if that returns no active sequence, checks for a debit-card enrollment so the caller receives the dominant EFT type in priority order ([SQL-035](../sql/SQL-035-eft-procedure-family.md), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
3. Person-based authorization checks call `pk82350_eft.isauthorizedforeft`; when `includePending` is true the procedure includes pending authorizations, and when it is false the procedure requires an active bank account plus any required prenote success ([SQL-019](../sql/SQL-019-pk82350-eft-isauthorizedforeft.md), [PROC-RULE-016](../business-rules.md#proc-rule-016-pending-inclusive-authorization-checks-bypass-bank-account-status-and-prenote-gating), [PROC-RULE-017](../business-rules.md#proc-rule-017-non-pending-authorization-checks-require-an-active-bank-account-and-successful-prenote-when-prenote-is-required), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
4. Beneficiary authorization checks call `pk82350_eft.isbeneficiaryauthforeft`, which succeeds only when the beneficiary authorization is effective, unreversed, and backed by an active bank account ([SQL-020](../sql/SQL-020-pk82350-eft-isbeneficiaryauthforeft.md), [PROC-RULE-018](../business-rules.md#proc-rule-018-beneficiary-eft-authorizations-must-be-effective-unreversed-and-backed-by-an-active-bank-account), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
5. Provider authorization checks route through the provider procedure and apply the same pending-versus-active gating used by the person-based path ([SQL-035](../sql/SQL-035-eft-procedure-family.md), [PROC-RULE-019](../business-rules.md#proc-rule-019-provider-eft-authorization-checks-use-the-same-pending-versus-active-gating-as-person-authorization-checks), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
6. Active-authorization counts call the count helpers for a person and auth type, preserving the same pending and prenote rules that the sequence lookups use ([SQL-035](../sql/SQL-035-eft-procedure-family.md), [PROC-RULE-020](../business-rules.md#proc-rule-020-active-authorization-counts-honor-the-same-pending-and-prenote-rules-as-sequence-lookups), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
7. Debit-card enrollment checks call `CardEnrollmentCountByPerson` and treat any non-terminated enrollment as active ([SQL-035](../sql/SQL-035-eft-procedure-family.md), [PROC-RULE-021](../business-rules.md#proc-rule-021-only-non-terminated-debit-card-enrollments-count-as-active-enrollments), [PAYMENT_AUTHORIZATION](../database-tables.md#payment-authorization)).
8. `ClaimServices` wrappers convert the returned sequence numbers or counts into the boolean answers expected by higher-level claim workflows.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
    Start([EFT request]) --> Kind{Worker, beneficiary, provider, or count?}
    Kind -->|Worker| Worker[Call worker authorization helper]
    Kind -->|Beneficiary| Bene[Call beneficiary authorization helper]
    Kind -->|Provider| Provider[Call provider authorization helper]
    Kind -->|Count| Count[Call active-auth or card-count helper]
    Worker --> AuthType{Need auth type?}
    AuthType -->|Yes| Direct[Check direct deposit then debit card]
    AuthType -->|No| Return1([Return worker result])
    Direct --> Return2([Return auth type])
    Bene --> Return3([Return beneficiary result])
    Provider --> Return4([Return provider result])
    Count --> Return5([Return count or boolean])
```

## Failure and edge-case behavior

- Pending-inclusive checks intentionally bypass bank-status and prenote gating, while active-only checks do not ([PROC-RULE-016](../business-rules.md#proc-rule-016-pending-inclusive-authorization-checks-bypass-bank-account-status-and-prenote-gating), [PROC-RULE-017](../business-rules.md#proc-rule-017-non-pending-authorization-checks-require-an-active-bank-account-and-successful-prenote-when-prenote-is-required)).
- Beneficiary paths return no active authorization when the authorization is reversed, not yet effective, or tied to an inactive bank account ([PROC-RULE-018](../business-rules.md#proc-rule-018-beneficiary-eft-authorizations-must-be-effective-unreversed-and-backed-by-an-active-bank-account)).
- Debit-card support is only reported when at least one non-terminated enrollment exists ([PROC-RULE-021](../business-rules.md#proc-rule-021-only-non-terminated-debit-card-enrollments-count-as-active-enrollments)).

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

## Sources
- `Business\SAIF.Business\EFTServices.vb`
- `Business\SAIF.Business\ClaimServices.vb`
