# system.kanoa.inventory.updatePartInventoryBalance(partInventoryBalanceInfo, userId)

Updates an existing part inventory balance record, which tracks the on-hand, on-order, and reserved quantities for a part at a specific inventory location (asset). 
Pass a dictionary containing the fields to update, keyed by `partInventoryBalanceId`, along with the id of the user performing the update. 
This function is typically called after a physical cycle count, a receiving transaction, or a reservation change to keep quantity-on-hand figures in sync.

---
### Parameters
**partInventoryBalanceInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - averageUnitCost</td><td>Float</td><td></td></tr>	
 	<tr><td> - inventoryAssetId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - lastCountedAtUtc</td><td>DateTime</td><td></td></tr>	
 	<tr><td> - partId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - partInventoryBalanceId</td><td>Integer</td><td></td></tr>	
 	<tr><td> - quantityOnHand</td><td>Float</td><td></td></tr>	
 	<tr><td> - quantityOnOrder</td><td>Float</td><td></td></tr>	
 	<tr><td> - quantityReserved</td><td>Float</td><td></td></tr>	
	</tbody>
</table>

**userId** `Integer`:Id of the user executing the function<br />

---
### Returns
**# of records modified** `Integer`<br />
**message** `String` None if success<br />

---
### Example
```python
partInventoryBalanceInfo = {
	'partInventoryBalanceId': 4521,
	'partId': 8890,
	'inventoryAssetId': 12,
	'quantityOnHand': 145.0,
	'quantityOnOrder': 50.0,
	'quantityReserved': 20.0,
	'averageUnitCost': 3.75,
	'lastCountedAtUtc': system.date.now()
}
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})

recordsModified, message = system.kanoa.inventory.updatePartInventoryBalance(partInventoryBalanceInfo, userId)
print recordsModified, message
```
