Last year with the new requirements of Saudi zakat and Tax organization there is more and more need for financial solutions, especially in ERPs and e-commerce software.
And with new regulations that prohibit cancelation of selling invoices, also return invoices are not always a solution, because customers need sometimes to keep some money in their accounts for new future selling operations or replacing some products.
So we decide to step forward and build erpnext-wallet this wallet build with APIs to allow registering customer payments through e-commerce systems and allow you to pay and allocate money through different payment entries
We are happy to share this application with you and hope you can take it to a next level
I am Alaa Alsalehi, an IT manager I manage ERP and E-commerce solutions using open-source software I can help you with your digital transformation if you like to read more about my work check my Medium articles
really a very good question and here is why we do not go with shipped in ERPNext accounting directly
1- because we need to have flexibility on the business side let us say we want to allow users to transfer their money from their wallet to a friend’s wallet.
2- that helps us to automate the cycle from API without needing to know more about customer payments details. The wallet has all payments information it needs to find those payments that do not bind to a sales invoice and bind them to this new unpaid invoice.
I got your idea but you can manage with account itself and not require to manage separate module for that.
Like you can use journal entry for transfer amount from one wallet to another wallet. Even there is all validation so chance of mistake very low. Also you can use general ledger report for history of any wallet so you no need to write any custom logic to get history of all wallet, get wallet balance , etc.
OK this is looking good but for an accountant not for a regular user
JE and GL is a holly place for an accountant you can not give direct access to it unless he is an accountant