Simple Demo Warehouse Management application

I know Cuba-Platform few month ago, at this moment I’m making solutions based on 1C: Enterprise.
I have a surprise at your Cuba-framework, it’s very interesting. And I want to change 1C to CUBA.
I’m trying make something on this framework, but difficult for me, because you have not much tutorials like Total Solution for new developer.
I have one request to you. Would you create and share an application like simple Warehouse Management application? I want to learn some logic to create seriously business application on this framework.
I was prepared the simple request on excel attachment and my demo Please check it!

Simple App Request.xlsx (115.3K) (580.8K)


i’ve looked a little bit over the example application and have some ideas / explenations for different parts. Perhaps other people might step in for the missing pieces.


  1. / 2. The Amount column can change in different ways. In case it is a persistent attribute you can calculate the count in setQuantity or setPrice method in the entity. Or you can register a change listener in the table / datasource in order to calculate the amount manually. In case it is not a persistent attribute, you can create a transient attribute and just display it in the table. Alternatively use the “generated column” feature of the table (
  2. Why do you not just use the “create” button and open a popup editor for the line entity?
  3. Importing data from excel can be done with Apache POI e.g, although i don’t think that there is anything special from the CUBA side. Nevertheless i’d be interested how you want to deal with the master data references (in this case product) and how do you want to deal with this?
  4. For this you can either go with a service and doing these saves within one logical piece or alternatively create an EntityListener that does this stuff after a ProductExpense is saved
  5. You can easily use the CUBA report feature for this. Just create a report and call the opening when the button is hit. This documentation should give you a quick overview on how to run reports: