Using VoxImplant ChildAccounts
There are number of VoxImplant entities developers work with and it's important to understand user and account management to design your application properly. VoxImplant application users reflect end users of the application, and VoxImplant developer can control each user account balance by setting parent_accounting to false or specifying this setting in Control Panel (Separate account balance) while creating/editing the app user. It's possible to transfer funds from developer account to the app user account and back using TransferMoneyToUser function.
But let's imagine that developer is building Cloud PBX service where every company should have its own account balance and can control users account balance (if required), while developer has his own developer account balance where he uploads funds to spread among companies. For this type of service VoxImplant offers child accounts (subaccounts) that can be created by developer using his parent account credentials, PLEASE NOTICE that this functionality is disabled by default and developers need to ask VoxImplant team to enable it. In this case for transferring funds from developer account to child accounts TransferMoneyToChildAccount function should be used. See the picture below:
If developer needs to withdraw funds from user or child account balance and add it to his account balance then amount should be negative, otherwise - positive. Thus the chain for adding funds looks like as follows: Developer's card / wire -> Developer account balance -> Child account balance (optional) -> App user account balance (optional).