You asked me same question on other thread too?
You can update your record first then write that record.

Try this and let me know if that works for you.
a!localVariables(
local!currentUserAccount : rule!PBY_getaccountbyid("test"),
local!newBalance :
if(
and(
a!isNotNullOrEmpty(
ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}']
),
a!isNotNullOrEmpty(
local!currentUserAccount
),
ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'] >= 0
),
local!currentUserAccount['recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}'] + ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'],
0
),
local!typeValue: if(
ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'] = "Virement interne",
"Virement interne",
if(
ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'] = "Virement externe",
"Virement externe",
null()
)
),
a!formLayout(
label: if(
ri!isUpdate,
"Update transaction",
"Create transaction"
),
contents: {
a!columnsLayout(
columns: {
a!columnLayout(
contents: {
a!dropdownField(
choiceLabels: {"Virement interne","Virement externe",},
choiceValues: {"Virement interne","Virement externe",},
label: "Type transaction",
labelPosition: "ABOVE",
placeholder: "Selectionner le type de virement",
saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'],
value : local!typeValue,
searchDisplay: "AUTO",
validations: {}
),
/*a!textField(*/
/*label: "Type Transaction",*/
/*labelPosition: "ABOVE",*/
/*value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'],*/
/*saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'],*/
/*characterLimit: 255,*/
/*required: false*/
/*),*/
a!integerField(
label: "Somme",
labelPosition: "ABOVE",
value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'],
saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'],
required: false
),
a!textField(
label: "Discription",
labelPosition: "ABOVE",
value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}'],
saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}'],
characterLimit: 255,
required: false
)
}
),
a!columnLayout(
contents: {
a!pickerFieldRecords(
label: "Compte Utilisateur",
labelPosition: "ABOVE",
placeholder: "Select a Account",
maxSelections: 1,
recordType: 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}',
value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}'],
saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}']
),
a!dateTimeField(
label: "Date",
labelPosition: "ABOVE",
value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}'],
saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}'],
required: false
),
/*a!pickerFieldRecords(*/
/*label: "",*/
/*labelPosition: "ABOVE",*/
/*placeholder: "Select a User",*/
/*maxSelections: 1,*/
/*recordType: 'recordType!{4fd8023a-5200-4bb0-af2d-7bed73fb330b}PBY user',*/
/*value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{692a0a51-d46d-4fee-a10e-aad2f90cb201}userId'],*/
/*saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{692a0a51-d46d-4fee-a10e-aad2f90cb201}userId']*/
/*)*/
}
)
}
)
},
buttons: a!buttonLayout(
primaryButtons: {
a!buttonWidget(
saveInto: {
a!save(
target: local!currentUserAccount,
value: a!update(local!currentUserAccount , 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}', local!newBalance),
),
a!writeRecords(
records: local!currentUserAccount,
onSuccess: a!save(
target: local!currentUserAccount,
value: fv!recordsUpdated
),
)
},
label: if(ri!isUpdate, "Save", "Create"),
submit: true,
style: "SOLID",
validate: true
)
},
secondaryButtons: {
a!buttonWidget(
label: "Cancel",
value: true,
saveInto: ri!cancel,
submit: true,
style: "OUTLINE",
validate: false
)
}
)
)
)