Web Services update account with all attributes

Hello,
We are currently configuring a Web Services connector in order to provision an in-house application exposing an API for accounts and permissions.
We are struggling to implement the “Update Account” operation. The operation to perform through the API to update an account is a PUT where ALL the attributes need to be specified in the body, including the ones that doesn’t change.

In order to get the attributes of the account and put them in the body, we use variables such as plan.firstName, plan.lastName etc. However, it seems that only the attributes that actually CHANGE are available when performing Account Update. For example, if only the first name changes, but not the last name, then plan.lastName will be null.

What is the best practice if ALL the attributes are needed to perform the API call to update the account? Is there another keyword than plan? Do we have to use a BeforeOperation rule, and if so, how to access attributes of the account which are NOT in the provisioning plan?