Hola! te dejo la función que calcula el hash.
La entrada a la función va:
CUIT (char 11) + Tipo Comprobante (char 2) + Punto de venta (char 4) + CAE + VenceCAE (char 8, yyyymmdd)
Código Delphi
[-]function CalculaCAEBarCode(AStr: String): String;
var
I, DummyInt, SumaPar, SumaImpar: Integer;
begin
if Length(AStr) = 39 then begin
SumaPar:= 0;
SumaImpar:= 0;
for I:= 1 to Length(AStr) do begin
DummyInt:= StrToInt(AStr[i]);
if Odd(I) then begin
SumaImpar:= SumaImpar + DummyInt;
end
else begin
SumaPar:= SumaPar + DummyInt;
end;
end;
SumaPar:= SumaPar + (SumaImpar * 3);
Result:= AStr + IntToStr(10 - (SumaPar - ((SumaPar div 10) * 10)));
end
else begin
Result:= '';
end;
end;