Inlägg

Inlägg som bitsofwinter har skrivit i forumet
Av bitsofwinter
Skrivet av ecki:

@bitsofwinter om du kunde fixa en win release med sorteringsfixen så hade det varit så jäkla bra för mig, jag är sjukt stressad över att få ihop deklarationen alls. Är det långsemester eller tror du att du skulle hinna med att fixa en .exe i april någon gång om jag inte får ordning på Python?

Jag har försökt installera python och de andra delarna av det som skall behövas men får ett felmeddelande: "File "report.py", line 50
print(f"Aborting tax computation.")
^
SyntaxError: invalid syntax"

Jag vet inte vad jag gör för fel, är inte så kunnig tyvärr, har googlat i timtal känns det som nu.

Jag sitter lite i skiten, vet inte hur jag ska få fram en deklaration just nu. Jag frågade en skatteredovisare, men det skulle kosta långt mer än jag har råd med trots att jag har alla mina transaktioner i en csv fil med priserna. Jag har även mailat Deklira som har någon tjänst för detta, väntar på svar. Problemet är att de saknar kryptovalutor jag köpt och sålt med i sin tjänst, och jag ser ingen metod för att räkna in min mining, men vi får se vad de säger.

Allra helst hade jag gjort det själv, jag har verkligen ingen stor budget, är student och har gått back på kryptoaffärerna redan.

Kan någon förklara hur jag installerar och kör scriptet som python annars och får rätt på felmeddelandet jag får?

Förresten @gibbon_ Vart hittar du var man kan se problem med sin transaktionshistorik i CT?

Tack för hjälp!

Skickades från m.sweclockers.com

Felet du fick beror på att du kör en äldre version av Python. Du behöver version 3.6 eller senare.

Eftersom jag inte kan skapa en ny exe för Windows där jag är just nu så skulle jag kunna hjälpa dig köra scriptet i stället om du vill. Du får i så fall skicka csv-filen för dina trades och personal_details.json etc. Du kan skicka det som ett privat meddelande här på sweclockers. Du kommer förstås skicka ditt personnummer och andra personliga detaljer till mig i så fall så du behöver lita på att jag inte gör något dumt med detta. Kan bara ge mitt ord att jag inte gör det.

Av bitsofwinter
Skrivet av ecki:

@bitsofwinter Jag får en massa problem med overdraft, funderar på om den här fixen skulle göra någon skillnad? https://github.com/bitsofwinter/cryptotaxsweden/pull/25

Skulle du ha tid att kolla på detta så hade jag blivit evigt tacksam, som det är nu så måste jag ha en ganska "lös" max overdraft, och jag misstänker att det beror på sorteringen av trades från den importerade filen från CT så som plilja skriver. Gör jag uträkning i CT så hittar den inga fel, alltså krypto som säljs utan ett inköp, men i scriptet dyker det upp ett par gånger.

Tack för övrigt för att du gör det möjligt för oss som inte är jättebra på matte att reda ut i den här röran!

Skickades från m.sweclockers.com

Hej! Är på semester utan tillgång till en maskin där jag kan fixa mac/win-packages just nu. Kan se om det ändå går att lösa men eventuellt är det en säkrare väg att gå att du försöker installera python och köra koden från PRen den vägen i stället.

Av bitsofwinter
Skrivet av gibbon_:

@bitsofwinter: Här är meddelandet jag skickade som PM till dig här på swec i augusti.

Jag läste igenom igen och står fast vid varje punkt. Ang. 1) undrar jag om en korrekt sortering hade gjort '--max-overdraft' onödig. Ang. 5) har jag lärt mig att det är värre än så, jag vet inte vilken typ av häx-formel de använder för att ta fram deras rates till FIAT men det kan variera från export till export vilket såklart är helt oacceptabelt i skattemyndigheternas ögon. Jag har ett år kvar på min "subscription" av CoinTracking och tänker göra det bästa av det under tiden, men med alla dessa brister tänker jag absolut inte fortsätta använda deras skräp. Att de inte ens kan få AVCO i närheten av rätt är illa nog för att förbanna dem till konkurs.

