purchase_fiscal_position_update: port to v8 and new API

Why not ```@api.onchange```?