A payroll engine that hard-codes provident fund can only ever run one country, and every rate change becomes a release. Here a country’s rules are a versioned pack, validated before it is allowed anywhere near a payslip.
Why the same engine runs several countries. Not because it was written four times, but because the part that differs is data.
Upload the new pack. The next run uses it, and the old payslips still explain themselves against the old one.