Tack för alla förslag på förbättringar.

Ang 1) så håller jag med dig men vet inte hur det kan lösas i och med att det är en begränsning hos cointracking. Om du har några idéer på en bra lösning som skulle fixa det för ditt case så säg till, jag tar gärna emot pull requests också.

Ang 2) jag vill minnas jag hade en längre diskussion om det här i en issue på github för att lista ut vad som var bäst kompromiss angående detta eftersom Skatteverket inte specificerar exakt hur det här skall göras. Jag tror slutsatsen var att vi tog den variant som generellt gav högst skatt, hittar dock inte diskussionen nu.

Ang 3) Utifrån mitt scripts synvinkel är Gift/Tip bara ett sätt att markera att coinsen kom från en fork t.ex. så att den vet vilken cost basis den skall sätta, i.e. cost basis på 0kr. Det var så här Skatteverket tyckte man skulle göra när jag ringde dem, men å andra sidan verkar de anställda där som svarar i telefon inte ha så superbra koll.

Ang 4) Detta är ju något jag skulle kunna testa att implementera om det gick att få cointracking att exportera SEK-värdet för avgifterna. Hittar du ett sätt att göra det så säg till.

Eng 5) Har inte lagt märke till detta själv, det kanske bara är tur i mitt fall, har ju inte heller några extrema mängder trades så kanske inte får så stort utslag med fluktuationer för mig. Har inte heller handlat med annan fiat än SEK och EUR och dessa kanske de har bättre data för än JPY t.ex. Detta är ju dock ett problem med cointracking så inte mycket jag kan göra åt det så länge scriptet är beroende av cointracking. För min egen del ser jag det inte som ett så stort problem att jag inte vågar använda cointracking+scriptet för min egen deklaration och har man ändå gjort sitt bästa på det här sättet har jag ju svårt att se att de skulle tycka man begått något skattemässigt fel, däremot kan de ju komma och göra en revision men då känner jag mig i alla fall trygg nog med beräkningarna att jag inte tror det kommer diffa på mer än några procent, det borde inte bli ett privatekonomiskt problem.

Ang deras nya average cost basis beräkning på cointracking... kan inte den största missen där vara att de gör 100% avdrag för förluster? I Sverige är ju regeln att man bara får dra 70% av förluster. Det skulle väldigt lätt kunna förklara den lägre skatten i deras beräkningar jämfört med mitt script.

Så summa summarum så håller jag med dig i mycket av problembeskrivningen men tycker inte att problemen är riktigt så stora som du väljer att framställa dem. Hittar du bättre alternativ för att räkna ut deklarationen i Sverige så säg gärna till. Jag har begränsad tid att underhålla det här scriptet just nu.

Av bitsofwinter

@gibbon_: Var precis inne och testade average cost basis på cointracking själv nu och fick väldigt mycket lägre skatt med deras beräkning än jag fick med mitt eget verktyg. Tänkte jag skulle gräva i varför men om du redan konstaterat att det är helt off så har du sparat mig tid. Tack!

Apropå mitt script på github, jag vill gärna att det blir korrekta skatterapporter. Kanske har jag missat ditt meddelande. Vad var det för problem du hittat?

Av bitsofwinter
Skrivet av yoj1mbo:

@bitsofwinter Skapade ett konto för att säga tack, mycket uppskattat! Säg till när du startat en svensk Cointracking!

En fundering - så länge mina trades i Cointracking står kvar som de gjorde i 2017 års CSV-fil kommer jag väl få rätt omkostnadsbelopp även för 2018? Vill ju för allt i världen inte gå mist om de högre omkostnadsbelopp som ska vara invärden 2018 efter att jag skattat på stor del av uppgången under 2017.

Ja, så länge du laddar ner din kompletta tradinghistorik på cointracking så kommer omkostnadsbeloppen från föregående år att användas.

