I've added a bit extra to the M671 documentation in the GCode dictionary:
The X and Y coordinates in M671 are measured from the origin X0,Y0 set by
M208. Measure to the pivot point of the bed where it connects to the Z axis. This is often each leadscrew, but may also be offset from the leadscrew if the bed rests on a carriage extending out from the leadscrew.
The order of the X and Y coordinates is important; they relate to the order the motor drivers are defined in the
M584 command. The first defined motor in M584 should be the first defined coordinates for X and Y in M671, and so on. For example, if you have M584 Z3:4:5 and M671 X[a]:[b]:[c] Y[a]:[b]:[c], the positions of X and Y for the motor on Z3 are defined by X[a],Y[a], Z4 by X[b],Y[b], and Z5 by X[c],Y[c].
Ian