Styling
This commit is contained in:
parent
421648d923
commit
63e6beb711
|
@ -47,7 +47,7 @@ def compute_fifo(transfers: list) -> TaxReport:
|
|||
if True:
|
||||
prices_bought_for[MPC] = deque()
|
||||
# TODO:
|
||||
prices_bought_for[MPC].append(BoughtAndNotYetSold(AssetAmount(MPC, Decimal(40)), datetime.datetime(2024, 4,1,1,1,1,1)))
|
||||
prices_bought_for[MPC].append(BoughtAndNotYetSold(AssetAmount(MPC, Decimal(80)), datetime.datetime(2024, 4,1,1,1,1,1)))
|
||||
prices_bought_for[USDT] = deque()
|
||||
prices_bought_for[USDT].append(BoughtAndNotYetSold(AssetAmount(USDT, Decimal(20)), datetime.datetime(2020, 1,1,1,1,1,1)))
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ def main():
|
|||
|
||||
TRANSFERS = []
|
||||
TRANSFERS += list(KRAKEN_CLIENT._get_double_registers())
|
||||
TRANSFERS += list(KUCOIN_CLIENT._get_double_registers())
|
||||
#TRANSFERS += list(KUCOIN_CLIENT._get_double_registers())
|
||||
tax_report = compute_fifo(TRANSFERS)
|
||||
|
||||
logger.info('-'*80)
|
||||
|
|
|
@ -14,6 +14,7 @@ from .data import TaxReport, BoughtAndSold, BoughtAndNotYetSold
|
|||
from pathlib import Path
|
||||
|
||||
import openpyxl
|
||||
import openpyxl.styles
|
||||
|
||||
TAX_TYPES: dict[fin_defs.Asset, str] = {
|
||||
fin_defs.DKK: 'Fiat',
|
||||
|
@ -33,10 +34,19 @@ def mult_a(a, b):
|
|||
return 'Unknown'
|
||||
return a * b
|
||||
|
||||
BOLD_FONT = openpyxl.styles.Font(bold=True)
|
||||
ALIGN_CENTER = openpyxl.styles.Alignment(horizontal="center", vertical="center")
|
||||
|
||||
def add_headers(sheet, column_headers):
|
||||
sheet.append(column_headers)
|
||||
for row in sheet['A1:J1']:
|
||||
for cell in row:
|
||||
cell.font = BOLD_FONT
|
||||
|
||||
def write_current_assets(sheet, tax_report: TaxReport):
|
||||
column_headers = ['Værdipapir', 'Mængde', 'Estimeret værdi (DKK)',
|
||||
'Beskatningstype']
|
||||
sheet.append(column_headers)
|
||||
add_headers(sheet, column_headers)
|
||||
for asset, positions in tax_report.current_assets.items():
|
||||
total_amount: Decimal = sum((p.amount.amount for p in positions), start=Decimal(0))
|
||||
exchange_rate_asset_to_dkk = tax_report.exchange_rate_at_time(asset, fin_defs.DKK, NOW)
|
||||
|
@ -50,8 +60,9 @@ def write_current_assets(sheet, tax_report: TaxReport):
|
|||
sheet.append(row)
|
||||
del asset, positions, row, total_amount
|
||||
|
||||
|
||||
def write_ledger_sheet(sheet, tax_report: TaxReport):
|
||||
assets = list({e.amount.asset for e in tax_report.ledger_entries})
|
||||
|
||||
column_headers = [
|
||||
'Tidspunkt (UTC)',
|
||||
'Type',
|
||||
|
@ -59,22 +70,36 @@ def write_ledger_sheet(sheet, tax_report: TaxReport):
|
|||
'Mængde',
|
||||
'Balance',
|
||||
'Kontoudbyder',
|
||||
]
|
||||
sheet.append(column_headers)
|
||||
''
|
||||
] + [a.raw_short_name() for a in assets]
|
||||
|
||||
add_headers(sheet, column_headers)
|
||||
row_idx = 2
|
||||
prev_entry_time = None
|
||||
start_of_same_entry = 2
|
||||
for ledger_entry in tax_report.ledger_entries:
|
||||
entry_time = ledger_entry.time.replace(tzinfo=None,microsecond=0,fold=0)
|
||||
row = [
|
||||
ledger_entry.time.replace(tzinfo=None),
|
||||
entry_time,
|
||||
ledger_entry.type,
|
||||
ledger_entry.amount.asset.raw_short_name(),
|
||||
ledger_entry.amount.amount,
|
||||
ledger_entry.balance.amount,
|
||||
ledger_entry.account_provider,
|
||||
]
|
||||
'',
|
||||
] + [(ledger_entry.balance.amount if ledger_entry.balance.asset == a else '') for a in assets]
|
||||
sheet.append(row)
|
||||
row_idx+= 1
|
||||
|
||||
if entry_time != prev_entry_time:
|
||||
# TODO:
|
||||
sheet.merge_cells(f'A{start_of_same_entry}:A{row_idx-1}')
|
||||
sheet[f'A{start_of_same_entry}'].alignment = ALIGN_CENTER
|
||||
start_of_same_entry = row_idx
|
||||
prev_entry_time = entry_time
|
||||
del ledger_entry, row
|
||||
|
||||
|
||||
def write_fifo_sheet(sheet, tax_report: TaxReport):
|
||||
# TODO: Account for transfers
|
||||
column_headers = [
|
||||
|
@ -82,7 +107,7 @@ def write_fifo_sheet(sheet, tax_report: TaxReport):
|
|||
'Salgsværdi (DKK)', 'Salgsdato (UTC)', 'Profit (DKK)', 'Tab (DKK)',
|
||||
'Beskatningstype',
|
||||
]
|
||||
sheet.append(column_headers)
|
||||
add_headers(sheet, column_headers)
|
||||
row_idx = 2
|
||||
for fifo_entry in tax_report.bought_and_sold_for:
|
||||
asset = fifo_entry.amount.asset
|
||||
|
|
Loading…
Reference in New Issue
Block a user