diff --git a/apps/note/forms.py b/apps/note/forms.py
index 208044126ba83bb011b9779654cbf2204ba1ab49..2e8e44561d532c2f539b631ff1886d97a3cf6f58 100644
--- a/apps/note/forms.py
+++ b/apps/note/forms.py
@@ -6,7 +6,7 @@ from django import forms
 from django.utils.translation import gettext_lazy as _
 
 from .models import Alias
-from .models import Transaction, TransactionTemplate, TemplateTransaction
+from .models import Transaction, TransactionTemplate
 
 
 class AliasForm(forms.ModelForm):
@@ -99,33 +99,3 @@ class TransactionForm(forms.ModelForm):
                     },
                 ),
         }
-
-
-class ConsoForm(forms.ModelForm):
-    def save(self, commit=True):
-        button: TransactionTemplate = TransactionTemplate.objects.filter(
-            name=self.data['button']).get()
-        self.instance.destination = button.destination
-        self.instance.amount = button.amount
-        self.instance.reason = '{} ({})'.format(button.name, button.category)
-        self.instance.template = button
-        self.instance.category = button.category
-        super().save(commit)
-
-    class Meta:
-        model = TemplateTransaction
-        fields = ('source',)
-
-        # Le champ d'utilisateur est remplacé par un champ d'auto-complétion.
-        # Quand des lettres sont tapées, une requête est envoyée sur l'API d'auto-complétion
-        # et récupère les aliases de note valides
-        widgets = {
-            'source':
-                autocomplete.ModelSelect2(
-                    url='note:note_autocomplete',
-                    attrs={
-                        'data-placeholder': 'Note ...',
-                        'data-minimum-input-length': 1,
-                    },
-                ),
-        }
diff --git a/apps/note/tables.py b/apps/note/tables.py
index e85fcbaed7598acf0914a4588138f93cfddefb86..d26ffedc8840ccfd89942e53c027572818c68192 100644
--- a/apps/note/tables.py
+++ b/apps/note/tables.py
@@ -6,7 +6,7 @@ from django.db.models import F
 from django_tables2.utils import A
 
 from .models.notes import Alias
-from .models.transactions import Transaction, TransactionTemplate
+from .models.transactions import Transaction
 from .templatetags.pretty_money import pretty_money
 
 
diff --git a/apps/note/views.py b/apps/note/views.py
index 09846057585405c11021301e99f28d2aee0c3715..fb5e98c5356d4259ad9086ea004c1dff22e77b24 100644
--- a/apps/note/views.py
+++ b/apps/note/views.py
@@ -7,9 +7,11 @@ from django.db.models import Q
 from django.urls import reverse
 from django.utils.translation import gettext_lazy as _
 from django.views.generic import CreateView, ListView, UpdateView
+from django_tables2 import SingleTableView
 
-from .forms import TransactionForm, TransactionTemplateForm, ConsoForm
-from .models import Transaction, TransactionTemplate, Alias, TemplateTransaction
+from .forms import TransactionForm, TransactionTemplateForm
+from .models import Transaction, TransactionTemplate, Alias
+from .tables import HistoryTable
 
 
 class TransactionCreate(LoginRequiredMixin, CreateView):
@@ -121,13 +123,16 @@ class TransactionTemplateUpdateView(LoginRequiredMixin, UpdateView):
     form_class = TransactionTemplateForm
 
 
-class ConsoView(LoginRequiredMixin, CreateView):
+class ConsoView(LoginRequiredMixin, SingleTableView):
     """
     Consume
     """
-    model = TemplateTransaction
+    model = Transaction
     template_name = "note/conso_form.html"
