Amigos,
Tenho resolvido esses casos da seguinte maneira.
Guardo no cadastro de Natureza de Operação todas as características necessárias para fazer os cálculos da NF.
Nela tenho o CFOP, lista de CST, lista de CSOSN, lista de IPI, lista de PIS, lista de Cofins enfim todas as tabelas que fazem parte do calculo da NF, de modo que posso ter varias naturezas com o mesmo CFOP mas com diferentes formas de calculo.
Ex: Natureza 5102SF (sem financeiro), CFOP 5102, CST 000, CSOSN 101
Natureza 5102CF (com financeiro), CFOP 5102, CST 000, CSOSN 101
Natureza 5102SE (sem estoque), CFOP 5102, CST 040, CSOSN 102 ....
Como podem ver tenho três naturezas distintas porem com o mesmo CFOP.
A diferença de uma ou outra estaria apenas na hora de movimentar onde o sistema faria todos os cálculos com base nos parâmetros informados para gerar o Sintegra e lançar na NF-e.