Posts Tagged ‘Drupal’

Squid, CherryPy and OpenERP

Squid (software)

Image via Wikipedia

This is going to be quick…

Squid and CherryPy (therefore the web client of OpenERP) do not get along pretty well. Reason being CherryPy expects to know the originating URL by reading the http “X-Forwarded-Host” header. The only reverse proxies that add this header are Apache (mod_proxy) and Lighttp. This does not happen with Squid. Actually it does, but this information is published under the variable “Origin”. The result is in order to integrate CherryPy with Squid, you need to modify a little bit the CherryPy code.

In the file lib/, located under the root of CherryPy (v3) you can find the proxy function. Just by setting the input variable of the “local” function, which is set by default in “X-Forwarded-Host”, to “Origin” is enough. And doing so you will be able to save a lot of time (in my case 4 hours) and trouble.

You might wonder why you need this, just in case you need to work  with OpenERP behind a reverse proxy like Squid.



OpenERP and E-Commerce

Shield logo for Ubercart project

Image via Wikipedia

Last week a client asked me if OpenERP had an E-Commerce solution, and she was disappointed when I said no. But she was glad when I explained her why it was already integrated with existing open-source e-commerce solutions, such as Magento. And I wanted to share my thoughts on this, since some people keep asking for integrated e-commerce functionality (as well as business intelligence functionality).

To the best of my knowledge, to this day OpenERP already has connectors to Magento Commerce and Joomla. Does not have connectors to Drupal (Ubercart and Drupal Commerce projects) but I expect OpenERP to have those connectors soon since the Drupal community is growing fast (actually I am really tempted to develop a connector to Drupal Commerce but first I need a project to fund the development, and I need the time. Plus, Drupal Commerce first has to release an stable release). Which means, you can install your e-commerce solution, and integrate it with OpenERP.

What areas do you have to integrate? The product catalog comes to my mind (and the ability to manage multiple pictures per product). Then the sales orders, invoices, price lists and the delivery and inventory information. Those are the information items that should be available to the e-commerce solution, in order to make it work properly. Then the customer information, such as credit limits and order history. Lots of information that needs to be pulled from OpenERP.

OK, now why it is not a good idea for OpenERP to be a full-fledge e-commerce solution. Because the ERP and MRP problems are big enough. That’s why. E-Commerce is a different beast on its own, that demands other skills. Such as having the ability to make the page look good and the capability of implementing a design in your page. Plus, the page needs to be optimized for search, and the e-commerce solution needs to manage content the way a CMS does. That is quite an stretch for an ERP system. Ah! Have I mentioned that e-commerce packages need to integrate with payment gateways and sometimes need to be multi-lingual?

At the end of the day, the OpenERP community is not big enough to justify the development of an e-commerce solution on its own, and the e-commerce packages around already do an outstanding job. We will be much better off focusing on the development of the integration connectors, rather than developing an e-commerce solution from the ground-up.


Thoughts on why some SMBs will switch to OpenERP over traditional ERP systems

Python logo

Image via Wikipedia

Today I had the chance to learn about the features of a propietary ERP system. This gave me a good  insight of why small businesses are moving to OpenERP. Some of the features customers appreciate are:

  • Customers can customize OpenERP. I did not realize it, but there are many systems around that are closed and can not be modified. And making changes to it means making changes to its core. And this could take months. This is the opposite of OpenERP, just look at OpenObject and you can see how easy it is to extend or override its functionality. Also, workflow functionality is quite powerful. Not all ERPs have the capability of changing its behaviour as OpenERP does.
  • Customers can look at the code. This might sound paranoid, but gives them confidence on the system.
  • No vendor lock-in. Customers love this. The fact they don’t have to stop the plant in order to switch vendors is highly appreciated. And being capable of keeping the code and giving its customization to someone else who is capable of maintaining it, makes life easier for our clients.
  • Support forums
  • Have I mentioned Python? OK, not all the IT people I know have ever heard of Python, but the people I met today were running their ERP system with Centura, which is a framework based on SQLWindows, one of the first object oriented programming languages in the mid-90s. With this I mean… OpenERP runs with one of the most productive programming languages in the world. Plus, even though we are not millions, the group of people working with Python is growing every day.
  • TCO. This is a big deal. Not only the licenses (all the ERP systems I see over here have licenses that are more expensive than $40,000) but the hardware and software as well. You only need a browser on your desktop to use OpenERP, no Windows licenses. And no server license as well. This saves thousands and thousands of dollars.
  • And last but not least, the web client. This makes the life of the system administrator much easier


