diff --git a/locale/de.po b/locale/de.po
index 92cfe06..4cd94d0 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -107,8 +107,8 @@ msgid "Booking text"
msgstr "Buchungstext"
msgctxt "view:cashbook.planner:"
-msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
-msgstr "verfügbare Platzhalter: ${date} ${month} ${year} ${amount} ${quantity}"
+msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
+msgstr "verfügbare Platzhalter: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgctxt "view:cashbook.planner:"
msgid "Cashbook lines"
@@ -318,6 +318,10 @@ msgctxt "help:cashbook.planner,cashbook_lines:"
msgid "This cash book lines was generated by the current scheduled booking."
msgstr "Diese Kassenbuchzeilen wurden durch die aktuelle geplante Buchung generiert."
+msgctxt "field:cashbook.planner,party:"
+msgid "Party"
+msgstr "Partei"
+
############################
# cashbook.planner.nextrun #
diff --git a/locale/en.po b/locale/en.po
index a556b20..f4994ad 100644
--- a/locale/en.po
+++ b/locale/en.po
@@ -83,8 +83,8 @@ msgid "Booking text"
msgstr "Booking text"
msgctxt "view:cashbook.planner:"
-msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
-msgstr "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity}"
+msgid "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
+msgstr "Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"
msgctxt "view:cashbook.planner:"
msgid "Cashbook lines"
@@ -294,6 +294,10 @@ msgctxt "help:cashbook.planner,cashbook_lines:"
msgid "This cash book lines was generated by the current scheduled booking."
msgstr "This cash book lines was generated by the current scheduled booking."
+msgctxt "field:cashbook.planner,party:"
+msgid "Party"
+msgstr "Party"
+
msgctxt "model:cashbook.planner.nextrun,name:"
msgid "Next Execution Date"
msgstr "Next Execution Date"
diff --git a/planner.py b/planner.py
index eb07b1e..7f701dc 100644
--- a/planner.py
+++ b/planner.py
@@ -515,6 +515,15 @@ class ScheduledBooking(DeactivableMixin, ModelSQL, ModelView):
quantity_txt = Report.format_number(
quantity, lang=None, digits=uom_digits)
+ asset_rate = '-'
+ if quantity and amount is not None:
+ asset_rate = '%(rate)s %(currency)s/%(uom)s' % {
+ 'rate': Report.format_number(
+ amount / quantity, lang=None,
+ digits=to_book.currency.digits),
+ 'currency': to_book.currency.symbol,
+ 'uom': to_book.quantity_uom.symbol}
+
return Template(linedata.get('description')).safe_substitute({
'date': Report.format_date(line_date, lang=None),
'month': line_date.month,
@@ -522,7 +531,8 @@ class ScheduledBooking(DeactivableMixin, ModelSQL, ModelView):
'amount': Report.format_currency(
amount, lang=None, currency=from_book.currency)
if (amount is not None) and from_book else '-',
- 'quantity': quantity_txt})
+ 'quantity': quantity_txt,
+ 'rate': asset_rate})
@classmethod
def update_next_occurence(cls, records, query_date=None):
diff --git a/tests/planner.py b/tests/planner.py
index 9eaa7b2..eb3389f 100644
--- a/tests/planner.py
+++ b/tests/planner.py
@@ -364,12 +364,13 @@ class PlannerTestCase(object):
asset_book = self.prep_planner_asset_book()
self.assertEqual(Planner.fill_placeholder({
'date': date(2022, 5, 2),
- 'amount': Decimal('12.4567'),
+ 'amount': Decimal('126.4567'),
'quantity': Decimal('32.4423'),
'cashbook': asset_book.id,
+ 'booktransf': asset_book.id,
'description': '- ${amount} - ${date} - ${month} - ' +
- '${year} - ${quantity}'}),
- '- usd12.46 - 05/02/2022 - 5 - 2022 - 32.4423\xa0u')
+ '${year} - ${quantity} - ${rate}'}),
+ '- usd126.46 - 05/02/2022 - 5 - 2022 - 32.4423\xa0u - 3.90 usd/u')
@with_transaction()
def test_planner_cronjobs_booking_with_category(self):
diff --git a/view/planner_form.xml b/view/planner_form.xml
index 95e04e8..9baf580 100644
--- a/view/planner_form.xml
+++ b/view/planner_form.xml
@@ -59,7 +59,7 @@ full copyright notices and license terms. -->
+ string="Available placeholders: ${date} ${month} ${year} ${amount} ${quantity} ${rate}"/>