IT Management in ERPNext

Hello all,
I was thinking of creating a new module (or use the Support module) to manage my company’s IT inventory. As the number of devices and software in the organisation goes up, it might be nice to have a place to manage all of this in one hub. Do let me know if this is something that others might find useful and if you have suggestions to make this better.

  • New module for IT or use the existing Support module

  • New device doctype with fields for User, IP address, MAC address, device name, device type, device specifications, etc.

  • Device naming possibly based on department/branch doctypes

  • New software doctype with fields for serial keys, subscriptions (link with proposed subscription doctype or separate?), software vendor, number of licences, etc.

  • Link with Active Directory/LDAP to get security groups, OUs if this possible or even useful

  • Maybe a list of cloud servers, hosting provider, keys

  • Report showing status of devices. E.g. antivirus installed/not, system under maintenance?

Github issue

6 Likes

Right now, we’re adding computer hardware as fixed asset. Haven’t explored fixed asset + serial + barcode.

Also Item is created, item specification is updated, doctype brand is used.

For software license purchased, we’re using purchase invoices and recurring / reminder can be set as required.

I think should this be broader than IT? There are fixed asset equipment which may not be IT hardware/software but share similar attributes?

1 Like

i have worked at company for providing it services for companies so they don’t have to make IT department , i had big issues specially when i had to provide this service for 12 big companies in my country with a small team , we make regular visits and make reports solve there problem maintain there data , install license for software my company provides , setup emails , take database backups , developing new features to websites , keep an eye who progress our team efforts , i wrote every thing in paper and it was painful to me to keep up and deal with all that :frowning: i think its great and if i knew erpnext back then i would us it and customize it for saving my time and organizing my team efforts and keep all the data we neeed in one place for every customer we have

3 Likes

I think this is a super idea. I’d be interested in contributing or doing code reviews.

4 Likes

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.

2 Likes

This is the part that should be its own app or module. I like the idea of incorporating it into support, which you mention below.

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.

The accounting function you’re talking about is already integrated into ERPNext as cost centers, but what you’re talking about sounds like it might be a little too specific for re-use.
https://frappe.github.io/erpnext/user/manual/en/accounts/setup/cost-center

1 Like

The accounting function you’re talking about is already integrated into ERPNext as cost centers, but what you’re talking about sounds like it might be a little too specific for re-use.
https://frappe.github.io/erpnext/user/manual/en/accounts/setup/cost-center

yeap i know its there, like how a lot of features are available in ERPNext… however i think the bottleneck is the user :stuck_out_tongue:

So right now because i simply create a purchase invoice with 1 line item from digitalocean for the total sum, and dont bother to break it down into individual resources (which is available via API calls).

With such a plugin that i could now then either tag my IaaS resources or the purchase order line item to client invoices, that would be cool. I would never bother to do this manually… does anybody do it?

I am working for the similar purpose using custom DocType created by our end.

Regards

Seriously, this is the biggest challenge with ERPs in general… garbage in, garbage out. So I think your instinct towards ‘automation’ is an excellent one. Form the user perspective, I think it’s easier to make a doctype that captures the “technology asset” aspect and then have that hook to the accounting side of things than to build it from the accounting side to an IoT device manager (as a practical extreme).

@parmartejas - can you share your doctype.json file or repo to your project?

1 Like