diff --git a/core/templates/core/user_base.jinja b/core/templates/core/user_base.jinja
index 3f8eba8a..9e2250c3 100644
--- a/core/templates/core/user_base.jinja
+++ b/core/templates/core/user_base.jinja
@@ -10,7 +10,7 @@
{% if can_edit_prop(profile, request.user) %}
{% trans %}Groups{% endtrans %}
{% endif %}
- {% if (profile == request.user
+ {% if profile.customer and (profile == request.user
or request.user.is_in_group(settings.SITH_GROUPS['accounting-admin']['name'])
or request.user.is_in_group(settings.SITH_GROUPS['root']['name'])) %}
{% trans %}Account{% endtrans %}
diff --git a/eboutic/models.py b/eboutic/models.py
index 0379c3e6..2b84b589 100644
--- a/eboutic/models.py
+++ b/eboutic/models.py
@@ -2,7 +2,7 @@ from django.db import models, DataError
from django.utils.translation import ugettext_lazy as _
from accounting.models import CurrencyField
-from counter.models import Counter, Product
+from counter.models import Counter, Product, Customer
from core.models import User
class Basket(models.Model):
@@ -57,6 +57,9 @@ class Invoice(models.Model):
def validate(self, *args, **kwargs):
if self.validated:
raise DataError(_("Invoice already validated"))
+ from counter.models import Customer
+ if not Customer.objects.filter(user=self.user).exists():
+ Customer(user=self.user, account_id=Customer.generate_account_id(), amount=0).save()
if self.payment_method == "SITH_ACCOUNT":
self.user.customer.amount -= self.get_total()
self.user.customer.save()