diff --git a/apps/treasury/urls.py b/apps/treasury/urls.py
index 7cd68ec0a033302d2a06267046565fc9880fbca1..1ec061c9c999bd18119269ddb4c3b1ef38677b10 100644
--- a/apps/treasury/urls.py
+++ b/apps/treasury/urls.py
@@ -3,9 +3,11 @@
 
 from django.urls import path
 
-from .views import BillingListView
+from .views import BillingCreateView, BillingListView, BillingUpdateView
 
 app_name = 'treasury'
 urlpatterns = [
     path('billing/', BillingListView.as_view(), name='billing'),
+    path('billing/create/', BillingCreateView.as_view(), name='billing_create'),
+    path('billing/<int:pk>/', BillingUpdateView.as_view(), name='billing_update'),
 ]
diff --git a/apps/treasury/views.py b/apps/treasury/views.py
index 435f8cdbb6921036ff8624ec49473986d213f83c..a07d106823322706ed40757d448f4c70f69cf78b 100644
--- a/apps/treasury/views.py
+++ b/apps/treasury/views.py
@@ -2,15 +2,34 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 
 from django.contrib.auth.mixins import LoginRequiredMixin
+from django.views.generic import CreateView, UpdateView
 from django_tables2 import SingleTableView
 
 from .models import Billing
 from .tables import BillingTable
 
 
+class BillingCreateView(LoginRequiredMixin, CreateView):
+    """
+    Create Billing
+    """
+    model = Billing
+    fields = '__all__'
+    # form_class = ClubForm
+
+
 class BillingListView(LoginRequiredMixin, SingleTableView):
     """
     List existing Billings
     """
     model = Billing
     table_class = BillingTable
+
+
+class BillingUpdateView(LoginRequiredMixin, UpdateView):
+    """
+    Create Billing
+    """
+    model = Billing
+    fields = '__all__'
+    # form_class = ClubForm
diff --git a/templates/treasury/billing_form.html b/templates/treasury/billing_form.html
new file mode 100644
index 0000000000000000000000000000000000000000..d72e15c5befdcb375279302d4e293e06fc45dd87
--- /dev/null
+++ b/templates/treasury/billing_form.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% load static %}
+{% load i18n %}
+{% load crispy_forms_tags %}
+{% block content %}
+<p><a class="btn btn-default" href="{% url 'treasury:billing' %}">{% trans "Billings list" %}</a></p>
+<form method="post">
+{% csrf_token %}
+{{form|crispy}}
+<button class="btn btn-primary" type="submit">{% trans "Submit" %}</button>
+</form>
+{% endblock %}
diff --git a/templates/treasury/billing_list.html b/templates/treasury/billing_list.html
index 1cc473f11c3c0a950f6e2e05755967468e6f388d..1ba405574b317f5074d4b23507e26d98a33fc0fd 100644
--- a/templates/treasury/billing_list.html
+++ b/templates/treasury/billing_list.html
@@ -5,7 +5,7 @@
 
 {% render_table  table %}
 
-<a class="btn btn-primary" href="{% url 'treasury:billing' %}">{% trans "New billing" %}</a>
+<a class="btn btn-primary" href="{% url 'treasury:billing_create' %}">{% trans "New billing" %}</a>
 
 {% endblock %}
 {% block extrajavascript %}