How to generate Reports in Excel, Word & pdf format from Odoo

There are many companies or people who feel more comfortable with excel file format. Odoo (OpenERP) allows you to export the reports in Excel, word or pdf format/

Whenever we create the report in RML it just outputs in pdf. Hence further processing on the generated reports and the pdf version is just not enough.

There are 2 ways to generate report which can be exported to Excel / Word formats.
1. Using Jasper Reports
2. Using Aeroo Reports.

The advantage with Aeroo report is that it has a cool “Printscreen” functionality with which you can export any list view into Excel. Even the Analytic reports like “Sales Analysis”, “Leads Analysis” etc can be exported to Excel format. This is very powerful for the Clients, in case they want to run additional analysis using Excel Pivot tables.

The modules “report_aeroo”, “report_aeroo_ooo” and “report_aeroo_printscreen” are required for this functionality to work. Also it uses Open Office to generate the Excel/Word report, so OpenOffice has to be installed and running as a service for this to work.

This link has the details of how to install and setup OpenOffice as a service. I just had to run OpenOffice using the following command “/usr/lib/openoffice.org3/program/soffice “-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager” -nologo -headless -nofirststartwizard”

The following are the details of my /usr/bin/openerp-server
————————————-
#!/bin/sh
export PYTHONPATH=”/usr/lib/openoffice.org/basis3.1/program/” #change this to your OOo path!!!
cd /usr/lib/python2.6/site-packages/openerp-server
exec /usr/bin/python ./openerp-server.py $@
————————————-

See below from how the Aeroo Report, Printscreen report is configured. The reports which you define can also be setup to output in Excel by using a similar setting.

If you’re interested in implementing Odoo or have any questions, get in touch! You can reach us using our contact form or at sales@bistasolutions.com.

How to set up OpenERP for different Time Zones

How to set up OpenERP for various timezone kindly follow the following steps to select timezone in OpenERP:

How to set up OpenERP for different Time Zones
How to set up OpenERP for different Time Zones

Click on the “Edit Preferences” wheel at top right corner

How to set up OpenERP for different Time Zones
How to set up OpenERP for different Time Zones

Click on the “Preferences” tab

Select the timezone from drop down menu
How to set up OpenERP for different Time Zones

Select the timezone from Drop Down Menu

Following code will be working for “GMT-x” time zones. Mostly US based.

FMT = ”%Y-%m-%d %H:%M:%S” #Time Format
#########################Timezone Logic########################
timezone_time = self.pool.get(”res.users”).browse(cr,uid,uid).context_tz #Timezone selected in OpenERP
now_utc = datetime.now(timezone(”UTC”)) #fetching UTC time
now_utc1 = str(now_utc)[:19] #Truncating time only
now_tm = datetime.now() #system time
current_now = str(now_tm)[:19] #Truncating system time only
if timezone_time:
current_timezone = now_utc.astimezone(timezone(timezone_time)) #getting the time of selected timezone
current_timezone = str(current_timezone)[:19] #Truncating timezone time only
else:
current_timezone = current_now #Current time
###############################################################

#Difference between the UTC and Timezone time
UTC_timezn = datetime.strptime(now_utc1, FMT) – datetime.strptime(current_timezone, FMT)

#Difference between the Current and Timezone time
currnt_timezn = datetime.strptime(current_now, FMT) – datetime.strptime(current_timezone, FMT)

openerp_selected_tm = self.browse(cr,uid,ids[0]).last_ebay_order_import_date #getting user selected time from OpenERP

currentTimeFrom = datetime.strptime(openerp_selected_tm, FMT) – currnt_timezn #Subtracting the currnt_timezn from user selected time

Final_time = currentTimeFrom + UTC_timezn #Final time by adding UTC_timezn

How to use Average Price Formula in OpenERP

Below is the method of calculating the Average Pricing in OpenERP

Formula

NP = (AP * QS + PP * QP) / (QS + QP)

Example: NP = [AP(13.42)*QS(733)+PP(15)*QP(10)] / [QS(733)+QP(10)]

NP = 13.44

Abbreviations:

  • NP (New Price): New Average Price once product have been received in the warehouse.
  • AP (Average Price): Old Average Price before product received in the warehouse.
  • QS (Quantity Stock): Quantity stock before product received in the warehouse.
  • PP (Purchased Price): Purchase Price(Unit Price) in Purchase order.
  • QP (Quantity Purchased): New Quantity received in Purchase order.

How to Run OpenERP 6.1 on custom ports

To run OpenERP 6.1 simultaneously with our existing OpenERP installation, we need to specify different ports for XML-RPC. Here”s the Command to run OpenERP 6.1 from source with custom port option(Run this command from OpenERP6.1 source folder):

#su OpenERP -c “python OpenERP-server –xmlrpc-port 8089 –xmlrpcs-port 8091 –netrpc-port 8090″

Below image shows the port definition in Debug configuration of the eclipse!

open source ERP
OpenERP custom ports on eclipse

The Advantages of using Linux Operating system

