Pages

Wednesday 26 August 2015

Supplier's own Product Code and Name on RFQ, PO and Invoice instead of default product name and code

Hello,

Normally in real life scenarios, all suppliers have their own calling code/name for their supplies products.

Today I am going to show you,

How to use supplier's own product code and name on Purchase Quotation (RFQ), Purchase Order

(PO) and Purchase Invoice.

Step 1: Select any product and goto Formview > Procurements > add supplier's information.





Step 2: Here I have added Asustak and configuring it's product code and name.

             Product : Apple In-Ear Headphones

             Supplier : ASUSTek

             Product Code : ASUSE - APPLE-EAR-PHONE

             Product Name : Asus - Apple In-Ear Headphones





Step 3: Create Purchase Quotation (RFQ) with product Apple In-Ear Headphones.

             Product Description field will automatically pop out with Supplier's product code and name.




Step 4: Confirm Quotation and convert to PO. Same Product Description will be used for PO.



Step 5: Transfer PO and Receive Incoming shipments. Now go for supplier's invoice.                        
             Invoice is also pop out with supplier's product code and name.






So here by configuring supplier's product code and name, we will get same effect at RFQ, PO and Invoice.

Have fun :)

Thanks & Regards,
Ishwar Malvi

Saturday 22 August 2015

Autostart Odoo/OpenERP server at System reboots (Ubuntu)

Hello Friends,

Here I am going to show you few easy steps to create a script that will automatically starts your odoo/openerp server when Ubuntu starts (reboots).


Step 1: First of all you need to setup your odoo server by installing odoo packages as well as postgresql database configuration Odoo Installation guide.

Step 2: Once you have done with odoo installation,

            Locate openerp-server.conf file from odoo server files.

                Default path : /opt/openerp/server/install/openerp-server.conf

                Manual Search from terminal:
           locate openerp-server.conf

Step 3Open file and set following basic parameters for default configuration:

 [options]   
    ; This is the password that allows database operations:   
    ; admin_passwd = admin   
    db_host = False   
    db_port = False   
    db_user = odoo   
    db_password = False   
    dbfilter = .*  
    xmlrpc_port = 8069  
    addons_path = /usr/lib/python2.7/dist-packages/openerp/addons  
                 ; (Custom addons path can be added and separated by commas (,))  
      
 
Step 4: Check your odoo server is running from above configured openerp-server.conf file.

       Terminal:

           ~/odoo-8.0$ ./odoo.py -c /opt/odoo/server/install/openerp-server.conf

Step 5Create new script file named odoo-server.sh and place this in path /etc/init.d/

odoo-server.sh

 #!/bin/sh  
 ### BEGIN INIT INFO  
 # Provides:       odoo-server  
 # Required-Start:    $remote_fs $syslog  
 # Required-Stop:    $remote_fs $syslog  
 # Should-Start:     $network  
 # Should-Stop:     $network  
 # Default-Start:    2 3 4 5  
 # Default-Stop:     0 1 6  
 # Short-Description:  Complete Business Application software  
 # Description:     Odoo is a complete suite of business tools.  
 ### END INIT INFO  
 PATH=/bin:/sbin:/usr/bin  
 DAEMON=/opt/odoo/openerp-server  
 NAME=odoo-server  
 DESC=odoo-server  
 # Specify the user name (Default: odoo).  
 USER=odoo  
 # Specify an alternate config file (Default: /etc/odoo-server.conf).  
 CONFIGFILE="/opt/openerp/server/install/openerp-server.conf"  
 # pidfile  
 PIDFILE=/var/run/$NAME.pid  
 # Additional options that are passed to the Daemon.  
 DAEMON_OPTS="-c $CONFIGFILE"  
 [ -x $DAEMON ] || exit 0  
 [ -f $CONFIGFILE ] || exit 0  
 checkpid() {  
   [ -f $PIDFILE ] || return 1  
   pid=`cat $PIDFILE`  
   [ -d /proc/$pid ] && return 0  
   return 1  
 }  
 case "${1}" in  
     start)  
         echo -n "Starting ${DESC}: "  
         start-stop-daemon --start --quiet --pidfile ${PIDFILE} \  
             --chuid ${USER} --background --make-pidfile \  
             --exec ${DAEMON} -- ${DAEMON_OPTS}  
         echo "${NAME}."  
         ;;  
     stop)  
         echo -n "Stopping ${DESC}: "  
         start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \  
             --oknodo  
         echo "${NAME}."  
         ;;  
     restart|force-reload)  
         echo -n "Restarting ${DESC}: "  
         start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \  
             --oknodo  
         sleep 1  
         start-stop-daemon --start --quiet --pidfile ${PIDFILE} \  
             --chuid ${USER} --background --make-pidfile \  
             --exec ${DAEMON} -- ${DAEMON_OPTS}  
         echo "${NAME}."  
         ;;  
     *)  
         N=/etc/init.d/${NAME}  
         echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2  
         exit 1  
         ;;  
 esac  
 exit 0  



