Skip to content

Commit 52036b6

Browse files
committed
Portugal tax report correction of currency exchange rate display if option "Use only realization (Sell) currency rate" is not selected.
1 parent a3469c0 commit 52036b6

File tree

3 files changed

+29
-28
lines changed

3 files changed

+29
-28
lines changed

jal/data_export/tax_reports/portugal.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,25 +74,26 @@ def prepare_stocks_and_etf(self):
7474
'symbol': trade.asset().symbol(self.account_currency.id()),
7575
'isin': trade.asset().isin(),
7676
'qty': trade.qty(),
77-
'o_type': "Buy" if trade.qty() >= Decimal('0') else "Sell",
77+
'o_type': "Aquisição" if trade.qty() >= Decimal('0') else "Venda",
7878
'o_number': trade.open_operation().number(),
7979
'o_date': trade.open_operation().timestamp(),
80+
'o_rate': self.account_currency.quote(trade.close_operation().timestamp() if self.one_currency_rate else trade.open_operation().timestamp(), self._currency_id)[1],
8081
'o_price': trade.open_price(),
8182
'o_fee': trade.open_fee(),
8283
'o_fee_eur': trade.open_fee(self._currency_id, rate_ts=rate_ts),
8384
'o_amount': round(trade.open_amount(no_settlement=True), 2),
8485
'o_amount_eur': round(trade.open_amount(self._currency_id, rate_ts=rate_ts, no_settlement=True), 2),
85-
'c_type': "Sell" if trade.qty() >= Decimal('0') else "Buy",
86+
'c_type': "Venda" if trade.qty() >= Decimal('0') else "Aquisição",
8687
'c_number': trade.close_operation().number(),
8788
'c_date': trade.close_operation().timestamp(),
89+
'c_rate': self.account_currency.quote(trade.close_operation().timestamp(), self._currency_id)[1],
8890
'c_price': trade.close_operation().price(),
8991
'c_fee': trade.close_fee(),
9092
'c_fee_eur': trade.close_fee(self._currency_id, rate_ts=rate_ts),
9193
'c_amount': round(trade.close_amount(no_settlement=True), 2),
9294
'c_amount_eur': round(trade.close_amount(self._currency_id, rate_ts=rate_ts, no_settlement=True), 2),
9395
'profit': value_realization - value_acquisition,
9496
'profit_eur': value_realization_eur - value_acquisition_eur,
95-
'rate': self.account_currency.quote(rate_ts, self._currency_id)[1],
9697
'note': note
9798
}
9899
deals_report.append(line)

