Abrechnung angepasst

This commit is contained in:
holger.trampe 2020-10-07 12:35:45 +02:00
parent 746e797ac6
commit 0d31f2b7fe
7 changed files with 48 additions and 19 deletions

View File

@ -57,7 +57,7 @@ class AgencyBillPlan(forms.ModelForm):
"agency_email" : "E-Mail",
"phone" : "Telefon",
"agb" : "AGB akzeptieren",
"contract" : "Auftragsdatenverarbeitung akzeptieren"
"contract" : "AV-Vertrag akzeptieren"
}
@ -77,7 +77,7 @@ class AgencyBillPlan(forms.ModelForm):
self.fields['city'] = forms.CharField(required=True, label="Stadt")
self.fields['agb'] = forms.BooleanField(required=True, label="AGB's akzeptieren")
self.fields['contract'] = forms.BooleanField(required=True, label="Auftragsdatenverarbeitung akzeptieren")
self.fields['contract'] = forms.BooleanField(required=True, label="AV-Vertrag akzeptieren")
class AgencyEndBillPlan(forms.ModelForm):

View File

@ -17,7 +17,8 @@
</tr>
<tr>
{% loadUserCount request.user as usercount %}
<td>Zusätzliche Nutzer (3,00 € pro Nutzer)</td><td>{{usercount}}</td>
{% loadUserCountMoney request.user as usercount_pay %}
<td>{{usercount}}&nbsp;zusätzliche Nutzer (3,00 € pro Nutzer)</td><td>{{usercount_pay|floatformat:2}} €</td>
</tr>
<tr>
{% loadMWST user as mwst %}
@ -35,24 +36,20 @@
<h5 class="card-title">Ihre Zahlungsweise</h5>
{% getNextMonth request.user.profile.agency as nextMonth %}
Ihre Agentur wurde am {{ request.user.profile.agency.registerdate|date:"d.m.Y" }} registriert.
{% if bills|length == 0 %}
Es wurde noch kein Abonnement gestartet und keine Rechnungen gefunden. Sie können die Digitale Agentur bis zum {{nextMonth|date:"d.m.Y"}} kostenlos nutzen. Möchten Sie die Digitale Agentur auch nach diesem Zeitraum nutzen, starten Sie bitte ein neues Abonnement.
<br />
<a href="{% url 'ag-billplanupdate' request.user.profile.agency.pk %}" class="btn btn-primary btn mt-2" onclick="">Abonnement starten</a>
{% elif bills|length > 0 and request.user.profile.agency.paymentplan == 0 %}
Ihre aktuelle Rechnungen erlaubt Ihnen die Nutzung der digitalen Agentur bis zum {{bills.0.end|date:"d.m.Y"}}. Danach wird der Zugang gesperrt. Starten Sie ein neues Abonnement, um die digitale Agentur auch weiterhin zu nutzen.<br />
Ihre aktuelle Rechnungen erlaubt Ihnen die Nutzung der Digitalen Agentur bis zum {{bills.0.end|date:"d.m.Y"}}. Danach wird der Zugang gesperrt. Starten Sie ein neues Abonnement, um die Digitale Agentur auch weiterhin zu nutzen.<br />
<a href="{% url 'ag-billplanupdate' request.user.profile.agency.pk %}" class="btn btn-primary btn mt-2" onclick="">Abonnement starten</a>
{% else %}
<br />
Nächste Rechnungserstellung am {{bills.0.end|date:"d.m.Y"}}<br />
Die Abrechnung erfolgt monatlich. Die nächste Rechnungserstellung erfolgt am {{bills.0.end|date:"d.m.Y"}}.<br />
<a href="{% url 'ag-billplanend' request.user.profile.agency.pk %}" class="btn btn-primary btn mt-2" onclick="">Abonnement kündigen</a>
{% endif %}
<hr>
<h5 class="card-title.">Fragen, Hilfe, Kündigung</h5>
Bei Fragen zu Ihrer Abrechnung melden Sie sich bitte per E-Mail an <a href="mailto:abrechnung@digitale-agentur.com">abrechnung@digitale-agentur.com</a>.
<!-- TASK: Kündigungsmodaliäten einfügen -->
Die Kündigungsmodalitäten finden Sie in den AGB's. Alternativ wenden Sie sich an den Support.
Bei Fragen zu Ihrer Abrechnung oder Kündigung wenden Sie sich bitte über das <a href="{% url 'supportda' %}">Kontaktformular</a> an uns. Weitere Informationen finden Sie in den AGB's.
</div>
</div>
</div>
@ -61,7 +58,7 @@
<div class="card d-block mb-3">
<div class="card-body">
<h5 class="card-title">E-Mail-Adresse</h5>
Informationen über neue Rechnungen werden automatisch an folgende E-Mailadresse gesendet:<br />
Bei neuen Rechnungen erfolgt eine automatische Benachrichtigung an folgende E-Mailadresse:<br />
{% if request.user.profile.agency.payment_address == None %}
<i>Es wurde keine Adresse hinterlegt. Die Adresse wird an die Agenturadresse versendet:</i>&nbsp;<b>{{request.user.profile.agency.agency_email}}</b>
{% else %}
@ -78,9 +75,26 @@
{% if bills|length == 0 %}
Es liegen keine Rechnungen vor.
{% endif %}
{% for bill in bills %}
<a href="{% url 'ag-getbillpdf' bill.pk %}" target="_blank">Rechnung vom {{bill.billdate|date:"d.m.Y"}} ({{bill.billnumber}})</a> - {% if bill.billstatus == "open" %} Offen {% elif bill.billstatus == "paid" %} Bezahlt {% endif %} <br />
{% endfor %}
<table style="width: 70%;">
<thead>
<tr>
<td>Rechnungs-Nr.</td>
<td>Datum</td>
<td>Status</td>
</tr>
</thead>
<tbody>
{% for bill in bills %}
<tr>
<td><a href="{% url 'ag-getbillpdf' bill.pk %}" target="_blank">{{bill.billnumber}}</a></td>
<td>{{bill.billdate|date:"d.m.Y"}}</td>
<td>
{% if bill.billstatus == "open" %} <i class="far fa-times-circle" style="color: red"></i> {% elif bill.billstatus == "paid" %} <i class="far fa-check-circle" style="color: green"></i> {% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>

View File

@ -23,14 +23,14 @@
<div class="col-4">
<h5>Abonnement festlegen</h5>
<hr>
<p>Das Abonnement der digitalen Agentur umfasst die Nutzung inkl. der aktuellen Nutzeranzahl über einen Monat. Nach jedem Monat wird eine neue Rechnung generiert, um die aktuelle Nutzeranzahl zu erfassen. Sie können innerhalb des Monats ihr Abonnement kündigen.
<p>Das Abonnement der Digitalen Agentur umfasst die Nutzung inkl. der aktuellen Nutzeranzahl und verlängert sich automatisch. Nach jedem Monat wird eine neue Rechnung erstellt. Sie können innerhalb eines Monats ihr Abonnement kündigen.
<hr>
<p>Mit Klick auf dem Button <i>Jetzt kostenpflichtig bestellen</i> wird eine Rechnung für Ihre Agentur generiert und per E-Mail an die hinterlegte Rechnungs-E-Mailadresse oder an die Agentur-E-Mailadresse versendet. Der Rechnungsbetrag muss innerhalb von 14 Tagen beglichen werden.
<hr>
<b>Beginn des Leistungszeitraums: </b>{{end|date:"d.m.Y"}}<br />
{% loadFinalMoney user as fm %}
<b>Rechnungsbetrag: <span id="billfinal">{{fm|floatformat:2|intcomma}}</span>&nbsp;</b>
<b>Aktueller Rechnungsbetrag: <span id="billfinal">{{fm|floatformat:2|intcomma}}</span>&nbsp;</b>
<hr>
{{form.contract|as_crispy_field}}
{{form.agb|as_crispy_field}}

View File

@ -1650,7 +1650,7 @@ class BillPlanUpdate(UpdateView):
},
{
"type" : "custom",
"name" : "Digitale Agentur: Zusätzliche Mitarbeiter",
"name" : "Digitale Agentur: Zusätzliche Nutzer",
"description" : "Zeitraum " + start_date_string + " - " + end_date_string,
"quantity" : usercount,
"unitName" : "Stück",

View File

@ -732,6 +732,17 @@ def loadFinalMoney(user):
return finalMoney
@register.simple_tag
def loadUserCountMoney(user):
usercount = len(User.objects.filter(profile__agency=user.profile.agency))
if(usercount < 4):
usercount = 0
else:
usercount = usercount - 3
return usercount*3
@register.simple_tag
def gethistoryuser(userid):

View File

@ -1171,7 +1171,7 @@ def cronactionsbill(request, code):
if(code == settings.CRONAPIKEY):
today = date.today()
# Check, ob Rechnungen bezahlt wurden
unpaid_bills = AgencyBills.objects.filter(billstatus="open")
unpaid_bills = AgencyBills.objects.all()
for bill in unpaid_bills:
# Für jede Rechnung eine Anfrage an die LexOffice API und voucherStatus auslesen
@ -1187,6 +1187,10 @@ def cronactionsbill(request, code):
if(json.loads(r.text)["voucherStatus"] == "paid"):
bill.billstatus="paid"
bill.save()
else:
bill.billstatus="open"
bill.save()
# Monatliche Berechnung
# Alle Rechnungen laden, deren Letzter Tag HEUTE ist und bei ausgewähltem Paymentplan 1 eine neue Rechnung erstellen, Mailverschicke, Nutzeraccouns zählen und neue Rechnung in der Agentur hinterlegen
@ -1253,7 +1257,7 @@ def cronactionsbill(request, code):
},
{
"type" : "custom",
"name" : "Digitale Agentur: Zusätzliche Mitarbeiter",
"name" : "Digitale Agentur: Zusätzliche Nutzer",
"description" : "Zeitraum " + start_date_string + " - " + end_date_string,
"quantity" : usercount,
"unitName" : "Stück",