As of note 40000 explains, the system always tries to execute the new cancellation procedure when billing documents are cancelled. But if the new cancellation procedure cannot be executed for some reason, the old cancellation procedure is executed.
From SD side, the following part of coding is responsible for the prevent of new cancellation execution:FM: RV_ACCOUNTING_DOCUMENT_CREATE
* new cancellation
* sfakn is only set, when the whole invoice is cancelled
if not vbrk-sfakn is initial and not vbrk-fktyp eq con_fktyp_p and
rule_new_cancel ne con_a and new_acct_det is initial.
if not rrrel is initial.
nonewcancel = 'X'.
call function 'AC_DOCUMENT_REVERSE'
Please refer to the note 1259505 question 3 for the possible reasons on SD side.
Please refer to the note 309208 for the reasons on FI side.
To check why system does not perform new cancellation, a reproducible example is necessary.
SAP internal released note 304612 reports the source code to debug.
'new cancellation' -> function module AC_DOCUMENT_REVERSE.
'old cancellation' -> function module AC_DOCUMENT_CREATE
It is important to know that two possibilities for billing reversal, with and without cleared accounting document, refer to Wiki, click here.
SAP Note 1259505 FAQ: New cancellation procedure in SD
SAP Note 309208 Negative posting not performed
SAP Note 400000 FAQ: Transaction VF11: Cancellation of SD billing documents