I use a different method with a formula - rich text field. But I have never had a need to create that many records. The test of mine only made 18 records with only 4 fields being populated. Our buttons normally populate many fields and when we reach a limit on multiple record creation we split the work into multiple buttons (always 2 buttons). Here is the code for 18 records, I am very low code but I am sure there are scripting solutions that would be able to do exactly what you are looking for.
// Begin button style
var text bgcolor = "#0077B5";
var text txtcolor = "white";
var text style = "style=\"text-decoration: none; box-shadow: 3px 3px 1px #888888; background:" & $bgcolor & "; border-radius: 3px; padding: 5px 8px; color: " & $txtcolor & "; display: inline-block; font-weight: normal;font: 700 24px/1 \"Calibri\", sans-serif; text-align: center; text-shadow:none;";
// End button style
var text URL= URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Install Price]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
& (URLEncode(URLRoot() & "db/"& [_DBID_Billing] & "?a=API_AddRecord"
& "&_fid_6=" & [Location ID]
& "&_fid_7=" & [Configuration Charge]
& "&_fid_8=" & [Project - Text Project ID]
& "&_fid_10=" & URLEncode([Task Number])
& "&rdr="
)))))))))))))))))))))))))))))))))));
//create button and execute the add record
//this should also return you to where the button was pressed
"<a " & $style & " href=\"javascript:" & "$.get('" & $URL & "', function(){" & "location.reload();" &
"});" & "void(0);\"> Button test </a>