Code Monkey home page Code Monkey logo

Comments (5)

simonmichael avatar simonmichael commented on June 2, 2024

Thanks for the report, it looks like the format changed in the last 3 years; it should now be %Y-%m-%dT%T%Q%Z. If you confirm, I'll update the example.

from hledger.

simonmichael avatar simonmichael commented on June 2, 2024

(Or if you find other issues, a PR is welcome.)

from hledger.

locallycompact avatar locallycompact commented on June 2, 2024

That does work! Thanks. If I find any more I will PR.

from hledger.

simonmichael avatar simonmichael commented on June 2, 2024

Actually the transactions CSV is more detailed now:

# 2021
# ID,Type,Amount,Date & time,Status,Addresses from,Addresses to,Withdrawals
fields id,type,amount,date,status_,addressesfrom,addressesto,withdrawals
# 2024 (5.3)
# ID,Type,TOTAL (ADA),Sent amount (ADA),Deposit amount (ADA),Fee (ADA),Tokens (unformatted amounts),Date & time,Status,Addresses from,Addresses to,Withdrawals
fields id, type, total_ada, sent_amount_ada, deposit_amount_ada, fee_ada, tokens, datetime, status, addresses_from, addresses_to, withdrawals

Let us know if you come up with a decent set of rules; I'll do the same.

from hledger.

simonmichael avatar simonmichael commented on June 2, 2024

I got sucked in to the puzzle. Here's my attempt:

# hledger CSV conversion rules for Daedalus's transactions export. Tested with daedalus 5.3.

# ID,Type,TOTAL (ADA),Sent amount (ADA),Deposit amount (ADA),Fee (ADA),Tokens (unformatted amounts),Date & time,Status,Addresses from,Addresses to,Withdrawals
fields id, type, total_ada, sent_ada, deposit_ada, fee_ada, tokens, datetime, status_, addresses_from, addresses_to, withdrawals
skip 1
date %datetime
date-format %Y-%m-%dT%T%Q%Z
newest-first
if ! %status_ Confirmed
 status !
description %type %tokens

account1 assets:cc:cardano:wallet1:YYYY-MM-DD

# Received
# posting 1 is for the wallet
# posting 2 is for the source

if %type Received
 comment \nfrom: %addresses_from\nto: %addresses_to\nwithdrawals: %withdrawals\ndatetime: %datetime\nstatus: %status_\ncc-ada-acquire:
 amount %total_ada ADA
 comment1 TODO: add lot date & cost

# Sent
# posting 1 is for the wallet
# posting 2 is for deposits
# posting 3 is for fees
# posting 4 is for the destination

if %type Sent
 comment \nfrom: %addresses_from\nto: %addresses_to\nwithdrawals: %withdrawals\ndatetime: %datetime\nstatus: %status_\ncc-ada-dispose:\nTODO: select source lots; add costs & prices & gain/loss
 amount1 %total_ada ADA

if %type Sent
& %deposit_ada [1-9]
 amount2  %deposit_ada ADA
 account2 assets:cc:cardano:wallet1:deposit
 description %type deposit

if %type Sent
& %fee_ada [1-9]
 amount3  %fee_ada ADA
 account3 expenses:fees:cardano

# The CSV duplicates the amount in sent deposit transactions so we need to avoid those here.
# &! is not yet supported, work around with regexp.
if %type Sent
& %sent_ada [1-9]
& %deposit_ada ^[^1-9]*$
 amount4  %sent_ada ADA
 account4 expenses:unknown

# Categorise manually, or add categorising rules below.

if %addresses_to addr1alksjdflkjsadfff098234lkjlkjasfd09234jlljkasdf09234jl
 account4 assets:cc:cardano:wallet2:YYYY-MM-DD
 comment4 TODO: add lot date & cost

Manual fixups are required, but the result is pretty useful I think.

from hledger.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.