Benefits_Deduction
Benefits.Deduction Table Documentation
Purpose
The Benefits.Deduction
table links payroll deductions to benefit plans and tracks the financial aspects of benefit enrollments. It serves as the bridge between the benefits enrollment system and payroll processing, ensuring accurate deduction calculations and tracking. This table is essential for benefits cost management, payroll processing, and financial reporting.
Table Structure
Field Name | Data Type | Nullable | Description | Source Table | Source Field | Transformation Notes |
---|---|---|---|---|---|---|
DeductionID | INT | NO | Primary key, unique identifier | BENEFIT_DEDUCTIONS | DEDUCTION_ID | Direct mapping |
EmployeeID | INT | NO | Foreign key to Core.Employee | BENEFIT_DEDUCTIONS | EMPL_ID | Direct mapping |
BenefitCode | VARCHAR(20) | NO | Benefit plan code | BENEFIT_DEDUCTIONS | PLAN_CODE | Direct mapping |
EnrollmentID | INT | NO | Foreign key to Benefits.Enrollment | BENEFIT_DEDUCTIONS | ENROLLMENT_ID | Direct mapping |
DeductionType | VARCHAR(50) | NO | Type of deduction | BENEFIT_DEDUCTIONS | DEDUCTION_TYPE | Mapped from codes |
DeductionAmount | DECIMAL(12,2) | NO | Amount to be deducted | BENEFIT_DEDUCTIONS | DEDUCTION_AMOUNT | Direct mapping |
Frequency | VARCHAR(20) | NO | Deduction frequency | BENEFIT_DEDUCTIONS | FREQUENCY | Mapped from codes |
StartDate | DATE | NO | Deduction start date | BENEFIT_DEDUCTIONS | START_DATE | Direct mapping |
EndDate | DATE | YES | Deduction end date | BENEFIT_DEDUCTIONS | END_DATE | Direct mapping |
IsActive | BIT | NO | Active deduction flag | BENEFIT_DEDUCTIONS | IS_ACTIVE | Derived from dates |
TaxTreatment | VARCHAR(50) | NO | Tax treatment of deduction | BENEFIT_DEDUCTIONS | TAX_TREATMENT | Mapped from codes |
PreTaxFlag | BIT | NO | Pre-tax deduction indicator | BENEFIT_DEDUCTIONS | PRE_TAX_FLAG | Direct mapping |
PostTaxFlag | BIT | NO | Post-tax deduction indicator | BENEFIT_DEDUCTIONS | POST_TAX_FLAG | Direct mapping |
CatchUpFlag | BIT | NO | Catch-up contribution indicator | BENEFIT_DEDUCTIONS | CATCH_UP_FLAG | Direct mapping |
CreatedDate | DATETIME | NO | Record creation date | N/A | N/A | System generated |
ModifiedDate | DATETIME | NO | Last modification date | N/A | N/A | System generated |
Source System Mapping
Primary Source: BENEFIT_DEDUCTIONS Table
- Contains benefit deduction information
- Updated when enrollment or deduction changes occur
- Key fields mapped directly to Benefits.Deduction
Secondary Sources:
-
BENEFIT_ENROLLMENTS Table
- Enrollment details and coverage levels
- Used for deduction validation
- Updated when enrollments change
-
PAYROLL_TRANSACTIONS Table
- Payroll processing information
- Used for deduction verification
- Updated with each payroll cycle
Data Transformation Rules
-
Active Status Derivation
IsActive = CASE WHEN EndDate IS NULL OR EndDate > GETDATE() THEN 1 ELSE 0 END
-
Deduction Type Mapping
Source Code -> Target Type 'REG' -> 'Regular' 'CATCH' -> 'Catch-up' 'LOAN' -> 'Loan Repayment' 'HSA' -> 'HSA Contribution' 'FSA' -> 'FSA Contribution'
-
Frequency Mapping
Source Code -> Target Frequency 'WEEKLY' -> 'Weekly' 'BIWEEKLY' -> 'Bi-weekly' 'SEMIMONTHLY' -> 'Semi-monthly' 'MONTHLY' -> 'Monthly'
-
Tax Treatment Mapping
Source Code -> Target Treatment 'PRE' -> 'Pre-tax' 'POST' -> 'Post-tax' 'ROTH' -> 'Roth' 'NONE' -> 'Non-taxable'
Data Quality Rules
-
Required Fields
- DeductionID
- EmployeeID
- BenefitCode
- EnrollmentID
- DeductionType
- DeductionAmount
- Frequency
- StartDate
- IsActive
- TaxTreatment
- PreTaxFlag
- PostTaxFlag
-
Validation Rules
- Each active enrollment must have at least one active deduction
- EndDate must be after StartDate if present
- DeductionAmount must be non-negative
- PreTaxFlag and PostTaxFlag cannot both be true
- CatchUpFlag requires specific benefit types
-
Business Rules
- Active deductions must have valid enrollments
- Tax treatment must match benefit type
- Frequency must align with payroll cycles
- Catch-up contributions must follow IRS limits
Usage Notes
-
Reporting Considerations
- Use IsActive for current deduction reporting
- Consider TaxTreatment for tax impact analysis
- Use Frequency for deduction scheduling
- Track catch-up contributions for compliance
-
Performance Considerations
- Indexed on DeductionID, EmployeeID, and BenefitCode
- Consider filtering on IsActive for current deductions
- Use CreatedDate/ModifiedDate for incremental loads
-
Integration Points
- Links to Benefits.Enrollment via EnrollmentID
- Links to Payroll.PayrollBenefits via BenefitCode
- Used in benefits cost analysis views
- Source for deduction dimension in data warehouse
Maintenance
-
Refresh Schedule
- Weekly updates for deduction changes
- Full refresh monthly
- Emergency updates for deduction modifications
-
Archive Strategy
- Historical records maintained in table
- Use IsActive for current vs. historical filtering
- Deduction history tracked for compliance
-
Monitoring
- Track deduction counts by benefit type
- Monitor deduction amounts
- Alert on validation rule violations
- Track tax treatment changes