That is only single point calibration. You want more than that in case the transfer function is non-linear. Ideally at least two for the extremes of range.
Basically imagine if y does not equal x, say y = x -0.01*x + b. Your tare is going to adjust b such that at x = 0 you get y equals 0. That doesn't fix x is equal to 900. At 900 you would get 891.
Generally speaking for weight you have differential or integral non-linearity. You fix both by multiple calibration points. Which leads to the range transition problem but whatever. No excuse anymore with FPGAs.
Taring isn't the same as calibration. Every scale should have instructions on its tolerance (± x grams) and a calibration weight. You'll have to buy the calibration weight separately.
Well how do we know that any scale at all is right?
My lab has weights that get calibrated against a NIST standard annually. We use those weights to perform daily quality control that our scale is accurate (to +/- 0.01g). If the quality control fails then we recalibrate the scale.