Hi
The functionality of the filling of the 'Customer purchase order number'
(BSTNK_VF) depends on the setting in the copy control for the 'Reference
number' (XBLNR_FI) as you pointed out.
Only if the customizing is XBLNR_FI = 'A', then the reference number
for FI will be filled with the customer purchase order number.
In the case of a credit memo request it is normally created with reference to an invoice
Here the item data transfer routnine FV45C052 would be used and
the 'reference number for FI' (XBLNR) will be taken over from the invoice:
The coding logic is seen here when you create a billing document in VF01
LV60AA93
FORM VBRK_VBRP_FUELLEN
...
* setzen Referenznummer und Zuordnungsnummer
IF vbrk-xblnr = space.
CASE *tvcpf-xblnr_fi.
WHEN 'A'.
IF vbkd-bstkd IS INITIAL.
vbrk-xblnr = vbak-bstnk.
vbrk-bstnk_vf = vbak-bstnk.
ELSE.
vbrk-xblnr = vbkd-bstkd.
vbrk-bstnk_vf = vbkd-bstkd.
ENDIF.
WHEN 'B'.
vbrk-xblnr = vbak-vbeln.
ENDCASE.
...
You should check the processing of each case. You can acheive the result you are looking for consistently regardless of the scenario with your own ITEM data transfer routine.
Hope this helps
Kind regards
Brian