Odoo 7.0 Module : koi_base_generic_multi_approval – Generic Multiple Approval System

Approval process is a primary concern for every OpenERP client that I encounter. It is pain in the a** to create approval system for each transaction on OpenERP. There’s should be a generic approval system which could be used by every object that need approval. The variance of approval pattern make this task even unbearable.

Since OpenERP 7.0, there is a way to create abstract model using osv.AbstractModel. This is the foundation to create generic approval system on OpenERP. I tried to use the same technique as mail.thread and mail.message to create approval system. The feature that should be available on approval system are :

  1. The approval system could be use by all object that needed approval system
  2. No need to/less additional code for approval system implementation
  3. Reduce the need to add additional step on original workflow (if there is any)
  4. Bypass system for emergency use
  5. Multiple approval for one document that could be defined by user (not hard code)
  6. User or group that allowed to approve/reject/bypass should be user defined (not hard code)


koi_base_generic_multi_approval is a module that provide generic approval system that could be use through all of Odoo objects. The approval system contain features that i mention above. The approval system itself is not a ready use solution. Developer have to inherit base.approval_object to designated object. Developer also have to adjust the workflow of designated object so it would run the approval method that provided by this module

After the hacking is done for designated object, user have to create approval template for designated object. Approval Template is a approval scenario for specific object. One object may have more than one approval template. The approval template provide information regarding :

  1. How many steps approval process will take
  2. Who will be authorized to approve each step, and
  3. Does manual override available in case of emergency and who will perform the override

Below is a screenshot of an approval template for Document Page object (document.page)

Approval Template

Approval Template

After approval template has been set, then user have to choose approval template which will be used for a specific document. Bellow is the screen shot of approval process for Document Page

Approval Process

Approval Process

Soon I will release more articles about the usage of this approval system. Stay tune …


koi_base_generic_multi_approval is a part of Koi Basic Modules Project. You can branch the project from lp:koi-oe-basic-package/7.0

One thought on “Odoo 7.0 Module : koi_base_generic_multi_approval – Generic Multiple Approval System

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s