Tack för peppen!

Av bitsofwinter
Skrivet av TheReal1980:

Verkar vara ett problem med mitt OS X, kör inte senaste.
Kan någon hjälpa mig skapa pdf och fil till Skatteverket om jag skickar trades.csv fil? Lämna personlig info ute, det kan fyllas i i efterhand. Jag betalar gärna, bara säg vad ni vill ha på PM.

Skickades från m.sweclockers.com

Ytterligare ett alternativ skulle kunna vara att sätta upp ett gratiskonto på https://www.pythonanywhere.com/, starta en bash prompt och sedan köra.

git clone github.com/bitsofwinter/cryptotaxsweden
cd cryptotaxsweden
virtualenv venv -p python3.6
. ./venv/bin/activate
pip install -r requirements.txt

Efter detta skall det gå att köra scriptet enligt instruktioner i READMEn. Filer ser ut att gå att ladda upp och ner på den här siten också, så skall gå att ladda upp trades.csv och sedan ladda ner sru-filer etc.

Har du en färdig trades.csv och vill betala för att få den konverterad till sru/pdf så är det förstås ett alternativ också.

Av bitsofwinter
Skrivet av TheReal1980:

Förstod nu att man skulle köra via Terminalen men fick error:

Pers-MacBook-Air:Desktop Macintosh$ cd cryptotaxsweden
Pers-MacBook-Air:cryptotaxsweden Macintosh$ ls
LICENSE README.md data docs report
Pers-MacBook-Air:cryptotaxsweden Macintosh$ ./report 2017 --simplified-k4
[37547] Error loading Python lib '/var/folders/58/h3c11p7123q_9l8_zzqrzskr0000gn/T/_MEILUNG5o/.Python': dlopen: dlopen(/var/folders/58/h3c11p7123q_9l8_zzqrzskr0000gn/T/_MEILUNG5o/.Python, 10): Symbol not found: _clock_getres
Referenced from: /var/folders/58/h3c11p7123q_9l8_zzqrzskr0000gn/T/_MEILUNG5o/.Python (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
in /var/folders/58/h3c11p7123q_9l8_zzqrzskr0000gn/T/_MEILUNG5o/.Python
Pers-MacBook-Air:cryptotaxsweden Macintosh$

Ser ut som att det finns problem med pyinstaller som jag använt för att packettera det hela. https://github.com/pyinstaller/pyinstaller/issues/3418

Eftersom jag inte har tillgång till en gammal version av macOS att skapa installer från så antar jag att du måste sätta upp python själv för att få det att fungera. Förstår om det blir omständigt om du inte har programmeringserfarenhet, dock inte omöjligt.

En annan lösning är ju förstås att du uppgraderar till senaste versionen av macOS eller letar upp en windows-maskin och kör windows-versionen i stället.

Av bitsofwinter
Skrivet av bitsofwinter:

Vad du behöver göra är att lägga in dessa 1000 BCN som trade type "Mining" i stället för "Deposit", antingen rapporterar du mining income för poolen och gör en withdraw därifrån och sedan en deposit för hitbtc eller så ändrar du depositen på hitbtc till mining i stället. Deposit/Withdrawals ignoreras av scriptet eftersom de är tänkta att enbart användas för att flytta mellan sina egna wallets.

Men jag tror vi skall flytta den här diskussionen till din issue på github i stället.

Av bitsofwinter
Skrivet av metalmetalmetal:

Det blev helt klart lite tydligare. Jag kan förklara min situation lite mer konkret.

---
Jag har ett par olika mynt jag har minat fram över tid. Dessa för jag över till de olika börserna. Exempel:

1: Gräv ut 0.1 AEON på pool.
2: 0.1 AEON Withdraw -> Deposit Bittrex

1: Gräv ut 0.1 ETH på pool.
2: 0.1 ETH Withdraw -> Deposit Kraken

1: Gräv ut 1000 BCN på pool.
2: 2000 BCN Withdraw -> Deposit på HitBTC

Det jag inte kan rapportera här är själva Withdraw-steget. Cointracking har inte stöd för den pool jag minat genom, så därför blir detta inlagt som en Deposit i CoinTracking, med respektive korrekt utpekad börs per mynt.
---

---
Jag har även trades med LocalBitcoins. Dessa för jag över till respektive börs. Exempel:

1: Köp 0.01 BTC för 100 SEK
2: 0.01 BTC Withdraw -> Deposit Kraken

1: Köp 0.02 BTC för 1000 SEK
2: 0.02 BTC Withdraw -> Deposit Kraken

Jag ser inte Withdraw-steget som en del av rapporterna tagna från LocalBitcoins. Det som finns tillgängligt därifrån är Trades. Samtliga mina Trades genom LocalBitcoins är köp.
---

När jag matar in det här, låt oss ta BCN som exempel, i CoinTracking och kör skriptet, så blir det:

0: Mina 1000 BCN på pool
1: Deposit 1000 BCN till HitBTC
2: Exportera Cointracking-rapport till CSV
3: Kör python report.py 2017
4: "Trying to sell BCN which has not been bought yet"

Här blir det lite förvirrat för att jag inte vet om Deposit, Gift [In] eller Mining är det som gäller. Det är mining i avseendet att det kommit fram av mining, men sen har det gjorts en deposit till HitBTC, vilket jag antar ska bokföras också?
Är det helt enkelt så att jag ska "trippelbokföra" detta? Alltså skriva in i CoinTracking;

* 1000 BCN som mining (med en kommentar att det är från pool)
* 1000 BCN Withdraw (med en kommentar att det är från pool)
* 1000 BCN Deposit till HitBTC

Vad du behöver göra är att lägga in dessa 1000 BCN som trade type "Mining" i stället för "Deposit", antingen rapporterar du mining income för poolen och gör en withdraw därifrån och sedan en deposit för hitbtc eller så ändrar du depositen på hitbtc till mining i stället. Deposit/Withdrawals ignoreras av scriptet eftersom de är tänkta att enbart användas för att flytta mellan sina egna wallets.

Av bitsofwinter
Skrivet av metalmetalmetal:

Ok, bra att veta.

Jag har
* lagt in mina köp på LocalBitcoins som Trades (från SEK till BTC)
* lagt alla inkommande överföringar som Gift/Tip [In] eller Gift [Out] som motsvarar Deposits och Withdraws

Men jag tolkar då att Gifts är fel typ för dessa, och de ska med andra ord läggas som just Deposit och Withdraw i Cointracking?
Dock är jag undrande om detta påverkar skriptet? Möjligtvis är det Gift/Tip som skulle kunna göra att jag inte får riktigt lika höga summor, men det har jag lite svårt att slutleda mig till utan att ha testat/gått igenom koden. Förtydligande här hade varit toppen.

Uppdaterade READMEn på github. Kolla om frågorna blev besvarade där. Säg till annars vad som saknas / är fel så kan vi se om det går lätt att fixa.

Av bitsofwinter
Skrivet av metalmetalmetal:

Något blir helt uppåt väggarna konstigt för mig när jag flyttar in alla mina transaktioner från Cointracking till det här skriptet.

Framförallt märker jag något som jag inte vet hur jag ska tolka, när jag läser in mina köp från LocalBitcoins.
Jag har endast köpt bitcoins genom Localbitcoins och aldrig sålt något. Så, jag har alltså aldrig gjort någon vinst någon gång på dessa pengar, genom att sälja den mängden bitcoin jag köpt.

Jag utgick ifrån att lägga in samtliga börsers transaktioner, så att jag kunde se om skriptet fungerade. Efter att ha gjort detta, lade jag till slut in mina köp från LocalBitcoins.

Det som händer är att skriptet rapporterar 40% mer vinst nu, än innan jag lagt in dessa köp. Det är ungefär som om skriptet tror att jag _sålt_ de här mynten till en fantastisk vinst.

Hur är det tänkt att man ska rapportera dessa köp?
Och hur ligger det till med överföringar mellan börser? Jag har bara köpt med kontanter på ett ställe, och sedan överfört till andra börser utifrån det. Hur är det tänkt att jag ska rapportera detta i Cointracking så att skriptet lägger ihop summorna rätt?

Det här är ett _toppeninitiativ_ och jag ser fram emot att se resultaten, när jag fått koll på att jag gjort rätt. Just nu känns det som att jag inte riktigt får rätt på rapporteringen mot cointracking, men jag behöver lite mer förståelse för hur det översätts sedan till skriptet.

Läste dina issues på github lite snabbt nu, fick intrycket av att du kanske använder Gift/Tip till annat än vad jag själv använt det till. Scriptet hanterar just nu bara följande trade types på cointracking:

Trade: Växling fiat-krypto, krypto-krypto och krypto-fiat
Mining (enbart inkomst): Inkomst från mining, får ett omkostnadsbelopp på värdet i SEK vid tillfället man tog emot inkomsten, man förväntas deklarera själva inkomsten på en annan blankett som inkomst av hobbyverksamhet.
Gift/Tip (enbart inkomst): Används främst för att hantera inkomster från hard forks och airdrops, d.v.s. fall där omkostnadsbeloppet skall vara 0.

Det går förstås att utöka scriptet, men eftersom jag inte haft behov av mer för egen del har jag inte gjort detta än. Beskriv gärna vad som saknas så kan jag försöka lägga till support för det så länge det inte är för komplicerat, eller gör en pull request.

Av bitsofwinter

Nu finns både möjlighet att göra en förenklad K4 och att generera en "rounding report" som är avrundningar av antal som ger större fel än en viss procent (konfigurerbar) som man kan klistra in under Övriga Upplysningar. Har gjort en uppdaterad release för Windows/Mac också. Se README för info.

Beräkningen har även förbättrats en aning nu och ger en marginellt lägre skatt och är, så vitt jag kan tolka det, även mer korrekt enligt Skatteverkets regler.

Av bitsofwinter

La in support i scriptet för att generera en förenklad version av K4an så som jag tolkade de nya reglerna, i.e. att rapportera summan av förluster och vinster per valuta. Har inte testat det jättemycket men såg initialt ut att kunna göra rätt sak. Finns en ny flagga --simplified-k4 för detta.

Har dock inte packeterat någon ny release för windows/mac än (då detta är lite meckigt) så det finns bara på master om man satt upp python-versionen själv än så länge.

Av bitsofwinter
Skrivet av delco76:

Så här:

,"Type","Buy","Cur.","Value in BTC","Value in SEK","Sell","Cur.","Value in BTC","Value in SEK","Spread","Exchange","Group","Date"

Mvh Micke

Hmm... testa ladda ner trades.csv igen från cointracking, man skall inte behöva spara om eller ändra den filen, den bör laddas ner i rätt format från början. Däremot personal_data.json är nog viktigare att man ser till att spara i UTF-8.

Av bitsofwinter
Skrivet av NoCc:

Grym idé med scriptet!

Traceback (most recent call last):
File "report.py", line 36, in <module>
File "tax.py", line 65, in compute_tax
File "tax.py", line 51, in get_sell_coin
Exception: Selling currency EUR which has not been bought yet
[2844] Failed to execute script report

Jag gissar på att felet är att det saknas någon transaktion, men finns det något sätt jag kan få en hint om vart felet är? Jag har 400+ trades från 5 olika exchanges, det är lite rörigt (minst sagt)

Det här beror troligen på att du inte rapporterat växlingen från SEK->EUR när du fört över pengar från svenskt konto till en exchange, t.ex. Kraken/Bitstamp. Det sker ju en konvertering från SEK till EURO där och även en från EURO till SEK när man skickar tillbaka till sitt svenska bankkonto, dessa behöver också skrivas in på cointracking.

Av bitsofwinter
Skrivet av delco76:

Detta löste det aktuella felet , men då fick jag detta istället:

"Traceback (most recent call last):
File "report.py", line 29, in <module>
File "taxdata.py", line 58, in read_from
IndexError: list index out of range
[11732] Failed to execute script report"

Med vänlig hälsning Micke

Hur ser första raden i trades.csv ut?

Av bitsofwinter
Skrivet av PatrickP:

Här är själva pressmeddelandet:

https://www.skatteverket.se/omoss/press/pressmeddelanden/2018...

Alla enskilda transaktioner med kryptovalutor behöver inte längre redovisas

Hur tolkar ni detta? Tycker det låter som att man fortfarande måste räkna ut vinst och förlust enligt samma regler med average cost basis även för affärer crypto-crypto?

Av bitsofwinter
Skrivet av Oneoff:

Observerar, jag har varit i kontakt med skatteverket och ni kan inte skriva 0 i antal på K4. Oavsett hur mycket/liten vinst ni har gjort (detta syns på omkostnadsbelopp och avyttring) så ska man som minst 1 om något har sålts. Oavsett om det endast är en fraktion på 0,001 som sålts.

Dvs. 0 betyder att inget har sålts....

Det här är ju jätteintressant med tanke på att jag själv ringde Skatteverket och frågade hur jag skulle hantera detta och det var de som sa att jag skulle avrunda till 0 i dessa fall.

Får väl ringa dem igen och fråga helt enkelt. De verkar ju inte ha koll på sina egna regler.

Edit:

Såg nu att de skriva på sin hemsida att man kan avrunda till noll och skriva under övriga upplysningar vilka de riktiga beloppen är. Hur man skall få plats med all den informationen under övriga upplysningar om man har väldigt många trades är ju en annan fråga.

https://www.skatteverket.se/omoss/press/pressmeddelanden/2018...

Av bitsofwinter
Skrivet av delco76:

Hej, @bitsofwinter

får detta felmeddelande nu när jag försöker använda "cryptotaxsweden".

"Traceback (most recent call last):
File "report.py", line 29, in <module>
File "taxdata.py", line 53, in read_from
File "taxdata.py", line 53, in <listcomp>
File "c:\users\thomas\cryptotaxsweden\venv\lib\codecs.py", line 321, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 35: invalid start byte
[4960] Failed to execute script report"

Vad kan det bero på?
Kör windows 10

Hinner inte göra en patch just nu. Testa att installera Notepad++ och öppna och spara om filerna under data/ som UTF-8.

Av bitsofwinter

Hmmm... den här regeln för just sektion D på K4an riskerar ju orsaka hög skatt även om man inte gjort någon vinst, ännu större risk om man handlar regelbundet under en marknad som går mycket upp och ner under året eftersom man ju då riskerar ackumulera en total vinst och förlust som överstiget beloppet man har investerat. Eller tänker jag fel? Hoppas det.

"Kapitalförluster på alla andra onoterade värdepapper (utom aktier), såsom onoterade konvertibler, aktieoptioner, aktieindexobligationer och liknande samt alla slags onoterade fonder, deklareras på blankett K4 under avsnitt D. Vinstsumman förs därifrån direkt till Inkomst­deklarationen och räknas samman med de belopp som ska anges i ruta 7.5. Den oreducerade förlusten under avsnitt D på blankett K4 förs direkt över till Inkomstdeklarationens ruta 8.4. Skatteverket minskar sedan dessa förluster till 70 procent innan de kvittas mot dina kapitalinkomster. Observera att här sker minskningen av förlusten till 70 procent för varje förlustaffär. Inte ens förluster på samma onoterade värdepapper får dras av till 100 procent mot vinster."

Saxat från https://www.aktiespararna.se/Artikelarkiv/Repotage/2017/april...