jal/data_export/templates/tax_prt_shares.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
{
2-
"page": "Shares",
3-
"title": "Shares sales report",
2+
"page": "Ações",
3+
"title": "Vendas de ações",
44
"headers": [
5-
"Period: {parameters[period]}",
6-
"Account owner: ",
7-
"Account: {parameters[account]}"
5+
"Período: {parameters[period]}",
6+
"Proprietário da conta: ",
7+
"Conta: {parameters[account]}"
88
],
99
"columns": [
10-
{"name": "Symbol", "width": 8},
10+
{"name": "Código", "width": 8},
1111
{"name": "ISIN", "width": 11},
12-
{"name": "Operation", "width": 8},
13-
{"name": "Operation #", "width": 10},
14-
{"name": "Operation date", "width": 10},
15-
{"name": "Qty.", "width": 8},
16-
{"name": "Price, {parameters[currency]}", "width": 12},
17-
{"name": "Value, {parameters[currency]}", "width": 12},
18-
{"name": "Fee, {parameters[currency]}", "width": 12},
19-
{"name": "Profit/Loss, {parameters[currency]}", "width": 10},
20-
{"name": "EUR/{parameters[currency]} rate", "width": 9},
21-
{"name": "Value, EUR", "width": 12},
22-
{"name": "Fee, EUR", "width": 12},
23-
{"name": "Profit/Loss, EUR", "width": 10},
24-
{"name": "Note", "width": 25}
12+
{"name": "Operação", "width": 8},
13+
{"name": "Operação #", "width": 10},
14+
{"name": "Data de operação", "width": 10},
15+
{"name": "Quantidade", "width": 9},
16+
{"name": "Preço, {parameters[currency]}", "width": 12},
17+
{"name": "Valor, {parameters[currency]}", "width": 12},
18+
{"name": "Encargos, {parameters[currency]}", "width": 12},
19+
{"name": "Ganhos/perdas, {parameters[currency]}", "width": 10},
20+
{"name": "Câmbio EUR/{parameters[currency]}", "width": 9},
21+
{"name": "Valor, EUR", "width": 12},
22+
{"name": "Encargos, EUR", "width": 12},
23+
{"name": "Ganhos/perdas, EUR", "width": 10},
24+
{"name": "Comentário", "width": 25}
2525
],
2626
"columns_numbered": true,
2727
"trade": {
2828
"rows": [
29-
["symbol", "isin", "o_type", "o_number", "o_date", "qty", "o_price", "o_amount", "o_fee", "profit", "rate", "o_amount_eur", "o_fee_eur", "profit_eur", "note"],
30-
[null, null, "c_type", "c_number", "c_date", null, "c_price", "c_amount", "c_fee", null, null, "c_amount_eur", "c_fee_eur", null, null ]
29+
["symbol", "isin", "o_type", "o_number", "o_date", "qty", "o_price", "o_amount", "o_fee", "profit", "o_rate", "o_amount_eur", "o_fee_eur", "profit_eur", "note"],
30+
[null, null, "c_type", "c_number", "c_date", null, "c_price", "c_amount", "c_fee", null, "c_rate", "c_amount_eur", "c_fee_eur", null, null ]
3131
],
3232
"formats": [
3333
["T", "N:0", "T", "T", "D", "T", "N:6", "N:2", "N:6", "N:2", "N:4", "N:2", "N:2", "N:2", "T" ],
34-
[null, null, "T", "T", "D", null, "N:6", "N:2", "N:6", null, null, "N:2", "N:2", null, null]
34+
[null, null, "T", "T", "D", null, "N:6", "N:2", "N:6", null, "N:4", "N:2", "N:2", null, null]
3535
],
3636
"span": [
37-
[{"h": 0, "v": 1}, {"h": 0, "v": 1}, null, null, null, {"h": 0, "v": 1}, null, null, null, {"h": 0, "v": 1}, {"h": 0, "v": 1}, null, null, {"h": 0, "v": 1}, {"h": 0, "v": 1}],
38-
[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null ]
37+
[{"h": 0, "v": 1}, {"h": 0, "v": 1}, null, null, null, {"h": 0, "v": 1}, null, null, null, {"h": 0, "v": 1}, null, null, null, {"h": 0, "v": 1}, {"h": 0, "v": 1}],
38+
[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null ]
3939
]
4040
},
4141
"totals": {

jal/data_export/templates/tax_rus_trades.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"trade": {
3434
"rows": [
3535
["c_symbol", "c_isin", "o_type", "c_qty", "o_date", "o_number", "o_rate", "os_date", "os_rate", "o_price", "o_amount", "o_amount_rub", "o_fee", "o_fee_rub", "cost_basis", "income_rub", "spending_rub", "profit_rub", "profit", "note"],
36-
[null, null, "c_type", null, "c_date", "c_number", "c_rate", "cs_date", "cs_rate", "c_price", "c_amount", "c_amount_rub", "c_fee", "c_fee_rub", null, null, null, null, null, null]
36+
[null, null, "c_type", null, "c_date", "c_number", "c_rate", "cs_date", "cs_rate", "c_price", "c_amount", "c_amount_rub", "c_fee", "c_fee_rub", null, null, null, null, null, null]
3737
],
3838
"formats": [
3939
["T", "T", "T", "N:0", "D", "T", "N:4", "D", "N:4", "N:6", "N:2", "N:2", "N:6", "N:2", "N:2", "N:2", "N:2", "N:2", "N:2", "T"],

0 commit comments

Comments
 (0)