Linux is one of the widely used Open source operating system assembled under the model of free and open source software development and distributions. Linux kernel and operating system first released on October 5 1991 by Linus Torvalds is one of the defining components of any Linux system.

There are different operating systems available which we use daily but here i will provide you with some of the best reasons where Linux installation on a machine is better as compare to other operating system specifically for those who are new to computer world.

1: Viruses/malware

Viruses and malware can attack your PC anytime and this is one of the most important reasons why you can select Linux. As on Linux operating system the concern of viruses attack become zero. Therefore purchasing of virus protection software cost is waived off after using Linux.

2: Security

Being Open source in nature Linux provide you with good security in your Operating system. Incase any virus released in Linux operating system you will get quick patches released either on the same day or next day. This normally doesn’t happen if you use any other operating system.

3: Cost effectiveness

Another reason for being open source is the cost effectiveness as other operating system requires licensing towards the installation. Say for eg: Microsoft licenses are only allowed on a single computer whereas Linux can be distributed to any number of computers without spending single penny.

4: Freedom

With Linux advantage you have freedom to control every part of your operating system. Again Linux provides you with freedom of licences and control over desktop look and feel.

To know more in details contact us today.

How CRM software can help your organization

Previously we have discussed that Customer relationship management (CRM) software or Lead management software is very important for an organization who is into either products or service selling. A lead management or client management is very necessary in today cut throat completion to make powerful client base for a business. A small business CRM can help in achieving this because it allows you to have customer information with the previous records of their activity in the CRM software which make quick and easy to access as and when required.

Again with the help of advance CRM software available where the communication can be shared in group for eg: A is constantly communicating keeping loop with B. negotiation with customer C and incase A is not available, B can handle the client easily which helps in customer relationship.

Today pace in selling or in business is necessary as keeping the customer on hold may loose customer interest, Henceforth with a use of customer relationship management software you can pace up your sales, lead management, customer management, marketing automation etc. With few clicks you get all the history of the customer you are looking out for wasting your time on going through papers and other stuff. If you have history of your customer purchase and transactions it becomes easy when re-ordering happens.

Hence with the above one can say CRM software can help in different sales and marketing areas of an organization. A CRM application is helpful not only organization/sales perspective but it can help the customer also which dealing with your organization.

Which is the best online platform for eCommerce vendors ?

The Zerynth Platform

eCommerce websites are becoming one of the most powerful mediums for online buying and selling of goods & Services. Many companies are now focussing on their online store as it allows them cost-effective and sell the products and services at low rates as compared to bearing the expenses of virtual stores. E-commerce vendors.

There are many platforms available that an eCommerce vendor can choose from, but there is no distrust that Magento is considered one of the most influential eCommerce platforms. The reason behind this is being Open source Magento is one of the strong e-commerce platforms available today. With the massive success of websites like Etsy and ThemeForest, multi-vendor eCommerce marketplaces have become a popular way to sell both physical and digital products. They provide an easy method for you to host third-party vendors. Customers are happy because they get to choose from a wide selection of products, and you’re happy because you get to charge vendors a commission. But because of the unique functionality multi-vendor marketplaces require, you need specialized software to be able to effectively run one. Another important advantage of using Magento is that it enables the store owner to install, run & customize it easily.

Magento eCommerce store allows you to have integration with the payment gateways, Analytics other extensions, etc. It also allows you with variety of themes from which you can choose the most suitable for your store and products.

Some of the powerful services offered by Magento are as follows

– Quick operation

– Easy integration with 3rd party tools

– Categories and Product management

– Shipping management, order management

– Customizations as per user requirements.

– Strong Open source community

– Other support services are available

Apart from the above one of the most important features is that Magento is having user friendly interface.

How Busniess Process Management can improve business performance

Busniess Process Management

 Business Process Management

We always learnt during our management studies “Doing right things at a right time” to ensure smoothness in business operations and this can be accomplish when you have a proper processes in place from different department. It also applies where you are ensuring to contact right person in your organization to get the work done on time.

Business Process Management – workflow management helps you to increase and the capability of each department. The Company can easily track different processes of their departments to track the work completion. It allows you to take necessary actions in terms of delays in the work from one department. Apart from that business process management tools helps every employee to complete their duties and task with the help of certain clicks.

Another advantage of a BPM tool is that the person who is initiating the case does not need to worry as it allows you with information through emails, sms on the task done by different department. It also allows the company to become global, say for example a product concept is created in one place and design done in another place and so on. Today BPM – Business process management is considered as one of the emerging technology to improve the efficiency of business. It includes component of workflow management, document management, business rules and ERP integrations.

Thus, work flow solution can help a company to improve its performance dramatically.

Waterfall method v/s Agile methodology in Software Development

software development company

Software development industry mainly drives their project life cycles through two approaches.

1. Traditional software development approach/Waterfall method.

2. Agile methodology

Before choosing a vendor for software development or specifically for custom software development it is important to get familiar with these 2 methods to see which method is best suitable for business requirements.

