Ansicht
Dokumentation

OHBEN1190A - BAdI: Carryover to HSA-Compatible Health FSA

OHBEN1190A - BAdI: Carryover to HSA-Compatible Health FSA

BAL_S_LOG - Application Log: Log header data   ROGBILLS - Synchronize billing plans  
This documentation is copyright by SAP AG.
SAP E-Book

This Business Add-In (BAdI) is used in the Payroll(PY) and Benefits (PY-BN) components.

You can use this BAdI to implement your custom solution for the following scenarios:

  • You have an employee who participates in a general purpose Health Flexible Spending Arrangement (health FSA) that provides for a carryover of unused amounts, but the employee elects to decline or waive the carryover of the unused amounts for the following year.
  • You have an employee who participates in a general purpose health FSA and wants to participate in a Health Savings Account (HSA) compatible health FSA in the following year. This employee elects to have any unused amounts from the general purpose health FSA carried over to the HSA-compatible health FSA for the following year.

This BAdI allows you to define how the system calculates the amount available for reimbursement, the account balance, and the carryover amounts for FSA claims in these scenarios.

This BAdI is only relevant for health FSA plans (general purpose and HSA-compatible FSA) that allows carryover. The methods in this BAdI are called in the following cases:

  • During the processing of the FSA Claims (0172) infotype records, within the Processing of Flexible Spending Accounts (FSAs) (P0170) payroll function.
  • During the calculation of amount available, account balance, and carryover amounts for the FSA plans in the FSAs: Administration and Balancing (RPUFSA01) report and in the Spending Account Claims service in Employee Self-Service (ESS).

This BAdI contains the following BAdI methods:

  • IS_CARRYOVER_DECLINED
This BAdI method checks if the employee has declined the carryover of unused amounts for the following year.
  • CLEAR_CARRYOVER
This BAdI method clears the carryover amount for the general purpose health FSA as follows:
  • If the employee has declined carryover, it clears the amount for the next plan year.

  • If the employee has chosen carryover to an HSA-compatible health FSA, it clears the amount after the run-out period.

This method is called by the standard code only if your implementation for method S_CARRYOVER_DECLINEDreturns the value true.
  • CHECK_CARRYOVER_TO_HSA_COMP
This method checks if the employee has chosen carryover from general purpose to HSA-compatible health FSA in the current plan year.
  • TRANSFER_CARRYOVER_TO_HSA
This method transfers the remaining balance of the general purpose FSA to the current plan year balance of the HSA-compatible FSA.
  • IMPORT_CARRYOVER_TO_HSA
This method retrieves the amount carried over to the HSA-compatible health FSA and adds it to the available amount for claims after the run-out period. This method is only called by the standard code if the chosen destination plan is an HSA-compatible FSA plan.

In Customizing for Personnel Management, under Benefits -> Plans -> Flexible Spending Accounts (FSAs) -> Assign Spending Account Attributes, you have selected the following checkboxes for the relevant HSA-compatible FSA plans:

  • HSA-Relevant Plan
  • Health Care FSA Plan
  • Allow Carryover

For more information about the standard settings (filters, single or multiple uses), see the Enhancement Spot Element Definitions tab in the BAdI Builder (transaction SE18).

You can find example implementations in the BAdI Builder on the Enhancement Spot Element Definitions tab in the Implementation Example Classes section.

The following example implementations are available:

  • CL_HRBEN_IM_CAROV_HSA_EXAMPLE
This implementation example class can be implemented or you can use it as a template to adapt the coding to suit your requirements. In this example implementation, the BAdI methods are used as follows:
  • Method IS_CARRYOVER_DECLINED uses the internal table LT_CARRYOVER_DECLINED to store the information whether the employee has declined carryover. Since the employee must decline carryover before the beginning of the following plan year, the method in the example implementation checks the entry in this table before the beginning of the current plan year.

  • Method CLEAR_CARRYOVER only sets the value zero to the changing parameter CV_CARRYOVER_AMOUNT in the example implementation. You can implement additional checks if needed.

  • Method CHECK_CARRYOVER_TO_HSA_COMP uses the internal table LT_CARRYOVER_ORIG_DEST to store information about the origin and destination plans that the employee has chosen for the carryover. This method is called with importing parameter IV_BPLAN, which is filled with the general purpose origin or with the HSA-compatible destination plan. The exporting parameters EV_FSA_GENPURP_ORIG_CAROV and EV_FSA_HSACOMP_DEST_CAROV are filled by the implementation if the employee has chosen one of these plans as origin or destination plans for the carryover in the given plan period. The plan period is determined by the importing parameter IV_KEY_DATE.

  • Method TRANSFER_CARRYOVER_TO_HSA uses the internal table LT_CARRYOVER_TRANSFER to store information about the carryover amount transferred between the origin and destination plans. The run-out period is calculated for the origin plan (the general purpose FSA) because the carryover amount must be determined and added to the destination plan only after the run-out period of the general purpose FSA plan. In this example, the carryover amount is stored in the internal table if the importing parameter IV_KEY_DATE falls after the end of the general purpose FSA run-out period.

  • The method IMPORT_CARRYOVER_TO_HSA uses the internal table LT_CARRYOVER_TRANSFER to store information about the amount carried over. In the example implementation, the method changes the value of the changing parameter CV_CARRYOVER_AMOUNT to the amount stored as carryover amount in the current plan year. In the example, no additional check is performed because it is supposed that the entry in the LT_CARRYOVER_TRANSFER table only exists after the run-out period of the general purpose FSA.

For information about implementing BAdIs as part of the enhancement framework, see SAP Library for SAP NetWeaver Platform on SAP Help Portal at http://help.sap.com/nw_platform. Choose a release and then Application Help. In SAP Library, choose SAP NetWeaver Library: Function-Oriented View -> Application Server -> Application Server ABAP -> Application Development on AS ABAP -> ABAP Customer Development -> Enhancement Framework.






ROGBILLS - Synchronize billing plans   PERFORM Short Reference  
This documentation is copyright by SAP AG.

Length: 9531 Date: 20240523 Time: 175626     sap01-206 ( 154 ms )