---
title: "SQL-003: INSERT PROVIDER_EFT_INTERFACE"
summary: INSERT PROVIDER_EFT_INTERFACE
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Provider.PaymentPreference
reference_type: package
---

# SQL-003: INSERT PROVIDER_EFT_INTERFACE

INSERT PROVIDER_EFT_INTERFACE.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-003 |
| **Operation type** | Create |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | Unqualified in SQL text |
| **Command type** | Text |
| **Business object** | `clsProviderEFT` |
| **Criteria property** | `InsertSQL` |
| **Lifecycle method** | `BeforeInsert` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:ExtUserTypeSeqNum` | Input | clsSmartDecimal | N/A | External user type; populated via SetExtUserTypeSeqNum when needed. |
| `:EffDate` | Input | clsSmartDate | N/A | EFT effective date. |
| `:ExpDate` | Input | clsSmartDate | N/A | EFT expiration date. |
| `:DefaultToPrimaryFlag` | Input | String | 1 | Direct-deposit default-to-primary indicator. |
| `:UpdateDate` | Input | Date | N/A | Audit timestamp written by BeforeInsert. |
| `:UpdateUser` | Input | String | 30 | BOF user ID from DataPortalInfo.UserID. |
| `:UpdateNum` | Input | Decimal | N/A | Starts at 1 on insert. |
| `:ProviderSeqNum` | Input | Decimal | N/A | Provider key. |
| `:ProviderLocationSeqNum` | Input | Decimal | N/A | Provider-location key. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PROVIDER_EFT_INTERFACE](../database-tables.md#provider_eft_interface) | CREATE | See sample SQL. |

## Sample SQL

```sql
INSERT INTO PROVIDER_EFT_INTERFACE (
    PROVIDER_SEQ_NUM,
    PROVIDER_LOCATION_SEQ_NUM,
    EXT_USER_TYPE_SEQ_NUM,
    EFF_DATE,
    EXP_DATE,
    DEFAULT_TO_PRIMARY_FLAG,
    UPDATE_DATE,
    UPDATE_USER,
    UPDATE_NUM
) VALUES (
    :ProviderSeqNum,
    :ProviderLocationSeqNum,
    :ExtUserTypeSeqNum,
    :EffDate,
    :ExpDate,
    :DefaultToPrimaryFlag,
    :UpdateDate,
    :UpdateUser,
    :UpdateNum
)
```

## Operations and processes
- [EFT record management](../operations/eft-record-management.md)
- [EFT payment location assignment](../operations/eft-payment-location-assignment.md)

## Business rules
- [BR-08: Replacing active EFT authorization revokes the existing authorization first.](../business-rules.md#br-08-when-assigning-a-new-payment-preference-to-an-eft-that-is-already-saved-and-currently-direct-deposit-the-existing-authorization-is-revoked-before-the-new-one-is-applied-if-the-existing-eft-is-new-unsaved-or-is-a-check-type-it-is-simply-overwritten)
- [BR-11: External user type selection depends on expiry and admin context.](../business-rules.md#br-11-extusertypeseqnum-is-cleared-set-empty-when-the-eft-is-being-expired-expdate-minvalue-and-no-explicit-new-value-supplied-or-when-no-admin-user-is-present-it-is-set-from-the-incoming-invalue-when-a-new-eft-is-being-opened-and-from-adminuserseqnum-otherwise)
- [BR-12: EFT insert must succeed before child payment preference save.](../business-rules.md#br-12-eft-insert-contention-rowsaffected-1-triggers-inserterror-child-payment-preferences-are-saved-only-after-a-successful-insert-savechildobject-called-in-afterinsert)

## Sources
- `Business\SAIF.Business.Provider.PaymentPreference\clsProviderEFT.vb`


