Vc programou o evento ACBrTEFD1.OnComandaECFSubtotaliza ?
Estude (com muita atenção) os fontes do TEFDDemo... Veja o exemplo abaixo...
Observe que ele recebe o Desconto que foi enviado pelo TEF (DescAcre), que deve ser aplicado na Subtotalização do cupom, juntamente com o Seu Desconto (se houver) (MeuDescAcres no exemplo abaixo)
procedure TForm1.ACBrTEFD1ComandaECFSubtotaliza(DescAcre: Double;
var RetornoECF: Integer);
Var
Est : TACBrECFEstado ;
MeuAcresDesc : Double ;
begin
Memo1.Lines.Add('ComandaECFSubtotaliza: DescAcre: ' + FormatFloat('0.00',DescAcre) );
MeuAcresDesc := StringToFloatDef( edValorDescAcre.Text, 0 );
try
Est := ACBrECF1.Estado;
if Est = estNaoFiscal then
ACBrECF1.SubtotalizaNaoFiscal( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' )
else
ACBrECF1.SubtotalizaCupom( DescAcre + MeuAcresDesc, 'Projeto ACBr|http://acbr.sf.net' );
{ Remove o Desconto pois já foi aplicado, caso contrário iria influenciar o
retorno de ineSubTotal }
edValorDescAcre.Text := '0,00';
RetornoECF := 1 ;
except
RetornoECF := 0 ;
end;
end;