My custom App will be focused on managing an Entity (DocType) that is a specialization of the (Item) Stock Entry DocType.
Let’s say it is a Used Car Dealer App (just as an example), so the proxy DocType is “Car”.
There will be regular items also, like auto parts, and that can be managed using the standard Item Page, Stock Entry and so on.
But for a Used Car Dealer App there must be Car DocType (with CRUD, reports etc.) which is the App Main Feature.
When the user Add a New Car, it must add a new Stock Entry (probably a Serialized controlled one) for the Item Master “Car” (just consider the Item Master “Car” have being previously created at setup).
If the Car Dealer have many shops, each one can be a Warehouse, so moving Cars from one shop to another would be the same as moving from one Warehouse to the other.
Cars are bought and sold, so they are Items bought and sold. That allows to inherit every Item related feature including Invoicing, Accounts Receivable/Payable, GL and so on.
It would be similar to (ERPNext Agriculture Domain) Crop Cycle → Project relationship. Once a Crop Cycle is created, it also creates and links it to a Project so that all the features of Project are inherited by Crop Cycle. Of course, for a Farmer “Crop Cycle” is a much better domain terminology than the generic “Project” one.
What is a best practice with Frappé/ERP Next to achieve it?
It would be nice to be able to do it with very low code.
Thanks for any suggestion