Thoughts on a modular OpenERP

February 18, 2011 2 comments
Image representing Microsoft as depicted in Cr...

Image via CrunchBase

Sharing my thoughts on how we have been using OpenERP these past four months. Couple of our customer (which happen to be small businesses) appreciate it as a full integrated system, and they are starting to use most of its modules. Starting with financial management for creating invoices and receiving payments. Pretty much managing its finances. Then they use the logistics and purchasing modules, and they have started planning for the CRM modules.

Those clients happen to be very small and they don’t have a large budget for a full-fledged ERP implementation, so they use it as they learn it. They started playing with it and from time to time they call us to help them with their questions or problems. And I think this list is growing for a couple of reasons. They find a lot of functionality and they love it. Second reason is, it gives them a chance to run away from Microsoft. We set world records when it comes to software piracy in Argentina, and the law has become stricter about it. Nowadays small businesses are being audited and are being forced to either buy Microsoft (plus other) licenses, or go open source. And many are choosing open source. And they are finding OpenERP a super option for getting rid of Microsoft Windows servers and Microsoft SQL servers. In the long run, this is a great scenario for cloud computing, but more on that on a later post.

Now, we finished a project and starting a new one. With different clients. We could safely say they are not related to OpenERP but we ended up using it. Why? Because OpenERP provided us with the infraestructure we needed for our projects. The system provided with the business objects (and forms, reports and views) necessary for deploying our applications.

In one project we needed to keep track of attendances with a fingerprint reader. So we used the contract, employee and attendances business objects provided by OpenERP. We just integrated the fingerprint reader module to the HR module. And the customer is pretty much happy with this, plus it saved us a lot of hours. Now we are starting a project where we need to calculate the safety stock, reorder point and order size for a manufacturing company. We will use the MRP module in OpenERP since it will provide us the business objects we need for this project (such as Bill of Materials).

Well, using OpenERP business objects is an scenario we never anticipated, and we are very happy with it. And we are very glad OpenERP is getting more and more modular. Plus, it is a good way to expand the OpenERP presence in customers.

Have a great weekend!

Giving feedback to the OpenERP team

February 15, 2011 Leave a comment
Software value feedback loop

Image by jakuza via Flickr

I found the OpenERP Improvement Ideas website. It is a very interesting site and it is a way of collaborating on setting OpenERP roadmap. The way it works? It is pretty simple. After creating your registered user, you are assigned a point amount (15 I think, I tried it last Sunday but I forgot, and I don’t want to create a new user). And you are able to vote for the different development initiatives. Plus, you are able to comment on them and discuss them with the development team and other OpenERP users. It is a very cool idea for collaborating in the development process, giving feedback and enhancing the community. Plus, it is a good idea well implemented, since the voters system is quite simple and powerful at the same time.


Learning OpenERP with videos

February 14, 2011 1 comment
Audio-Video-Concert SCRAP

Image via Wikipedia

Well, I don’t have that much time but I wanted make a quick short post on a website that helped me a lot to learn OpenERP. This website is OpenERP Video, you can find it at this URL:

My experience with the website has been very positive and I am very happy it exists. Actually, when I was beginning with OpenERP, I watched many of its videos since they taught me how to use the system, while at the same time reading the OpenERP book.

