forked from CGM_Public/pretix_original
Add a net_value column to invoices
TODO: localization
This commit is contained in:
@@ -135,3 +135,7 @@ class InvoiceLine(models.Model):
|
|||||||
gross_value = models.DecimalField(max_digits=10, decimal_places=2)
|
gross_value = models.DecimalField(max_digits=10, decimal_places=2)
|
||||||
tax_value = models.DecimalField(max_digits=10, decimal_places=2, default=Decimal('0.00'))
|
tax_value = models.DecimalField(max_digits=10, decimal_places=2, default=Decimal('0.00'))
|
||||||
tax_rate = models.DecimalField(max_digits=7, decimal_places=2, default=Decimal('0.00'))
|
tax_rate = models.DecimalField(max_digits=7, decimal_places=2, default=Decimal('0.00'))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def net_value(self):
|
||||||
|
return self.gross_value - self.tax_value
|
||||||
|
|||||||
@@ -309,20 +309,26 @@ def _invoice_generate_german(invoice, f):
|
|||||||
('LEFTPADDING', (0, 0), (0, -1), 0),
|
('LEFTPADDING', (0, 0), (0, -1), 0),
|
||||||
('RIGHTPADDING', (-1, 0), (-1, -1), 0),
|
('RIGHTPADDING', (-1, 0), (-1, -1), 0),
|
||||||
]
|
]
|
||||||
tdata = [(pgettext('invoice', 'Description'), pgettext('invoice', 'Tax rate'), pgettext('invoice', 'Price'))]
|
tdata = [(
|
||||||
|
pgettext('invoice', 'Description'),
|
||||||
|
pgettext('invoice', 'Tax rate'),
|
||||||
|
pgettext('invoice', 'Net'),
|
||||||
|
pgettext('invoice', 'Gross'),
|
||||||
|
)]
|
||||||
total = Decimal('0.00')
|
total = Decimal('0.00')
|
||||||
for line in invoice.lines.all():
|
for line in invoice.lines.all():
|
||||||
tdata.append((
|
tdata.append((
|
||||||
line.description,
|
line.description,
|
||||||
lformat("%.2f", line.tax_rate) + " %",
|
lformat("%.2f", line.tax_rate) + " %",
|
||||||
|
lformat("%.2f", line.net_value) + " " + invoice.event.currency,
|
||||||
lformat("%.2f", line.gross_value) + " " + invoice.event.currency,
|
lformat("%.2f", line.gross_value) + " " + invoice.event.currency,
|
||||||
))
|
))
|
||||||
taxvalue_map[line.tax_rate] += line.tax_value
|
taxvalue_map[line.tax_rate] += line.tax_value
|
||||||
grossvalue_map[line.tax_rate] += line.gross_value
|
grossvalue_map[line.tax_rate] += line.gross_value
|
||||||
total += line.gross_value
|
total += line.gross_value
|
||||||
|
|
||||||
tdata.append([pgettext('invoice', 'Invoice total'), '', lformat("%.2f", total) + " " + invoice.event.currency])
|
tdata.append([pgettext('invoice', 'Invoice total'), '', '', lformat("%.2f", total) + " " + invoice.event.currency])
|
||||||
colwidths = [a * doc.width for a in (.60, .20, .20)]
|
colwidths = [a * doc.width for a in (.55, .15, .15, .15)]
|
||||||
table = Table(tdata, colWidths=colwidths, repeatRows=1)
|
table = Table(tdata, colWidths=colwidths, repeatRows=1)
|
||||||
table.setStyle(TableStyle(tstyledata))
|
table.setStyle(TableStyle(tstyledata))
|
||||||
story.append(table)
|
story.append(table)
|
||||||
|
|||||||
Reference in New Issue
Block a user