Tem também a nota 1796916 CFOP Determination for Services in SD
No módulo de função J_1B_SD_CFOP ela habilita a validação do campo CFOP mesmo para notas de serviço. Espero ter ajudado. Essa validação funciona para VA01, por exemplo.
IF NOT branch IS INITIAL. " Branch
*del AND iss IS INITIAL. " Service "1796916
* and misuse is initial. "Asterisked 28.1.97 " Material use correct
IF NOT iss IS INITIAL. "1796916
* 02 - "CFOP for Services That Are Subject to ISS Tax "1796916
j_1bincfop-spcsto = '02'. "1796916
ENDIF. "1796916
Talvez a BADI CFOP_DET_PREP (método CHANGE_PARAMETERS_SD) ajude a fazer esta validação.
Espero ter ajudado.
Atenciosamente,
César