A couple of interesting things about this website, it has video content provided by the community and Pragmatic TechSoft. So if you have a nice video on how to use OpenERP, you can upload it and promote it at this website. The other interesting thing about this website, is how large its media library is. Keep in mind that producing a video is not easy, and producing a tutorial video is quite demanding since you need to devote the time to do it plus plan for it. Then edit it. It takes a lot of time.

These videos are brand new, and you can find videos covering the new features of OpenERP 6.0, such as OpenERP 6.0 module and UI improvement videos.

My last point is, we should have more videos online. Since end-users do not read manuals and they can’t spend weeks in classrooms. So having them watch videos is a good way to ensure the OpenERP adoption among end-users.

So… Kudos to Pragmatic!!!!

OpenERP Partners – Getting revenues from existing customers

February 13, 2011 Leave a comment
Polish OpenERP screenshot

Image via Wikipedia

Well, just wanted to share I reply I posted in the OpenERP forum. This discussion was started by Fabien Pinckaers and it is an interesting one. It is how to get more revenue from existing customers. You can also read the presentation “OpenERP Partners – Getting revenues from existing customers”. I found the discussion quite interesting and I wanted to share my reply (which is below).

Just found this discussion and I wanted to share my thoughts on this. First, I would like to make clear where I stand now. My partners and I are starting a new software company and right now we are in the stage of being incorporated. We will be a formal company in one or two months. We are not OpenERP partners yet for the reason of not being a company yet (you could think of us as a bunch of software developers working together). We intend to become partners when we are incorporated as a company.

Why are we thinking of becoming partners? Basically because we intend to use the OpenERP software and we understand good software does not happen in a vacuum and people who develop it should be encouraged to continue its development. We intend to make money of OpenERP so we will devote a percentage of our income to its founding (we had a discussion with our partners on whether to become partners or donate a percentage of the money we make in each implementation, but we are leaning towards being partners)

OK, this is what I wanted to share. The best way to make money with OpenERP is with existing customers. From time to time we will make more money with new implementations, but on the long run we will make more money with an existing customer base. Plus, they allow you build a sustainable business.

What is the best way to increase this incremental revenue? Find new ways of either reducing costs or boosting sales. OpenERP (IMHO) is not about a technical proposition but a business proposition, which will allow business reduce its expenses or increase its revenues. How will this software do that? By understanding the customer business and its competitive environment. There is no secret to this. By understanding how the client makes or saves money, we will be able to propose new functionalities or projects that will allow us more money with the customer.

For example, we have a client who will soon implement OpenERP. Why is this client thinking of OpenERP? Because if it is well implemented it will reduce the stock, and the customer is thinking of reducing its stock in millions (OK, pesos, but still millions!!!). What the client needs is to reduce the expenses associated with inventory. The customer is thinking of implementing the stock, mrp and purchase modules.

But after implementing those modules, the customer will need to improve its forecast system. Why? Because the first step in inventory optimization is having a good forecast. And we will need to develop a forecast module for forecasting the demand of thousands of products. That will be a profitable second project (and we will be glad to share that module with the community). And after the forecast improvement module, we will need to implement the CRM module.

That is a good example of how aligning the OpenERP implementation with the business initiatives or business needs boosts the partner revenues. Our customer is not the people in IT (in two of our customers the IT department is only one guy doing whatever it takes to keep the computers and servers running). It’s the people in production, accounting, sales and marketing. It is understanding how to increase sales for the customer, or reduce its costs. Understanding this makes the OpenERP an easier sell (not easy, but much easier). And alleviates the pressure on the team.

A last thought, I think understanding the customer business will create the need for additional modules or applications. Such as Activity Based Costing module, Markdown management module, Revenue management module and so on. I think implementing these modules will generate very  interesting revenue opportunities for partners as well.

Well, just wanted to share my thoughts. Have a great Sunday!