Let’s start with the Traditional software method; normally these practices are broken down into different phases. The initiation starts from the set up of the requirement to see the timelines and implementation bias. After the requirements are done second step is to design the diagrams and models to provide a road map for the developers.

Further moving on after the road map is created the third phase consist of the development of the project. The development is broken into smaller task which is distributed among various teams depending on the skills. During the project execution normally testing part is done to avoid bugs in later stage. And after the project comes to completion the customer start the testing of the software and after the client is satisfied the project is delivered

Summary of Traditional Approach:

Requirement set up – Design – Development – Testing – Customer Testing – Project delivery

The main feature for implementing through tradition approach is heavy documentation, which allows you to set the timelines and project implementation requirement clearly before start. Because of this there are chances where changes in the requirement will affect the development. Although in real software development there are various problems that may arise as there might be change in the company processes or other changes during the development phase. Because the Tradition approach to software development does don’t provide changing ability to address the issues. Hence a little more flexible approach specifically for custom development is agile methodology.

In Agile method the more concentration is on the proper completion of the task through team collaboration. This phase rarely rely on the documentation part to measure the progress of the project. Hence agile development is not restricted to Functional requirement document. Agile method is followed in case of dynamic needs of the project or custom software development.

The Approach of agile development:

In Agile method the tasks are broken into small increment which is also known as iteration having short cycles which complete in 2 to 4 weeks. Further iteration follows the similar process of traditional software development which is as follows:

Requirement set up – Design & Development – Client Demo – Re- evaluation – Phase delivery

In the above if you see the customer involvement is very necessary as in every small phase the client testing is require to see if any alterations or customizations require in the development process. The Agile method involves different iteration to complete the total project requirements. Another advantage of Agile Methodology is the client receive working version of the software as the development happens in phases which decrease the risk of ROI – return on investment and provide the client with continuous feedback on the software development.

There are very less risk in Project delivery if a firm opt for agile methodology but it should be noted that with Agile development the vendor who is developing the software must be very experience to give proper timelines on the project & customization points. Another important point to be consider while applying agile methodology is that this method highly dependent on customer feedback and their involvement. If client doesn’t have time to invest then it may be difficult to do development through Agile.

From the above differentiation we can say that both waterfall and agile development methods are workable solutions with success. But to summarize in short Waterfall strategy are applied when the project requirements are very much clear and do not need customizations. And agile development is applied when the project requires flexibility and customization as per business processes.

Enterprise Resource Planning (ERP) Implementation in Phases

Enterprise-Resource-Planning--Implementation

Enterprise resource planning (ERP) system implementation is been done from past two decades and ERP systems is considered as one of the most powerful Business Management software, as it covers every department with one single software. ERP implementation is one of the biggest question arise as sometime it involve a huge timelines towards the development. An ERP implementation can be perform in Phase manner as shown in the example below.

For a typical ERP project, various phases are as follow:

  • Project initiation phase :

ERP project beginning is one of the most important phase as in this phase, You plan on certain initiation points such as Team formation, Project planning and fine tuning of every aspects of the business. In any successful implementation there are certain skills require checking the best expertises availability for the project. It also includes Key user team, IT personnel, Project implementation group etc.

It includes the vendor team onsite for the creation of functional requirement document and understanding the business aspects & Project administration plan. Some of the expected output from these phases is the project implementation committee formation, delivery and installation of default ERP application to judge the capability.

  • Development & GAP Detection Phase:

The second phase in ERP implementation is the development and GAP detection phase. In this phase main users and other team map the existing processes with the default functions available in the vanilla or existing ERP software. This happens with the vendor team.  Other parts include in the development phase is the Customization points identification where a separate customization document can be prepared for details.

  • Software Customization Phase:

This phase includes the development & customization of all the Modules which will apply in the ERP system. This phase also includes the testing of the modules, unit testing based on the plans developed by the vendor. This phase can be onsite or offsite depending on the company decision

  • Acceptance Testing:

Acceptance testing phase is another important part towards the implementation of ERP software. It allows you to see that the system works properly. This phase also include the creation of manuals if required. This phase helps you in quality control of the code from user perspective and technical perspective.

  • Training Phase:

After acceptance testing all the end users are trained for their specific functions. For example. There will be different set of training for sales management teams, similarly for purchase, Accounts, Manufacturing etc. This training is conducted by the vendor team and again this can be online or offsite.  Another alternative provided by the vendor on training part is the “training videos” where new users can see the videos and learn on the ERP process part.

  • Data migration phase:

After the user training phase the data migration phase starts where all the existing data is transferred into ERP system. This phase also include the establishment of access rights and passwords, Data conversion etc.

  • Go Live:

After the final data is loaded with the user roles and hierarchy creation, the ERP system is ready to have go live position. This is the final phase where a final training might be required. And this is the phase where the users work on real time data in the ERP software.

The above points may differ from vendor perspective or ERP product perspective. An organization may use various strategies or add other phases in the above to achieve success in ERP implementation.

If you’re interested in implementing ERP software for your business, get in touch! You can reach us using our contact form or at sales@bistasolutions.com.