Skip to Content
Menu
v 18.0 Third Party 102
Download for v 18.0 Deploy on Odoo.sh Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Point of Sale (point_of_sale)
eCommerce (website_sale)
Expenses (hr_expense)
Invoicing (account)
Employees (hr)
Discuss (mail)
Inventory (stock)
Website (website)
Community Apps Dependencies
Lines of code 5232
Technical Name eagle_payments
LicenseLGPL-3
Websitehttps://www.kolapro.com
Versions 17.0 18.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Point of Sale (point_of_sale)
eCommerce (website_sale)
Expenses (hr_expense)
Invoicing (account)
Employees (hr)
Discuss (mail)
Inventory (stock)
Website (website)
Community Apps Dependencies
Lines of code 5232
Technical Name eagle_payments
LicenseLGPL-3
Websitehttps://www.kolapro.com
Versions 17.0 18.0
Kola Tech Logo Odoo Silver Partner
Odoo Logo

Eagle Mpesa Payments

Seamlessly integrate M-PESA and mobile money payments into your Odoo system. Accept payments through POS, e-commerce, and invoices with real-time processing and automatic reconciliation.

Installation Guide

Follow these simple steps to get your Eagle Mobile Money Payment system up and running in your Odoo environment.

Install Required Python Packages

Before using Eagle Payments, make sure you have the following Python packages installed:

pip install cryptography
                    
1

Install Required Modules

Install all three essential modules for Eagle Mobile Money integration:

eagle_mpesa_client

Core client functionality

eagle_web_payments

E-commerce & sales payments

eagle_payments

POS M-PESA integration

2

Configure User Rights

Ensure you have Managing Director rights under the Eagle groups for proper access control:

Important: Navigate to Settings → Users & Companies → Users → Select your user → Groups tab → Eagle section → Check "Managing Director"
3

Create Account Request

Submit an account request with your preferred account number and wait for approval:

  • Go to Mpesa Payments → Account Requests
  • Click "Create" new request
  • Enter preferred account number
  • Submit for approval
Account Request Form

Account Request Form

4

Configure Point of Sale Payment Methods

Set up your POS payment methods by marking them as either Paybill or M-PESA for STK Push:

Configuration Steps:
  1. Go to Point of Sale → Configuration → Payment Methods
  2. Select your Eagle payment method
  3. Choose payment type:
    • Paybill: For business number payments
    • M-PESA STK Push: For direct mobile transactions
  4. Save configuration
POS Payment Configuration

POS Payment Method Configuration

5

Start Collecting Payments

Once your account request is approved and payment methods are configured, you can start collecting money through:

E-commerce Site
  • Online checkout integration
  • Mobile money options
  • Secure payment processing
Point of Sale
  • STK Push Payments
  • PayBill Payments
  • Till Number Payments

Setup Complete!

Congratulations! Your Eagle Mobile Money Payment system is now ready to process payments. You can start accepting mobile money payments through both your e-commerce platform and point of sale system.

Key Features

Enhance your payment experience with integrated mobile money functionality in Odoo. Our module allows customers to pay effortlessly via popular mobile money services directly from your Odoo system.

M-PESA Integration
M-PESA Payment Integration

Seamless integration with M-PESA for secure mobile payments

M-PESA POS Payment
M-PESA Payments in Point of Sale

Accept M-PESA payments directly in your POS system

Support and Maintenance

Our team is dedicated to ensuring your Eagle Mobile Money Payment system runs smoothly and efficiently. We offer comprehensive support and maintenance services, including 24/7 customer support, regular updates, prompt bug fixes, and customization assistance. If you have any questions or need assistance, please don't hesitate to reach out to us at support@kolapro.com. We're here to provide a seamless and reliable experience for your business.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
There are no ratings yet!
by
Gilbert Mwatee
on 8/11/25, 8:47 AM

Version 18.0


by
Gilbert Mwatee
on 8/11/25, 3:28 AM

After activating the module I'm getting the following error:


The following modules are needed by other modules but have not been defined, they may not be present in the correct asset bundle:

@web/core/network/rpc_service

The following modules could not be loaded because they have unmet dependencies, this is a secondary error which is likely caused by one of the above problems:

@eagle_payments/js/payment_form

Re:
by
ilubwama@kolapro.com
on 8/11/25, 4:24 AM Author

Hi Gilbert, Which version are you currently installing?


by
Gilbert Mwatee
on 8/11/25, 3:25 AM

After activating the module I'm getting the follow error: The following modules are needed by other modules but have not been defined, they may not be present in the correct asset bundle: •@web/core/network/rpc_service

The following modules could not be loaded because they have unmet dependencies, this Is a secondary error which is likely caused by one of the above problems: •@eagle_payments/js/payment_form





Error Installing Mpesa Odoo Payments Module
by
Clinton
on 7/29/25, 6:20 AM

I'm facing the following error while trying to install the Mpesa Odoo Payments module on Odoo 18 Community Edition:

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/odoo/odoo-server/odoo/tools/convert.py", line 678, in _tag_root
    f(rec)
  File "/odoo/odoo-server/odoo/tools/convert.py", line 580, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/odoo/odoo-server/odoo/models.py", line 4472, in _load_records
    data['record']._load_records_write(data['values'])
  File "/odoo/odoo-server/odoo/models.py", line 4416, in _load_records_write
    self.write(values)
  File "/odoo/odoo-server/addons/payment/models/payment_method.py", line 158, in write
    return super(PaymentMethod, self.with_context(skip_check=True)).write(vals)
  File "/odoo/odoo-server/odoo/models.py", line 3910, in write
    self._write(store_vals)
  File "/odoo/odoo-server/odoo/models.py", line 4104, in _write
    field.write(self, vals[field.name])
  File "/odoo/odoo-server/odoo/fields.py", line 1870, in write
    raise ValueError("Wrong value for %s: %r" % (self, value))
ValueError: Wrong value for payment.method.support_refund: 'True'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/odoo/odoo-server/odoo/http.py", line 1687, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/odoo/odoo-server/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/odoo/odoo-server/odoo/http.py", line 1714, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/odoo/odoo-server/odoo/http.py", line 1918, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/odoo/odoo-server/addons/base/models/ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "/odoo/odoo-server/odoo/http.py", line 716, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/odoo/odoo-server/odoo/addons/base/controllers/rpc.py", line 66, in xmlrpc_2
    response = self._xmlrpc(service)
  File "/odoo/odoo-server/odoo/addons/base/controllers/rpc.py", line 46, in _xmlrpc
    return dispatch_rpc(service, method, params)
  File "/odoo/odoo-server/odoo/http.py", line 348, in dispatch_rpc
    result = dispatch(method, params)
  File "/odoo/odoo-server/odoo/service/model.py", line 71, in dispatch
    res = execute_kw(db, uid, passw, object, method, args, kwargs)
  File "/odoo/odoo-server/odoo/service/model.py", line 60, in execute_kw
    return execute(db, uid, obj, method, *args, **kw)
  File "/odoo/odoo-server/odoo/service/model.py", line 39, in execute
    res = execute_cr(cr, uid, obj, method, *args, **kw)
  File "/odoo/odoo-server/odoo/service/model.py", line 20, in execute_cr
    return odoo.api.call_kw(recs, method, args, kw)
  File "/odoo/odoo-server/odoo/api.py", line 453, in call_kw
    result = _call_kw_model(method, model, args, kwargs)
  File "/odoo/odoo-server/odoo/api.py", line 426, in _call_kw_model
    result = method(recs, *args, **kwargs)
  File "/odoo/odoo-server/odoo/addons/base/models/ir_module.py", line 817, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/odoo/odoo-server/odoo/addons/base/models/ir_module.py", line 765, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/odoo/odoo-server/odoo/modules/registry.py", line 91, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/odoo/odoo-server/odoo/modules/loading.py", line 497, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/odoo/odoo-server/odoo/modules/loading.py", line 370, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/odoo/odoo-server/odoo/modules/loading.py", line 214, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/odoo/odoo-server/odoo/modules/loading.py", line 71, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/odoo/odoo-server/odoo/tools/convert.py", line 687, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/odoo/odoo-server/odoo/tools/convert.py", line 754, in convert_xml_import
    obj.parse(doc.getroot())
  File "/odoo/odoo-server/odoo/tools/convert.py", line 675, in _tag_root
    raise ParseError(msg) from None
odoo.tools.convert.ParseError: while parsing /mnt/extra-addons/mpesa_odoo_payments/data/payment_method_data.xml:5, near
<record id="payment_method_mpesa" model="payment.method">
      <field name="name">Mpesa</field>
      <field name="payment_type">inbound</field>
      <field name="code">mpesa</field>
      <field name="domain">['&amp;', ('journal_id.type', '=', 'bank'), ('journal_id.code', '=', 'mpesa')]</field>
      <field name="support_refund">True</field>
</record>

Re: Error Installing Mpesa Odoo Payments Module
by
ilubwama@kolapro.com
on 7/29/25, 7:13 AM Author

Thank you for reaching out. Let's work to resolve this and share feedback.


by
Laureen Wambui
on 7/11/25, 10:47 AM

Where do I get the public key on payment provider form when using this module,,I do  not have kpay or eagle account and want to use the mpesa pos functionality

Re:
by
ilubwama@kolapro.com
on 7/11/25, 11:19 AM Author

Hi Laureen, 

The team is ready to provide the credentials you need. Please send your request directly to support@kolapro.com, and we’ll ensure you receive them promptly. Thank you!