---
title: "SQL-013: clsEFTAuthorization insert"
summary: Inserts a new EFT authorization record into PAYMENT_AUTHORIZATION.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Payment.EFT
reference_type: package
---

# SQL-013: clsEFTAuthorization insert

Inserts a new payee EFT authorization/consent record into `PAYMENT_AUTHORIZATION` with 33 parameters covering customer identity, bank account reference, prenote tracking, IAT fields, and revocation status.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-013 |
| **Operation type** | Create |
| **Execution method** | Inline SQL |
| **Database** | Oracle* |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsEFTAuthorization` |
| **Criteria property** | `InsertSQL` |
| **Lifecycle method** | `BeforeInsert / AfterInsert` |


## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| :AuthorizationTypeCode | Input | String | 5 | Binds `AuthorizationTypeCode`* |
| :EnrollRequestSeqNum | Input | Decimal | — | Binds `EnrollRequestSeqNum`* |
| :AuthDate | Input | Date | — | Binds `AuthDate`* |
| :BankAccountSeqNum | Input | Decimal | — | Binds `BankAccountSeqNum`* |
| :CreateDate | Input | Date | — | Binds `CreateDate`* |
| :CreateIPAddr | Input | String | 30 | Binds `CreateIPAddr`* |
| :CreateUser | Input | String | 30 | Binds `CreateUser`* |
| :CustomerContactEmailAddr | Input | String | 100 | Binds `CustomerContactEmailAddr`* |
| :CustomerContactName | Input | String | 50 | Binds `CustomerContactName`* |
| :CustomerContactPhoneNum | Input | String | 23 | Binds `CustomerContactPhoneNum`* |
| :CustomerEmailNotificationFlag | Input | String | 1 | Binds `CustomerEmailNotificationFlag`* |
| :CustomerID | Input | String | 20 | Binds `CustomerID`* |
| :CustomerSecondID | Input | String | 20 | Binds `CustomerSecondID`* |
| :CustomerTypeCode | Input | String | 5 | Binds `CustomerTypeCode`* |
| :IATFlag | Input | String | 1 | Binds `IATFlag`* |
| :IATCity | Input | String | 35 | Binds `IATCity`* |
| :IATStreetAddress | Input | String | 35 | Binds `IATStreetAddress`* |
| :IATStateProvince | Input | String | 35 | Binds `IATStateProvince`* |
| :IATPostalCode | Input | String | 20 | Binds `IATPostalCode`* |
| :IATCountryCode | Input | String | 5 | Binds `IATCountryCode`* |
| :PaymentAuthorizationSeqNum | Input | Decimal | — | Binds `PaymentAuthorizationSeqNum`* |
| :PaymentDayOFMonthNum | Input | Decimal | — | Binds `PaymentDayOFMonthNum`* |
| :PaymentSourceSystemCode | Input | String | 5 | Binds `PaymentSourceSystemCode`* |
| :PrenoteFailDate | Input | Date | — | Binds `PrenoteFailDate`* |
| :PrenoteRequiredFlag | Input | String | 1 | Binds `PrenoteRequiredFlag`* |
| :PrenoteSuccessDate | Input | Date | — | Binds `PrenoteSuccessDate`* |
| :RevokeReasonCode | Input | String | 5 | Binds `RevokeReasonCode`* |
| :RevokeDate | Input | Date | — | Binds `RevokeDate`* |
| :UpdateDate | Input | Date | — | Binds `UpdateDate`* |
| :UpdateIPAddr | Input | String | 30 | Binds `UpdateIPAddr`* |
| :UpdateUser | Input | String | 30 | Binds `UpdateUser`* |
| :AutoPayConfirmationNum | Input | String | 25 | Binds `AutoPayConfirmationNum`* |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PAYMENT_AUTHORIZATION](../database-tables.md#payment_authorization) | INSERT | AUTHORIZATION_TYPE_CODE, ENROLL_REQUEST_SEQ_NUM, AUTH_DATE, BANK_ACCOUNT_SEQ_NUM, CUSTOMER_ID, CUSTOMER_TYPE_CODE, PAYMENT_SOURCE_SYSTEM_CODE, PRENOTE_REQUIRED_FLAG, REVOKE_REASON_CODE, AUTO_PAY_CONFIRMATION_NUM, IAT_FLAG, and more |

## Sample SQL

```sql
Insert into PAYMENT_AUTHORIZATION (
  AUTHORIZATION_TYPE_CODE, ENROLL_REQUEST_SEQ_NUM, AUTH_AGREEMENT_VERSION, AUTH_DATE,
  BANK_ACCOUNT_SEQ_NUM, CREATE_DATE, CREATE_IP_ADDR, CREATE_USER,
  CUSTOMER_CONTACT_EMAIL_ADDR, CUSTOMER_CONTACT_NAME, CUSTOMER_CONTACT_PHONE_NUM,
  CUSTOMER_ID, Customer_Second_ID, CUSTOMER_TYPE_CODE, EMAIL_NOTIFICATION_FLAG,
  IAT_FLAG, IAT_CITY, IAT_STREET_ADDRESS, IAT_STATE_PROVINCE, IAT_POSTAL_CODE,
  IAT_COUNTRY_CODE, PAYMENT_AUTHORIZATION_SEQ_NUM, PAYMENT_DAY_OF_MONTH_NUM,
  PAYMENT_SOURCE_SYSTEM_CODE, PRENOTE_FAIL_DATE, PRENOTE_REQUIRED_FLAG,
  PRENOTE_SUCCESS_DATE, REVOKE_REASON_CODE, REVOKE_DATE,
  UPDATE_DATE, UPDATE_IP_ADDR, UPDATE_USER, AUTO_PAY_CONFIRMATION_NUM
)
Values (
  :AuthorizationTypeCode, :EnrollRequestSeqNum, :AuthAgreementVersion, :AuthDate,
  :BankAccountSeqNum, :CreateDate, :CreateIPAddr, :CreateUser,
  :CustomerContactEmailAddr, :CustomerContactName, :CustomerContactPhoneNum,
  :CustomerID, :CustomerSecondID, :CustomerTypeCode, :CustomerEmailNotificationFlag,
  :IATFlag, :IATCity, :IATStreetAddress, :IATStateProvince, :IATPostalCode,
  :IATCountryCode, :PaymentAuthorizationSeqNum, :PaymentDayOFMonthNum,
  :PaymentSourceSystemCode, :PrenoteFailDate, :PrenoteRequiredFlag,
  :PrenoteSuccessDate, :RevokeReasonCode, :RevokeDate,
  :UpdateDate, :UpdateIPAddr, :UpdateUser, :AutoPayConfirmationNum
)
```

Row-count check: `If RowsAffected <> 1 Then Me.AddErrorMessage("InsertError", "Insert Failed") End If`

## Operations and processes
- [EFT authorization / consent](../operations/eft-authorization-consent.md)*

## Business rules
- [BR-EFT-01: EFT authorization gates electronic payment eligibility](../business-rules.md#br-eft-01-eft-authorization-gates-electronic-payment-eligibility)
- [BR-EFT-05: Insert/update operations require exactly one affected row](../business-rules.md#br-eft-05-insertupdate-operations-require-exactly-one-affected-row)*

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.Payment.EFT\clsEFTAuthorization.vb`
