Great idea.
However instead of creating a new module, i would try to re-use the existing modules so that it would interface with your accounting system.
For owned hardware, it should be a fixed asset, so create custom fields in there with a specific Type.
For pulling information about devices…If your ERPNext server is sitting on the same local network, or you could run a middleware layer to do ARP and automatically update that into ERPNext. Test IP-to-MAC Address Resolution with ARP | Microsoft Learn
To get information about the user’s system, you’ll need a locally installed app for that. Have no experience with it, but i believe you should be able to find something that integrates with spiceworks, or find some other commercial system that could expose an API. (Do you really need this? Not familiar with the MS stack but i believe they already have such a solution which manages a fleet of computers). Believe IP address should go into user profile/session, i’ll be surprised if ERPNext doesnt already have an ip address list somewhere of users.
It is typical for invoices to come with serial numbers for hardware these days, and you really want these things inside your Inventory module, rather then generating a new doctype that doesnt do anything else.
For leased hardware like cloud servers, perhaps the best way to do it is via modifying the Purchase invoice item from suppliers, putting in the cloud server name + passwords in the Item description? Anybody knows if its possible for one specific field to be viewable only to ‘IT’ Role, while allowing the ‘Accounting’ Role to process the invoice? Was thinking we could do things like embed passwords/ssh keys. Not sure if its a good idea tho. This feature would be cool for IT providers as well, as within the Server Item field, we would tag it with either a Sales Item type, a specific sales item OR an internal use tag like dev / in-house.
This would allow us to get more accurate cost of goods sold numbers, rather then lumping everything under operational costs because we’re too lazy to segment up the cloud server bill.
I currently pull data from bank statements to automatically create purchase invoices for cloud servers, could add an additional API call to the IaaS vendor to pull things like server names + types.
To make it all ‘usable’, we should then add custom reports within the ‘Support’ module, or then create a new module that has these custom reports and added functionality.
I have no real need for such a report, but if you need stuff like the middleware ARP layer i would be happy to contribute a docker based image with webhooks and erpnext intergration that returns ARP results whenever you feed it an IP, together with some sort of deployment method.