Skip to content

Commit a7cf38e

Browse files
committed
updated revolut format for statements
1 parent 4eb4ed0 commit a7cf38e

File tree

2 files changed

+32
-37
lines changed

2 files changed

+32
-37
lines changed

convert-to-quicken-csv.go

+15-20
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ func revolutCsvStuff(filename string) {
5555
// revolut has spaces in front of some of their delimeters, which screws up golang's csv parser ... fix those first
5656
regexFile(filename, " ,", []byte(","))
5757

58-
inLayout := "Jan 2, 2006"
58+
inLayout := "2006-01-02 15:04:05"
59+
// inLayout := "Jan 2, 2006"
5960
outLayout := "01/02/2006"
6061
f, err := os.Open(filename)
6162
check(err)
@@ -75,38 +76,32 @@ func revolutCsvStuff(filename string) {
7576
break
7677
}
7778
check(err)
78-
date, err := time.Parse(inLayout, strings.TrimSpace(record[0]))
79+
date, err := time.Parse(inLayout, strings.TrimSpace(record[2]))
7980
check(err)
8081
formattedDate := date.Format(outLayout)
81-
creditDebit := "x"
82-
moneyOut, err := strconv.ParseFloat(strings.Replace(strings.TrimSpace(record[2]), ",", "", -1), 64)
83-
if err != nil {
84-
creditDebit = "credit"
85-
}
86-
moneyIn, err := strconv.ParseFloat(strings.Replace(strings.TrimSpace(record[3]), ",", "", -1), 64)
87-
if err != nil {
82+
creditDebit := string([]rune(record[5])[0])
83+
amount := float64(0)
84+
if creditDebit == "-" {
8885
creditDebit = "debit"
86+
amountString := string([]rune(record[5])[1:])
87+
amount, err = strconv.ParseFloat(strings.Replace(amountString, ",", "", -1), 64)
88+
} else {
89+
creditDebit = "credit"
90+
amountString := record[5]
91+
amount, err = strconv.ParseFloat(strings.Replace(amountString, ",", "", -1), 64)
8992
}
90-
if creditDebit == "x" {
91-
moneyOut, err = strconv.ParseFloat(strings.Replace(strings.TrimSpace(record[4]), ",", "", -1), 64)
92-
if err != nil {
93-
creditDebit = "credit"
94-
moneyIn, err = strconv.ParseFloat(strings.Replace(strings.TrimSpace(record[5]), ",", "", -1), 64)
95-
}
96-
}
97-
amount := moneyIn - moneyOut
9893
fmt.Printf("\"")
9994
fmt.Printf(formattedDate)
10095
fmt.Printf("\",\"")
101-
fmt.Printf(strings.TrimSpace(record[1]))
96+
fmt.Printf(strings.TrimSpace(record[4]))
10297
fmt.Printf("\",\"")
103-
fmt.Printf(strings.TrimSpace(record[8]))
98+
fmt.Printf(strings.TrimSpace(record[0]))
10499
fmt.Printf("\",\"")
105100
fmt.Printf("%f", amount)
106101
fmt.Printf("\",\"")
107102
fmt.Printf(creditDebit)
108103
fmt.Printf("\",\"")
109-
fmt.Printf(strings.TrimSpace(record[7]))
104+
fmt.Printf(strings.TrimSpace(record[8]))
110105
fmt.Printf("\"")
111106
fmt.Printf("\n")
112107
}

examplerevolut.csv

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
Completed Date ; Description ; Paid Out (EUR) ; Paid In (EUR) ; Exchange Out; Exchange In; Balance (EUR); Category; Notes
2-
Jun 22, 2020 ; To John Doe ; 200.00 ; ; ; ; 350.00; Transfers;
3-
Jun 18, 2020 ; Top-Up by *1957 Fee: 5.84 ; ; 350.00 ; ; ; 550.00; General;
4-
Jun 15, 2020 ; To John Doe ; 50.00 ; ; ; ; 200.00; Transfers; Deposit for desk
5-
Jun 15, 2020 ; Top-Up by *1957 Fee: 4.17 ; ; 250.00 ; ; ; 250.00; General;
6-
Jun 9, 2020 ; To John Hancock ; 50.00 ; ; ; ; 0.00; Transfers; Deposit for table
7-
Jun 9, 2020 ; Top-Up by *1957 Fee: 0.65 ; ; 39.10 ; ; ; 50.00; General;
8-
Sep 15, 2019 ; To Ray Fen ; 40.00 ; ; ; ; 10.90; Transfers;
9-
Sep 13, 2019 ; To Ray Fen ; 50.00 ; ; ; ; 50.90; Transfers;
10-
Sep 11, 2019 ; The Pub ; 53.50 ; ; ; ; 100.90; Restaurants;
11-
Sep 8, 2019 ; Top-up via Google Pay Fee: 1.66 ; ; 90.00 ; ; ; 154.40; General;
12-
Sep 8, 2019 ; To Ray Fen ; 130.00 ; ; ; ; 64.40; Transfers;
13-
Sep 8, 2019 ; Exchange to EUR FX Rate €1 = $1.1086 ; ; 180.39 ; USD 200.00 ; ; 194.40; General;
14-
Aug 19, 2019 ; To Ray Fen ; 10.00 ; ; ; ; 14.01; Transfers;
15-
Aug 17, 2019 ; From Ray Fen ; ; 5.00 ; ; ; 24.01; Transfers;
16-
Aug 17, 2019 ; To Ray Fen ; 15.00 ; ; ; ; 19.01; Transfers;
17-
Aug 17, 2019 ; Top-up via Google Pay ; ; 30.00 ; ; ; 34.01; General;
1+
Type,Product,Started Date,Completed Date,Description,Amount,Fee,Currency,State,Balance
2+
TOPUP,Current,2021-10-08 17:50:59,2021-10-08 17:51:04,Auto Top-Up by *2771,300.00,0.00,EUR,COMPLETED,502.23
3+
CARD_PAYMENT,Current,2021-10-07 20:19:29,2021-10-09 12:25:34,Harold House,-10.40,0.00,EUR,COMPLETED,491.83
4+
CARD_PAYMENT,Current,2021-10-07 20:41:14,2021-10-09 12:25:34,Harold House,-14.40,0.00,EUR,COMPLETED,477.43
5+
CARD_PAYMENT,Current,2021-10-07 19:58:20,2021-10-09 12:25:34,Harold House,-10.40,0.00,EUR,COMPLETED,467.03
6+
CARD_PAYMENT,Current,2021-10-08 17:50:58,2021-10-10 10:59:47,Leonards Corner,-10.80,0.00,EUR,COMPLETED,456.23
7+
CARD_PAYMENT,Current,2021-10-08 17:12:04,2021-10-10 10:59:47,Leonards Corner,-13.60,0.00,EUR,COMPLETED,442.63
8+
CARD_PAYMENT,Current,2021-10-09 10:51:33,2021-10-10 11:39:43,Killruddery House And Gar,-34.00,0.00,EUR,COMPLETED,408.63
9+
CARD_PAYMENT,Current,2021-10-09 11:58:07,2021-10-10 11:39:43,Killruddery House And Gar,-3.50,0.00,EUR,COMPLETED,405.13
10+
CARD_PAYMENT,Current,2021-10-09 12:22:00,2021-10-10 11:46:01,Bullet Duck And Dumpling,-10.00,0.00,EUR,COMPLETED,395.13
11+
CARD_PAYMENT,Current,2021-10-09 12:19:44,2021-10-10 13:07:53,The Jungle Food Com,-12.00,0.00,EUR,COMPLETED,383.13
12+
CARD_PAYMENT,Current,2021-10-09 12:41:03,2021-10-12 03:37:38,Sumup *the Crepe Box,-2.00,0.00,EUR,COMPLETED,381.13
13+
CARD_PAYMENT,Current,2021-10-09 12:16:53,2021-10-12 03:37:38,Sumup *vera Foods,-7.00,0.00,EUR,COMPLETED,374.13
14+
CARD_PAYMENT,Current,2021-10-09 12:15:47,2021-10-12 03:37:38,Sumup *vera Foods,-35.00,0.00,EUR,COMPLETED,339.13
15+
CARD_PAYMENT,Current,2021-10-10 16:01:23,2021-10-12 05:29:25,57 The Head Line,-12.00,0.00,EUR,COMPLETED,327.13
16+
CARD_PAYMENT,Current,2021-10-10 18:48:53,2021-10-12 09:40:52,Oneils Next Door,-29.99,0.00,EUR,COMPLETED,297.14
17+
TOPUP,Current,2021-10-15 09:24:37,2021-10-15 09:24:39,Auto Top-Up by *2771,300.00,0.00,EUR,COMPLETED,457.14

0 commit comments

Comments
 (0)