User Exits
ABAP DevelopmentIntermediate

RV60AFZZ Billing User Exit Patterns

Understand billing exits for invoice fields, validations and billing document processing.

Explanation

RV60AFZZ is commonly used in billing processing. Billing exits can populate custom fields, perform validations, influence invoice behavior and add business-specific checks before billing document creation. Billing is financially sensitive, so any exit logic must be tested with invoice, credit memo, debit memo, cancellation, proforma and background billing. Incorrect logic can affect accounting, output, taxes or revenue reporting. Keep billing logic specific to billing type and process.

Code example

ABAP Code
* Purpose:* Populate custom billing header field only for invoice type F2.* Billing exits must be narrow because billing has financial impact. FORM userexit_fill_vbrk_vbrp.   * Guard condition:  * Run only for invoice billing type F2.  IF vbrk-fkart <> 'F2'.    RETURN.  ENDIF.   * Example: populate custom source order reference.  IF vbrp-aubel IS NOT INITIAL.    vbrk-zz_source_order = vbrp-aubel.  ENDIF. ENDFORM.

Real project scenario

A billing exit populates a custom source order reference field in billing header for invoice type F2.

Common mistakes

- Not checking billing type. - Not testing credit memo/cancellation. - Changing billing data without FI/SD impact review. - Ignoring background billing jobs.

Best practices

- Use billing type guard. - Test all billing scenarios. - Coordinate with functional team. - Avoid broad financial impact.

Interview angle

Interviewers may ask where to populate custom billing fields. RV60AFZZ is a classic ECC-style answer.