diff --git a/web_widget_x2many_2d_matrix/README.rst b/web_widget_x2many_2d_matrix/README.rst
index c0693fcf4..0cedb55ca 100644
--- a/web_widget_x2many_2d_matrix/README.rst
+++ b/web_widget_x2many_2d_matrix/README.rst
@@ -168,6 +168,8 @@ Known issues / Roadmap
* Support extra invisible fields inside each cell.
+* Support kanban mode. Current behaviour forces list mode.
+
Changelog
=========
diff --git a/web_widget_x2many_2d_matrix/readme/ROADMAP.rst b/web_widget_x2many_2d_matrix/readme/ROADMAP.rst
index b5c8e912a..1dc1a84da 100644
--- a/web_widget_x2many_2d_matrix/readme/ROADMAP.rst
+++ b/web_widget_x2many_2d_matrix/readme/ROADMAP.rst
@@ -12,3 +12,5 @@
is merged.
* Support extra invisible fields inside each cell.
+
+* Support kanban mode. Current behaviour forces list mode.
diff --git a/web_widget_x2many_2d_matrix/static/description/index.html b/web_widget_x2many_2d_matrix/static/description/index.html
index c964858dc..beac91d17 100644
--- a/web_widget_x2many_2d_matrix/static/description/index.html
+++ b/web_widget_x2many_2d_matrix/static/description/index.html
@@ -526,6 +526,7 @@ to click on m2o to open related records.
will enter into the 1st cell until https://github.com/odoo/odoo/pull/26490
is merged.
Support extra invisible fields inside each cell.
+Support kanban mode. Current behaviour forces list mode.
diff --git a/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js
new file mode 100644
index 000000000..b5f440d0e
--- /dev/null
+++ b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_view.js
@@ -0,0 +1,23 @@
+/* Copyright 2019 Alexandre Díaz
+ * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
+
+odoo.define('web_widget_x2many_2d_matrix.X2Many2dMatrixView', function (require) {
+ "use strict";
+
+ var BasicView = require('web.BasicView');
+
+ BasicView.include({
+ _processField: function (viewType, field, attrs) {
+ // Workaround for kanban mode rendering.
+ // Source of the issue: https://github.com/OCA/OCB/blob/12.0/addons/web/static/src/js/views/basic/basic_view.js#L303 .
+ // See https://github.com/OCA/web/pull/1404#pullrequestreview-305813206 .
+ // In the long term we should a way to handle kanban mode
+ // better (eg: a specific renderer).
+ if (attrs.widget === 'x2many_2d_matrix') {
+ attrs.mode = 'tree';
+ }
+ return this._super(viewType, field, attrs);
+ },
+ });
+
+});
diff --git a/web_widget_x2many_2d_matrix/views/assets.xml b/web_widget_x2many_2d_matrix/views/assets.xml
index b26566e55..80231c8c5 100644
--- a/web_widget_x2many_2d_matrix/views/assets.xml
+++ b/web_widget_x2many_2d_matrix/views/assets.xml
@@ -6,6 +6,7 @@
+