Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
===========================
PoS Payment Method CashLogy
===========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:a3170f9d49dd2327613e90b0cd189ffb647ef163951eb7c1a840b6c1a5d04d23
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/18.0/pos_payment_method_cashlogy_connectorplus
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-18-0/pos-18-0-pos_payment_method_cashlogy_connectorplus
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to make payments with a Cashlogy
(https://cashlogy.com/) terminal on the Point of Sale frontend.

**Table of contents**

.. contents::
:local:

Configuration
=============

To add a Cashlogy payment terminal:

1. Go to *Point of Sale > Configuration > Payment Methods*
2. Choose a cash payment method or create a new one.
3. Select *Cashlogy* in the *Use a Payment Terminal* field.
4. Configure the Cashlogy terminal url and api key.
5. Configure the desired, Cashlogy terminal in the proper PoS
configurations.

Note that if a single payment method was used for cash in different
stores, it should be splitted in as many phisical stores there are.

Known issues / Roadmap
======================

- Add support for machines with credit card payment.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_payment_method_cashlogy_connectorplus%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__

- Pedro M. Baeza
- Carlos Roca
- David Bañón

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/18.0/pos_payment_method_cashlogy_connectorplus>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions pos_payment_method_cashlogy_connectorplus/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
23 changes: 23 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2026 Tecnativa - David Bañón
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "PoS Payment Method CashLogy",
"summary": "Allows to pay with CashLogy Terminals on the Point of Sale",
"version": "18.0.1.0.1",
"category": "Point Of Sale",
"website": "https://github.com/OCA/pos",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": [
"point_of_sale",
],
"data": [
"views/pos_payment_method_views.xml",
],
"demo": ["demo/cashlogy_demo.xml"],
"assets": {
"point_of_sale._assets_pos": [
"pos_payment_method_cashlogy_connectorplus/static/src/**/*"
],
},
}
11 changes: 11 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/demo/cashlogy_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="payment_cashlogy" model="pos.payment.method">
<field name="cashlogy_url">http://localhost:3000</field>
<field name="cashlogy_api_key">testkey</field>
<field name="use_payment_terminal">cashlogy</field>
<field name="name">Cashlogy</field>
<field name="type">cash</field>
<field name="payment_method_type">terminal</field>
</record>
</odoo>
63 changes: 63 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_payment_method_cashlogy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,help:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_api_key
msgid "Api key to authenticate with Cashogy ConnectorPlus"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,field_description:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_api_key
msgid "Cashlogy API key"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,field_description:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_url
msgid "Cashlogy Terminal URL"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#. odoo-javascript
#: code:addons/pos_payment_method_cashlogy_connectorplus/static/src/js/payment_cashlogy.esm.js:0
msgid "Error"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,help:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_url
msgid ""
"Must be reachable by the PoS in the store and contain no trailing slash (/)"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#. odoo-javascript
#: code:addons/pos_payment_method_cashlogy_connectorplus/static/src/js/payment_cashlogy.esm.js:0
msgid "Not implemented yet"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model,name:pos_payment_method_cashlogy_connectorplus.model_pos_payment_method
msgid "Point of Sale Payment Methods"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model,name:pos_payment_method_cashlogy_connectorplus.model_pos_session
msgid "Point of Sale Session"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model_terms:ir.ui.view,arch_db:pos_payment_method_cashlogy_connectorplus.pos_payment_method_view_form
msgid "http://somehost:3000"
msgstr ""
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_payment_method_cashlogy_connectorplus
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,help:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_api_key
msgid "Api key to authenticate with Cashogy ConnectorPlus"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,field_description:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_api_key
msgid "Cashlogy API key"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,field_description:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_url
msgid "Cashlogy Terminal URL"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#. odoo-javascript
#: code:addons/pos_payment_method_cashlogy_connectorplus/static/src/js/payment_cashlogy.esm.js:0
msgid "Error"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model.fields,help:pos_payment_method_cashlogy_connectorplus.field_pos_payment_method__cashlogy_url
msgid ""
"Must be reachable by the PoS in the store and contain no trailing slash (/)"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#. odoo-javascript
#: code:addons/pos_payment_method_cashlogy_connectorplus/static/src/js/payment_cashlogy.esm.js:0
msgid "Not implemented yet"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model,name:pos_payment_method_cashlogy_connectorplus.model_pos_payment_method
msgid "Point of Sale Payment Methods"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model:ir.model,name:pos_payment_method_cashlogy_connectorplus.model_pos_session
msgid "Point of Sale Session"
msgstr ""

#. module: pos_payment_method_cashlogy_connectorplus
#: model_terms:ir.ui.view,arch_db:pos_payment_method_cashlogy_connectorplus.pos_payment_method_view_form
msgid "http://somehost:3000"
msgstr ""
2 changes: 2 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import pos_payment_method
from . import pos_session
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Copyright 2026 Tecnativa - David Bañón
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


class PosPaymentMethod(models.Model):
_inherit = ["pos.payment.method", "pos.load.mixin"]
_name = "pos.payment.method"

def _get_payment_terminal_selection(self):
return super()._get_payment_terminal_selection() + [("cashlogy", "cashlogy")]

@api.model
def _load_pos_data_fields(self, config_id):
res = super()._load_pos_data_fields(config_id)
return res + ["cashlogy_url", "cashlogy_api_key"]

cashlogy_url = fields.Char(
string="Cashlogy Terminal URL",
help=(
"Must be reachable by the PoS in the store"
" and contain no trailing slash (/)"
),
)

cashlogy_api_key = fields.Char(
string="Cashlogy API key",
help="Api key to authenticate with Cashogy ConnectorPlus",
)

def _onchange_journal_id(self):
"""Cash payment method force the `use_payment_terminal` to `False` as
it's assumed that a cash journal can't have a payment terminal. Let's keep
the method when it's needed"""
res = super()._onchange_journal_id()
if self.use_payment_terminal != "cashlogy" and not self.is_cash_count:
return res
self.use_payment_terminal = "cashlogy"

def _compute_hide_use_payment_terminal(self):
"""Now that we have the option to choose a payment terminal for the cashlogy
payments, we can show the terminal options for cash payment types."""
cash_payment_types = self.filtered(lambda x: x.type == "cash")
cash_payment_types.hide_use_payment_terminal = False
return super(
PosPaymentMethod, self - cash_payment_types
)._compute_hide_use_payment_terminal()
12 changes: 12 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/models/pos_session.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2026 Tecnativa - David Bañón
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models


class PosSession(models.Model):
_inherit = "pos.session"

def _loader_params_pos_payment_method(self):
result = super()._loader_params_pos_payment_method()
result["search_params"]["fields"].extend(["cashlogy_url", "cashlogy_api_key"])
return result
3 changes: 3 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
10 changes: 10 additions & 0 deletions pos_payment_method_cashlogy_connectorplus/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
To add a Cashlogy payment terminal:

1. Go to _Point of Sale \> Configuration \> Payment Methods_
2. Choose a cash payment method or create a new one.
3. Select _Cashlogy_ in the _Use a Payment Terminal_ field.
4. Configure the Cashlogy terminal url and api key.
5. Configure the desired, Cashlogy terminal in the proper PoS configurations.

Note that if a single payment method was used for cash in different stores, it should be
splitted in as many phisical stores there are.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- [Tecnativa](https://www.tecnativa.com)
- Pedro M. Baeza
- Carlos Roca
- David Bañón
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This module allows to make payments with a Cashlogy (<https://cashlogy.com/>) terminal
on the Point of Sale frontend.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Add support for machines with credit card payment.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading