Oie Pessoal,
Tenho visto várias perguntas a respeito da rejeição 699 para cenários de devolução de venda a consumidor final não-contribuinte do ICMS ( cenários de ICMS partilha ).
Motivo do erro
A rejeição está ocorrendo porque em 04/01 a SEFAZ publicou a versão
1.92 da
NT 2015/003 alterando a regra de validação
NA11-10 (rejeição 699) para que fosse considerado o ano da NF referenciada nas operações de devolução ou com CFOP de retorno de mercadorias. Anteriormente era considerada a data de emissão da NF-e para o cálculo da partilha.
A lógica standard desenvolvida pela SAP atendia a regra anterior ( data de emissão ) sendo que a leitura desta informação ocorria na classe CL_J_1BTPARTILHA_DA no método READ_LAST_VALID_RATE
.
Conforme código na imagem acima a leitura sempre é feita utilizando o SY-DATUM ( data atual do sistema).
Prazo definido pelo governo para implantação:
- Ambiente de Homologação:16-jan-2017;
- Ambiente de Produção: 30-jan-2017.
Olhando estas datas vocês podem se perguntar, mas porque estou tendo rejeição se a data de produção é somente dia 30 de janeiro? Neste caso é necessário destacar que a
SEFAZ-SP adiantou-se (até o momento só recebi reclamações desta SEFAZ ) e já implementou a mudança em produção na primeira semana do ano, causando a rejeição 699 para as devoluções.
Solução entregue pela SAP:
Pré-requisito:
2414046 - Auxiliary Data Access Classes for Brazil ( Classes de acesso aos dados )
Solução para NF-e:
2414052 - EC 87/2015 - ICMS Partilha Scenarios Referencing Documents From a Previous Year
2419531 - EC 87/2015 - ICMS Partilha has Wrong Values when Return Billing Refers to a Del
2420076 - EC 87/2015 - Cancellation Scenarios Use Incorrect ICMS Partilha Percentage
Solução para CT-e:
2416581 - CT-e: ICMS Partilha Return
Informação técnica do processo antigo:
Antes das SAP Notes o método READ_LAST_VALID_RATE era chamado em diversos pontos do processo de venda/faturamento
- Classe CL_TAX_CALC_BR, método CALCULATE_ICMS_PARTILHA ( cálculo da pricing TAXBRA, tanto na primeira como na segunda rodada )
- Função J_1BCALCULATE_TAXES (através da classe cl_j_1b_icms_partilha no cálculo da pricing TAXBRJ )
- Programa LJ1BGF01, form NF_CREATE_OBJECTS ( include que incia a criação da NF-e )
- Módulo de Função J_1BNF_FILL_ADDITIONAL_FIELDS ( para releases 605+ )
- Módulo de Função J_1B_NF_DOC_UPDATE_FROM_OBJECT ( para todos releases )
- Módulo de Função J_1B_NF_DOC_INSERT_FROM_OBJECT ( para todos releases )
Após a mudança foram criadas várias classes novas para substituir esse método.
att,
Renan Correa