Boa tarde,
não sei se te ajuda, mas hoje eu faço a impressão infisc por esse link que tu enviou convertendo a chave nacional em infisc,
a chave infisc é UF + CNPJ + Modelo + série + número rps + tipo emissão + número aleatório
todos esses campos tem na chave nacional menos o modelo que no meu caso tentar com 90 ou 98 sempre funcionou
lsUF := Copy(inChaveAcesso, 1, 2);
lsCnpj := Copy(inChaveAcesso, 10, 14);
lsMod := inMod; // 90 ou 98
lsSerie := Format('%.3d', [StrToInt(Nota.Serie)]);
lsNumero := Format('%.9d', [StrToInt(Nota.NumRPS)]);
lsFinalCod := Copy(inChaveAcesso, 41, 9);
Result := lsUF + lsCnpj + lsModSerie + lsNumero + lsFinalCod;