-    form_class = ConsoForm
+
+    # Transaction history table
+    table_class = HistoryTable
+    table_pagination = {"per_page": 10}
 
     def get_context_data(self, **kwargs):
         """
@@ -142,9 +147,3 @@ class ConsoView(LoginRequiredMixin, CreateView):
         context['no_cache'] = True
 
         return context
-
-    def get_success_url(self):
-        """
-        When clicking a button, reload the same page
-        """
-        return reverse('note:consos')
diff --git a/templates/base.html b/templates/base.html
index 887bc970187199df60a62a9808891f75af04c6dd..dbe59c41e71e96e37b5356b82cab8fb18ef0cf48 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -75,9 +75,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
                 <li class="nav-item active">
                     <a class="nav-link" href="#"><i class="fa fa-calendar"></i> {% trans 'Activities' %}</a>
                 </li>
-                <li class="nav-item active">
-                    <a class="nav-link" href="{% url 'note:template_list' %}"><i class="fa fa-coffee"></i> {% trans 'Button' %}</a>
-                </li>
                 <li class="nav-item active">
                     <a class="nav-link" href="{% url 'note:transfer' %}"><i class="fa fa-exchange"></i>{% trans 'Transfer' %} </a>
                 </li>
diff --git a/templates/note/conso_form.html b/templates/note/conso_form.html
index 10b06589cfd4434aa6bc79100307901d017b1547..2c2066e8052046abf4013586a084102c501f23c9 100644
--- a/templates/note/conso_form.html
+++ b/templates/note/conso_form.html
@@ -1,80 +1,134 @@
 {% extends "base.html" %}
 
-{% load i18n static pretty_money %}
+{% load i18n static pretty_money django_tables2 %}
 
 {# Remove page title #}
 {% block contenttitle %}{% endblock %}
 
 {% block content %}
-    {# Regroup buttons under categories #}
-    {% regroup transaction_templates by category as categories %}
-
-    <form method="post" onsubmit="window.onbeforeunload=null">
-        {% csrf_token %}
-
-        <div class="row">
-            <div class="col-sm-5 mb-4">
-                {% if form.non_field_errors %}
-                    <p class="errornote">
-                        {% for error in form.non_field_errors %}
-                            {{ error }}
-                        {% endfor %}
-                    </p>
-                {% endif %}
-                {% for field in form %}
-                    <div class="form-row{% if field.errors %} errors{% endif %}">
-                        {{ field.errors }}
-                        <div>
-                            {{ field.label_tag }}
-                            {% if field.is_readonly %}
-                                <div class="readonly">{{ field.contents }}</div>
-                            {% else %}
-                                {{ field }}
-                            {% endif %}
-                            {% if field.field.help_text %}
-                                <div class="help">{{ field.field.help_text|safe }}</div>
-                            {% endif %}
+    <div class="row mt-4">
+        <div class="col-sm-5 col-md-4">
+            <div class="row">
+                {# User details column #}
+                <div class="col-xl-5">
+                    <div class="card border-success shadow mb-4">
+                        <img src="https://perso.crans.org/erdnaxe/site-crans/img/logo.svg"
+                            alt="" class="img-fluid rounded mx-auto d-block">
+                        <div class="card-body text-center">
+                            Paquito (aka. PAC) : -230 €
                         </div>
                     </div>
-                {% endfor %}
-            </div>
+                </div>
 
-            <div class="col-sm-7">
-                <div class="card text-center shadow">
-                    {# Tabs for button categories #}
-                    <div class="card-header">
-                        <ul class="nav nav-tabs nav-fill card-header-tabs">
-                            {% for category in categories %}
-                                <li class="nav-item">
-                                    <a class="nav-link" data-toggle="tab" href="#{{ category.grouper|slugify }}">
-                                        {{ category.grouper }}
-                                    </a>
-                                </li>
-                            {% endfor %}
+                {# User selection column #}
+                <div class="col-xl-7">
+                    <div class="card border-success shadow mb-4">
+                        <div class="card-header">
+                            <p class="card-text font-weight-bold">
+                                Sélection des émitteurs
+                            </p>
+                        </div>
+                        <ul class="list-group list-group-flush">
+                            <li class="list-group-item py-1 d-flex justify-content-between align-items-center">
+                                Cras justo odio
+                                <span class="badge badge-dark badge-pill">14</span>
+                            </li>
+                            <li class="list-group-item py-1 d-flex justify-content-between align-items-center">
+                                Dapibus ac facilisis in
+                                <span class="badge badge-dark badge-pill">1</span>
+                            </li>
                         </ul>
+                        <div class="card-body">
+                            TODO: reimplement select2 here in JS
+                        </div>
                     </div>
+                </div>
+            </div>
+        </div>
+
+        {# Buttons column #}
+        <div class="col-sm-7 col-md-8">
+            {# Show last used buttons #}
+            <div class="card shadow mb-4">
+                <div class="card-body text-nowrap" style="overflow:auto hidden">
+                    <p class="card-text text-muted font-weight-light font-italic">
+                        Les boutons les plus utilisés s'afficheront ici.
+                    </p>
+                </div>
+            </div>
+
+            {# Regroup buttons under categories #}
+            {% regroup transaction_templates by template_type as template_types %}
 
-                    {# Tabs content #}
-                    <div class="card-body">
-                        <div class="tab-content">
-                            {% for category in categories %}
-                                <div class="tab-pane" id="{{ category.grouper|slugify }}">
-                                    <div class="d-inline-flex flex-wrap justify-content-center">
-                                        {% for button in category.list %}
-                                            <button class="btn btn-outline-dark rounded-0 flex-fill"
-                                                    name="button" value="{{ button.name }}">
-                                                {{ button.name }} ({{ button.amount | pretty_money }})
-                                            </button>
-                                        {% endfor %}
-                                    </div>
+            <div class="card border-primary text-center shadow mb-4">
+                {# Tabs for button categories #}
+                <div class="card-header">
+                    <ul class="nav nav-tabs nav-fill card-header-tabs">
+                        {% for template_type in template_types %}
+                            <li class="nav-item">
+                                <a class="nav-link font-weight-bold" data-toggle="tab" href="#{{ template_type.grouper|slugify }}">
+                                    {{ template_type.grouper }}
+                                </a>
+                            </li>
+                        {% endfor %}
+                    </ul>
+                </div>
+
+                {# Tabs content #}
+                <div class="card-body">
+                    <div class="tab-content">
+                        {% for template_type in template_types %}
+                            <div class="tab-pane" id="{{ template_type.grouper|slugify }}">
+                                <div class="d-inline-flex flex-wrap justify-content-center">
+                                    {% for button in template_type.list %}
+                                        <button class="btn btn-outline-dark rounded-0 flex-fill"
+                                                name="button" value="{{ button.name }}">
+                                            {{ button.name }} ({{ button.amount | pretty_money }})
+                                        </button>
+                                    {% endfor %}
                                 </div>
-                            {% endfor %}
-                        </div>
+                            </div>
+                        {% endfor %}
+                    </div>
+                </div>
+
+                {# Mode switch #}
+                <div class="card-footer border-primary">
+                    <a class="btn btn-sm btn-secondary float-left" href="{% url 'note:template_list' %}">
+                        <i class="fa fa-edit"></i> Éditer
+                    </a>
+                    <div class="btn-group btn-group-toggle float-right" data-toggle="buttons">
+                        <label class="btn btn-sm btn-outline-primary active">
+                            <input type="radio" name="options" id="option1" checked>
+                            Consomations simples
+                        </label>
+                        <label class="btn btn-sm btn-outline-primary">
+                            <input type="radio" name="options" id="option2">
+                            Consomations doubles
+                        </label>
                     </div>
                 </div>
             </div>
         </div>
-    </form>
+    </div>
+
+    <div class="card shadow mb-4">
+        <div class="card-header">
+            <p class="card-text font-weight-bold">
+                Historique des transactions récentes
+            </p>
+        </div>
+        {% render_table table %}
+    </div>
+{% endblock %}
+
+{% block extracss %}
+    <style>
+        .select2-container{
+            max-width: 100%;
+            min-width: 100%;
+        }
+    </style>
 {% endblock %}
 
 {% block extrajavascript %}