M2MHub: Open Source Reports For Made2Manage
- September 27, 2011
- Tim Harrison
I work with a few companies that use the Made2Manage ERP system. In short, building custom reports in Made2Manage (M2M) is difficult. As a software engineer with a lot of web development experience, I find it discouraging how difficult custom reports are for me. So, after struggling to master M2M, I’ve finally given up and started writing simple web-based interfaces to the M2M database. In the hopes of finding others who might be going down this road, I’m providing m2mhub as open source. Though it is not a turn-key application, I would be interested in collaborating with others to make it more useful.
The Made2Manage Group on LinkedIn
I had earlier created an m2mhub google group to provide a forum for anyone to collaborate. However, I've learned that the Made2Manage group on LinkedIn has more traffic than anywhere else. With less that 2,000 companies using M2M, the world is not big enough for more than one forum. So please, join the Made2Manage group on linked in.
M2MHub Overview
At present I have relatively little built. I am not approaching any report in a comprehensive manner. Instead I only write specific interactions that I know will be useful. So, for example, there is no customer search yet. That hasn’t been as important as searching the item master.
Strangely, the most powerful part of this app is that I made almost everything clickable. That makes dashboard of recent sales orders (or quotes) a great launching point. You can click on the sales order, or the customer. And from either of those pages, you can click on the item. The initial goal is to make all sales information very easily accessible. This is surprisingly difficult in the M2M app itself.
So here’s what I have so far:
- Quotes - This is simple crud around quotes. The index page is sorted in reverse chronological order. Quotes are more useful on the home page (dashboard) and on the customer view.
- Sales Orders - This is also simple crud around sales orders. Same as quotes, these are more useful in the context of a dashboard or viewing a customer.
- Customers - The customer show page is intended to display as much reference information as possible about a single customer. This page should be useful to sales and sales engineers when speaking with a customer. It contains every previous sales order and quote. In particular, having a quick table mapping from customer part number to company-specific part number has been useful to sales engineers.
- Items - At this point items page is just a search. It searches by company and vendor part numbers. This has been been useful as a reference for engineers to look up vendor part numbers. It has also been useful for the shipping receiving department to find a company part number when a vendor only includes their own part number in a shipment.
- Home Page Dashboard - Right now the home page shows recent sales orders and quotes. This is just the quickest and easiest dashboard I could think of.
Connecting to SQLServer
The hardest part about any of this is just connecting your Rails app to a SQLServer database. If you get discouraged, just remember this: “You can DO IT! Victory will be sweet.” I have a few more details in the m2mhub github readme. But a good starting point is here: tiny_tds and activerecord-sqlserver-adapter.
Basic Architecture
Our M2M databases run in our building. I believe this is a typical setup for M2M. So I setup a small Ubuntu server behind our firewall and give it a public IP address. Though I’m a big believer in the cloud, I don’t see another way to do this. I feel ok opening up HTTPS access to my Ubuntu box. I would be much more nervous opening up access to our M2M database to some web app in the cloud.
Future Plans
I’m planning on doing something with RMA’s and integrating with Lighthouseapp. I’m also planning on doing a custom shipping report. It would be great to have other people writing some custom reports so we could share code. Join me!