Step 6: to make it executable, we need to give some permission.

      sudo chmod 755 /etc/init.d/odoo-server

Step 7: Testing the script:

        1. To start odoo server:

            sudo /etc/init.d/odoo-server start

            Once the service is start, check it in browser by typing IP_or_Domain_name:8069

        2. To stop odoo server:

            sudo /etc/init.d/odoo-server stop

Step 8: at last we need to hit one more final command to make odoo-server script activate automatically.

            sudo update-rc.d odoo-server defaults

Step 9: All is setup now. Just reboot the system and open terminal to check whether the odoo service is start automatic.
             ps aux | grep odoo

you will see something like this,
 odoo 15786 0.1 10.6 207132 53596 ? Sl 22:23 0:02 python /usr/lib/python2.7/dist-packages/openerp/addons -c /opt/odoo/server/install/openerp-server.conf  

It says that you odoo server is running and you can also check this out from web browser.



Have fun :)

Thanks & Regards,
Ishwar Malvi

Sunday 2 August 2015

Odoo Warehouse Stock Removal Strategy : FIFO, LIFO, FEFO

Odoo Warehouse Stock Removal Strategy : FIFO, LIFO, FEFO

Normally in real time scenarios, there are several products comes with expiry dates like pharmaceutical products, food products etc. It is tedious to manage manually to select that products to sold out based on FIRST EXPIRY FIRST OUT.

Here I am going to show you some of configuration in Odoo that automatically manage your stock based on expiry date/removal date set on product and removal strategy set on warehouse location.

Manage your stock using Removal strategy in Odoo. Some of removal strategy are as follows,
  1. First In First Out (FIFO)
  2. Last In Last Out (LIFO)
  3. First Expiry First Out (FEFO)

I know, Everyone loves Ice Cream and Chocolate, so here I am going to show you demo with Ice Cream as a Product :D

Ice cream comes with expiry date, it should be sold out before it gets outdated and causes health issues to customers.

Ok, Lets begin with First Expiry First Out (FEFO)

Step 1: Here is list of Warehouse locations, you can create your own warehouse location also.



Step 2: Set configuration to make menus visible for 'Serial Numbers' and 'Removal Strategy'



Step 3 : Once you have done with configuration, Removal Strategy field get visible.
Here is three type of Removal Strategy are as follows,
      1. First In First Out (FIFO)
      2. Last In Last Out (LIFO)
      3. First Expiry First Out (FEFO)



Step 4: I am going to set 'First Expiry First Out (FEFO)' Removal Strategy.



Step 5: Lets create a Purchase Quotation > Confirm > Receive Products > Transfer



Step 6: Click on 'Transfer' button, wizard will be pop up. now click on 'Lot/Serial number' field and create Lot of Incoming Shipment to receive product batch wise.



Step 7: Set Desired dates for this Lot : 0000007
           1. Best Before Date
           2. End of Life Date : It is an Expiry date
           3. Removal Date : It should be less then 'End of Life Date' 
           4. Alert Date



Step 8: Transfer the incoming shipment to 'WH/Stock' Location



Step 9: follow step 5,6,7. create second incoming shipment Lot : 0000008
           Set Desired dates for this Lot : 0000008
             1. Best Before Date
             2. End of Life Date : It is an Expiry date
             3. Removal Date : It should be less then 'End of Life Date'
             4. Alert Date



Step 10: Now we are going to sale this imported product from our location 'WH/Stock' where the removal strategy has been configured.
              Create Sale Quotation > Confirm > View Delivery Order




Step 11: Click on 'Check Availability' button, Odoo will reserve Quants based on Removal strategy on warehouse location.




Step 12: Here we go :)

              Click on move line, you can see the Reserved Quants details. product quantity has been selected from Lot 0000008 due to following removal date and expiry date,

             Product Lot        Lot 0000007         Lot 0000008

             Removal Date    08/28/2015            08/13/2015
             Expiry Date       08/31/2015            08/15/2015

            i.e : Lot 0000008 is a batch having earliest expiry date






You can select FIFO or LIFO removal strategy as per your requirements.

Have fun :)

Thanks & Regards,

Ishwar Malvi