How to change the date of rewarded User Points? When users publish a node on my website, they are rewarded some User Points with Rules. So when one publishes a new node on 25th June 2016, the User Points are stored with the exact same date.

As an administrator, I published some nodes where I changed the author and the date (say, 25th June 2012) in Authoring information in the node's form. However, after publishing, the User Points were of course stored as granted on 25th June 2016 instead of 25th June 2012.

Is it possible to change the date of a User Points transaction and replace it with the same time on which the linked entity (i.e. the node) was created? That is, in this case, the date of the transaction should be 25th June 2012.

I am aware that one can manually change the data in the database, but I suppose (and hope!) that there is a more efficient way.
Have a look at the User Points Contributed modules as a possible alternative. I.e. its submodule userpoints_retroactive. Excerpt from that project page:


  Award users points for their nodes, comments and votes that they have created so far, before userpoints was enabled on the site.


Comment nr 9 of issue nr 1187616 contains a patch with these enhancements:


Ported the module to Drupal 7.
Added support for retroactive revisions.
Made provisions to store the timestamp of original node and revision.


So instead of trying to change the dates of the User Points transactions, I'd delete the transactions you already have, and try to recreate these transactions using this patch.

PS: there is also Berdir's Api documentation about this submodule ... (maybe that helps somehow).