Support for multiple wallets
P
Pradeep Mudlapur
We have a need for multiple credit buckets (wallets). In our offerings we collect $X / year from our customers of which a part is for the fixed fee and then the remaining is for the usage. So, there is
fixed fee credits
and then credits for usage
. Every month we need to deduct say, $A from the fixed free credits
bucket and say, $B from the credits for usage
bucket. We cannot have the same bucket for both. Once the user runs out of credits for usage, they will start paying. In future we may have different wallets for different class of service as well (a simple example could be like paying a mobile operator for voice and data from different wallets).In the invoice we need to show what is deducted from each wallet every month. It would be ideal if the invoice could also include what the balance was at the start of the month and then at the end of the month!
Let me know if this feasible and/or you have questions around this.
Andrey Dolgikh
For us, this is the only missing piece to start using lago in production
Aleksey
The payment system in our product is designed in such a way that customers can have several service contracts at the same time. The movement of funds under each contract is carried out separately and we cannot use the funds received under one contract to write off for services under another contract. Legally, this is only possible with the consent of the user and by making a corrective write-off for each invoice. Also, different contracts may have different taxation systems. All this together makes it impossible to use one wallet. In our business model and within our legal conditions, every subscription should be directly pointed to wallet that it uses for withdraws by invoices.
We want to be able to:
create multiple wallets for one customer
specify Wallet for Customer's Subscription
issue Invoice for topping up specified Wallet
debit money for transactions and subscriptions only from the wallet that is linked to the subscription
Alternatives considered:
- Using one wallet. But as I described in the problem, this becomes impossible due to a number of reasons: different taxation systems, the need for user consent when conducting transactions and making adjustment write-offs in the accounting system.
- Creating several customers for one client. This is just a crutch. In theory, this can work, but in this case we will have to duplicate some of the client data (organization and payment details), and also take out some of the logic for supporting several customer payment accounts from the billing system.
Additional context
Google uses a similar approach in payment accounts. For example, I can pay for a Google Workspace subscription and not pay for Google Drive.
Aleksey
We also have a need to support multiple wallets for the customer. We are ready to help in implementing this request, how can we organize the work?