Bitcoin Forum
November 04, 2024, 01:26:57 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: Habt ihr interesse an updates der Skripte (inkl. getrennte depots, gebührenberücksichtigung und anderes)
nö, ich brauch garkeine Gewinnermittlung zu machen - 0 (0%)
nö, brauch keine Skripte zur Gewinnermittlung von dir, mache das anders - 7 (15.9%)
nö, mir reicht was hier ist - 0 (0%)
ja, wäre cool - 16 (36.4%)
ja, brauche ich unbedingt - 7 (15.9%)
ja, brauche ich so arg, daß ich's sonst selber machen würde - 9 (20.5%)
was soll der Scheiß, ich zahl keine Steuern - 5 (11.4%)
Total Voters: 44

Pages: « 1 [2] 3 4 5 6 7 »  All
  Print  
Author Topic: Bitcoin Buchhaltung fifo, lifo,... (scripte etc, work in progress)  (Read 28703 times)
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 11, 2013, 12:31:15 PM
 #21

Eventuell interessant ist es auch, sich ledger-cli aunzusehen und einen Converter von mtgox-csv auf Ledger zu erstellen. Dazu muss man vermutlich gar nicht mal so viel tun, nur ein paar Daten jonglieren (und eventuell Zeitzonen beachten) und anders formatiert abspeichern.

Das Ding ist recht flott im Berechnen von Daten und Darstellen lassen die sich auch recht brauchbar.
Importer für andere csv-files kann man dann auch einfachst ableiten.

http://www.ledger-cli.org/features.html

das Ding tut's glaub nicht für unseren Anwendungsfall. Da müsstest du extern Buchungssätze generieren welche die Gewinne aus den Trades abbilden.

Ich hab übrigens nix dagegen wenn hier über Buchhaltungstools oder Buchhaltung allgemein diskutiert wird.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Gyrsur
Legendary
*
Offline Offline

Activity: 2856
Merit: 1520


Bitcoin Legal Tender Countries: 2 of 206


View Profile WWW
November 11, 2013, 12:33:45 PM
 #22

klinke mich hier mal ein.

Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1007


View Profile
November 11, 2013, 01:15:04 PM
 #23

Würden die Gewinne durch Trades nicht als entsprechende Balance übrigbleiben?

z.B.
1 BTC deposit, 0.50 BTC um 100 USD verkauft, *crash*, 0.30 BTC um 20 USD gekauft.

Endstand:
0.8 BTC, 80 USD

Gewinn in der Zeitspanne wäre also 80 USD - aktueller Wert von 0.2 BTC, oder?

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 11, 2013, 02:07:29 PM
 #24

Würden die Gewinne durch Trades nicht als entsprechende Balance übrigbleiben?

z.B.
1 BTC deposit, 0.50 BTC um 100 USD verkauft, *crash*, 0.30 BTC um 20 USD gekauft.

Endstand:
0.8 BTC, 80 USD

Gewinn in der Zeitspanne wäre also 80 USD - aktueller Wert von 0.2 BTC, oder?

Die Methodik die ich hier machen will ermittelt den Gewinn als (<verkaufspreis> - <kaufpreis>) * <anzahl BTC>. Gewinn fällt beim Verkauf an.

Deshalb braucht man auch die Töpfe (liste von {anzahl BTC, kaufpreis, Datum}), damit man den Kaufpreis ermitteln kann.

Dein Beispiel geht bei meiner Methodik schonmal garnicht, denn: wo hast du den 1 BTC denn her? Wir brauchen für den einen Kaufpreis "x USD". Dann könnten wir deinen Gewinn ermitteln als "0.5 * (x - 100) USD" Dein späterer kauf von 0.3 BTC erzeugt keinen Gewinn, nur der Verkauf.


PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1007


View Profile
November 11, 2013, 03:07:52 PM
 #25

Ah, also eher so:

Über ein Jahr verteilt folgende Trades:

1 BTC erhalten (einfachheitshalber nicht via Mining), dafür 100 EUR gezahlt. "Interner Preis" ab sofort 100 EUR pro BTC.
0.5 BTC verkauft, zu einem höheren Kurs, 100 EUR erhalten. Interner Preis ab sofort 200 EUR/BTC, 100 EUR nicht realisierter Gewinn, 0 EUR realer Gewinn.
weitere 0.25 BTC verkauft, wieder höherer Kurs, 100 EUR erhalten. Interner Preis ab sofort 400 EUR/BTC, 100 EUR nicht realisierter Gewinn, 100 EUR realer Gewinn.
Preis bricht ein.
Um 50 EUR 0.5 BTC gekauft. Interner Preis ab sofort 100 EUR/BTC, 75 EUR nicht realisierter Gewinn, 50 EUR realer Gewinn

Ich stehe also am Schluss mit 0.75 BTC da, die beim letzten Trade 75 EUR wert waren und habe 50 EUR Gewinn mit Trading gemacht.

Würde das so stimmen?
Ich nehme stark an, es sollte mit ledger auch möglich sein, Verkäufe auf ein Gewinnkonto zu buchen...

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 11, 2013, 06:07:06 PM
 #26

Ah, also eher so:

Über ein Jahr verteilt folgende Trades:

1 BTC erhalten (einfachheitshalber nicht via Mining), dafür 100 EUR gezahlt. "Interner Preis" ab sofort 100 EUR pro BTC.
0.5 BTC verkauft, zu einem höheren Kurs, 100 EUR erhalten. Interner Preis ab sofort 200 EUR/BTC, 100 EUR nicht realisierter Gewinn, 0 EUR realer Gewinn.
weitere 0.25 BTC verkauft, wieder höherer Kurs, 100 EUR erhalten. Interner Preis ab sofort 400 EUR/BTC, 100 EUR nicht realisierter Gewinn, 100 EUR realer Gewinn.
Preis bricht ein.
Um 50 EUR 0.5 BTC gekauft. Interner Preis ab sofort 100 EUR/BTC, 75 EUR nicht realisierter Gewinn, 50 EUR realer Gewinn

Ich stehe also am Schluss mit 0.75 BTC da, die beim letzten Trade 75 EUR wert waren und habe 50 EUR Gewinn mit Trading gemacht.

Würde das so stimmen?
Ich nehme stark an, es sollte mit ledger auch möglich sein, Verkäufe auf ein Gewinnkonto zu buchen...

wieder falsch (jedenfalls wenn du versuchst zu verstehen was ich hier mache, ob das nun richtig ist, steht hier hoffentlich nicht geschrieben). ich nehm mal dein Beispiel und spiel es durch:

Aktion 1, 1.1.2013: Kauf 1 BTC bei Kurs 100 €/BTC
  => gewinn: keiner, da kein Verkauf
  => zustand_toepfe: [{1.1.2013, 1 BTC, 100 €/BTC}]

Aktion 2, 2.1.2013: Verkauf 0.5 BTC bei Kurs 200 €/BTC
  => gewinn: 0.5 * (200€ - 100€) = 0.5 * 100€ = 50€
  => zustand_toepfe: [{1.1.2013, 0.5 BTC, 100 €/BTC}]

Aktion 3, 3.1.2013: Verkauf 0.25 BTC bei Kurs 400 €/BTC
  => gewinn: 0.25 * (400€ - 100€) = 0.25 * 300€ = 75€
  => zustand_toepfe: [{1.1.2013, 0.25 BTC, 100 €/BTC}]

Preis bricht ein.

Aktion 4, 4.1.2013: Kauf 0.5 BTC bei Kurs 50 €/BTC
  => gewinn: keiner, da kein Verkauf
  => zustand_toepfe: [{1.1.2013, 1 BTC, 100 €/BTC}, {4.1.2013, 0.5 BTC, 50 €/BTC}]

Endabrechnung:

  Du hast 0.75 BTC auf dem Konto (das interessiert aber das FA nicht und gibst du auch nicht an)
  Du hast €125 Gewinn gemacht

Man kann jetzt hier weiterspielen und kommt dann zu solchen Fragen wie: aus welchem der beiden Töpfe entnehme ich die coins zum Verkauf? Bei FIFO nimmt man den ältestens Topf ({1.1.2013, 1 BTC, 100 €/BTC}) zuerst, bei LIFO den neusten ({4.1.2013, 0.5 BTC, 50 €/BTC})

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Chefin
Legendary
*
Offline Offline

Activity: 1882
Merit: 1108


View Profile
November 11, 2013, 09:14:04 PM
 #27

Molecular: das Finanzamt wird Kurz lachen und dir dann ein paar adressen für steuerberater geben, an die du dich wenden sollst. Fibu funktioniert leider anders.

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)
------
Es spielt keine Rolle ob du euro oder bitcoin rumliegen hast, da beides als Werteinheit betrachtet wird vom FA(soweit jedenfalls bis heute die Ansichten). Grundsätzlich wollen wir das auch so, weil nur dann keine MWSt erhoben wird.

Daher muss deine Buchhaltung den Wert zum Zeitpunkt des Zugangs ermitteln. Zwischenzeitliche Wertänderungen spielen erstmal keine Rolle, solange man nicht in Euro rücktauscht.

Versteuern muss man allerdings nicht die 250, sondern die 150 Gewinn, da der Anfangsbestand abgezogen wird. Und im darauffolgenden Jahr hat man dann auch mehr in der Kasse. Nehmen wir mal 33% Steuer an, würden folglich 50euro steuer fällig, 200Euro bleiben in der Kasse. Davon 0,75btc und 125Euro.

Ich sagte ja schon, Buchhaltung folgt eigenen Regeln. Lege ich die reine Mathematik zugrunde komme ich natürlich auf andere Ergebnisse. Deswegen ist ein Mathematiker nicht automatisch ein Buchhalter und deswegen ist ein Arzt bettelarm, steigt in den Porsche und fährt ins Jagdhaus am Chiemsee.

Investiert einfach mal 50 oder 100Euro in einen Buchhaltungskurs oder lasst euch von einem Steuerberater mal etwas aufklären. Ansonsten gehe ich von der momentan publizierten Lage aus. Das FA sieht btc als Geldersatz an. Ändert sich diese Ansicht, könnte es nötig sein, anders zu buchen. Wichtig ist in jedemfall, das man jeden Trade belegen kann. Bei Barkauf reicht dazu auch ein selbstgeschriebener Beleg. Mehr hat man ja auch nicht, die alternative wäre ja sonst: es ist nie passiert(und wenns dann doch rauskommt, weil der Handelspartner seine Seite beim Finanzamt angibt, hat man ein verfahren wegen Steuerhinterziehung am Hals). Daher wird in einem solchen Fall ein selbst geschriebender Beleg akzeptiert.
candoo
Hero Member
*****
Offline Offline

Activity: 602
Merit: 500


Vertrau in Gott


View Profile
November 11, 2013, 09:46:41 PM
 #28

Das erinnert mich an einen alten Freund. Hat sich selbstständig gemacht und wollte die Buchhaltung selber erledigen. (trotz meinen Einwänden)

Fazit:  Seine Kasse hatte Ende des monats 20,000 Euro die er mit 19% versteuert hat. Was er erst später gemerkt hat war, dass er 15000 Euro davon selbst in die Kasse gelegt hat als wechselgeld...

Aber gut, wozu auch ein Kassenbuch  Grin Grin

Einer trage des andern Last, so werdet ihr das Gesetz Christi erfüllen.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1007


View Profile
November 12, 2013, 12:55:11 AM
 #29

Urgh, ich weiß schon, wieso ich nicht Wirtschaft studiere... Wink

Ist aber zumindest interessant zu sehen, wie schon so ein rel. einfaches Beispiel schon zu Verwirrung und unterschiedlichen Interpretationen führen kann. Wenigstens kann man dann die "korrekte" Version von einem Berater ermitteln lassen, ab dann kann man es vermutlich aus CSV-Dateien einfach rausparsen.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 13, 2013, 05:34:34 AM
Last edit: November 13, 2013, 05:47:45 AM by molecular
 #30

@Cheesle: Das sind gute Fragen und ich bin mir nicht sicher. Aufheben der Daten ist natürlich auf jeden Fall angeraten. Wahrscheinlich kann ich dir im Dezember mehr dazu sagen. Ich glaube persönlich nicht, daß du irgendwas machen musst (ausser vielleicht vorbereitet sein).

Ich hab den first post editiert (Änderung datentype "datum" date -> timestamp")

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 13, 2013, 05:53:31 AM
Last edit: November 24, 2013, 08:10:16 AM by molecular
 #31

(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt mtGox)

Datenimport mtGox

Import

Nun saugt man sich die trade-historien von mtGox (sowohl USD als auch BTC) in files mit Namen: "mtgox_BTC.csv" und "mtgox_USD.csv". Ich glaub da gibt's so Unsinn wie: "älter als 3 Monate" und "jünger als 3 monate"? Ich glaub da hab ich einfach die CSV-Dateien aneinandergehängt.

Und importiert diese in die db:

Code:
bitbuch=# drop table mtgox;

bitbuch=# create table mtgox(id serial, index integer, trade_id bigint default null, currency varchar(3) default null, datum timestamp, type varchar(10), info varchar(256), value numeric(22,8), balance numeric(22,8));

bitbuch=# copy mtgox(index, datum, type, info, value, balance) from '/path/mtgox_BTC.csv' delimiter ',' CSV HEADER;

bitbuch=# update mtgox set currency='BTC' where currency is null;

bitbuch=# copy mtgox(index, datum, type, info, value, balance) from '/path/mtgox_USD.csv' delimiter ',' CSV HEADER;

bitbuch=# update mtgox set currency='USD' where currency is null;

bitbuch=# update mtgox set trade_id=substring(info from '.*tid:(.*)].*')::bigint;


nun kann man die "mtgox"-Tabelle mal anschauen, ob's auch gut aussieht:

Code:
bitbuch=# select * from mtgox order by trade_id limit 10;

Ich hatte dann noch durch einen Bug entstandene und gecancelte trades drin (millionen von $), welche ich einfach rausgelöscht hab:

Code:
bitbuch=# select * from mtgox where value > 10000;
bitbuch=# delete from mtgox where value > 10000;

trades

Jetzt kommen die mtgox-daten in einen neue Tabelle namens "trades". Die soll dann mal alle trades (auch von anderen Exchanges) enthalten.
(Die erste Zeile ist nur beim ersten mal nötig, wenn die Tabelle noch nicht existiert)

Code:
bitbuch=#  create table trades(id serial, exchange varchar(16), datum timestamp, trade_id bigint, delta_BTC numeric(20,8), delta_USD numeric(20,8), fee_BTC numeric(20,8), fee_USD numeric(20,8));
bitbuch=# delete from trades where exchange='mtgox';
bitbuch=# insert into trades(exchange, datum, trade_id, delta_BTC, delta_USD, fee_BTC, fee_USD)
select
  'mtgox',
  datum as datum,
  trade_id,
  sum(case when currency = 'BTC' then value else 0 end * case when type='out' then -1 else 1 end) as delta_BTC,
  sum(case when currency = 'USD' then value else 0 end * case when type='spent' then -1 else 1 end) as delta_USD,
  sum(case when currency = 'BTC' then value else 0 end * case when type='fee' then -1 else 0 end) as fee_BTC,
  sum(case when currency = 'USD' then value else 0 end * case when type='fee' then -1 else 0 end) as fee_USD
from mtgox
where trade_id is not null -- exclude withdraws/deposits/...
group by trade_id, datum
order by trade_id asc;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 13, 2013, 09:47:21 PM
 #32

Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
candoo
Hero Member
*****
Offline Offline

Activity: 602
Merit: 500


Vertrau in Gott


View Profile
November 13, 2013, 09:49:37 PM
 #33

Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)


Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.


Einer trage des andern Last, so werdet ihr das Gesetz Christi erfüllen.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 13, 2013, 09:58:08 PM
 #34

Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)


Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.

Alter jetzt hab ich aber langsam genug von der Klugscheisserei. Wenn du nichts konstruktives zu vermelden hast dann bitte ich dich woanders hinzugehen.

Du glaubst ja wohl nicht daß ich diese Scheiße hier ohne Steuerberater mache, oder? Bloss ist der leider nicht fähig die Daten von den exchanges einzusammeln und in sein DATEV reinzubringen. Ich glaube die arbeiten da gerade an einer Schnittstelle mit Mark Karpeles zusammen, hahaha, die wird dann gleichzeitig mit der neuen trading engine released... in 2 Wochen denk ich. LOL.

Und wenn ich dann zu einem Post hier eine Frage habe dann kann man mir das bitte erklären anstatt hier so einen Kack abzulassen.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
candoo
Hero Member
*****
Offline Offline

Activity: 602
Merit: 500


Vertrau in Gott


View Profile
November 13, 2013, 10:11:22 PM
 #35

Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)



Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.

Alter jetzt hab ich aber langsam genug von der Klugscheisserei. Wenn du nichts konstruktives zu vermelden hast dann bitte ich dich woanders hinzugehen.

Du glaubst ja wohl nicht daß ich diese Scheiße hier ohne Steuerberater mache, oder? Bloss ist der leider nicht fähig die Daten von den exchanges einzusammeln und in sein DATEV reinzubringen. Ich glaube die arbeiten da gerade an einer Schnittstelle mit Mark Karpeles zusammen, hahaha, die wird dann gleichzeitig mit der neuen trading engine released... in 2 Wochen denk ich. LOL.

Und wenn ich dann zu einem Post hier eine Frage habe dann kann man mir das bitte erklären anstatt hier so einen Kack abzulassen.


Das war nicht an dich gerichtet, sondern gilt als warnung für die anderen die hier lesen.


Du kannst mit deinem Steuerberater auch eine Datev Schnittstelle einrichten!!
D.h. du gibst zuhause am PC die Daten in Datev ein & er bekommt sie dann in seinem  Mandat angezeigt. Das mache ich auch für einige Firmen bei denen ich die Buchhaltung mache.
Du musst sie aber halt manuell von deiner csv  Datei oder mtgox abtippen


dennoch liebe Grüße


Einer trage des andern Last, so werdet ihr das Gesetz Christi erfüllen.
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
November 13, 2013, 10:15:00 PM
 #36

Hehehe. Hatte mich schon zuerst über deine überirdische Ruhe gewundert nachdem du nichts weiter zu dem obigen geschrieben hast.... naja, soviel dazu.

Meinen Dank für diesen Thread hast du jedenfalls.

re: Unterschied zwischen deiner Rechnung und der von Chefin.

Korrigier mich wenn ich mich irre, aber der Unterschied zwischen euren beiden Rechnungen ist erst mal, dass Chefin keinerlei Unterscheidung in "Töpfe" macht (weiss nicht ob das der korrekte Begriff ist), was allerdings hier nötig sein wird um den Unterschied festzuhalten zwischen btc die <1 Jahr und >1 Jahr gehalten werden.

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 13, 2013, 10:30:33 PM
 #37

Du kannst mit deinem Steuerberater auch eine Datev Schnittstelle einrichten!!
D.h. du gibst zuhause am PC die Daten in Datev ein & er bekommt sie dann in seinem  Mandat angezeigt. Das mache ich auch für einige Firmen bei denen ich die Buchhaltung mache.
Du musst sie aber halt manuell von deiner csv  Datei oder mtgox abtippen


dennoch liebe Grüße

nix für ungut, hatte 'nen langen Tag und hab vielleicht etwas übertrieben reagiert. Dafür entschuldige ich mich.

Ist klar daß die Steuerberater unterschiedlicher Meinung sind. Ich arbeite halt mit meinem zusammen... was bleibt mir schon übrig.

Des weiteren habe ich mehrmals hier betont, daß ich lediglich eine Art von Buchhaltung hier beschreibe... ich sage nicht daß diese "richtig" ist. Allerdings ist die Methode mit meinem Steuerberate abgestimmt und vielleicht nicht passend für Bitcoin. Er hat sich mit dem Thema befasst, sich selbst beraten lassen und gesagt so sollten wir das machen. Ist noch nicht alles in Tüchern, ein weiterer Termin steht bald an.

Manuell abtippen in's datev steht ügrigens ausser Frage, da sind 7949 trades in meiner Tabelle und es ist noch nicht mal alles drin.

Ich würde mich freuen wenn mal jemand diese Fibu von chefin angucken könnte. Ich werd nicht schlauf wie er auf den "Bestand" kommt.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
oda.krell
Legendary
*
Offline Offline

Activity: 1470
Merit: 1007



View Profile
November 13, 2013, 11:08:13 PM
 #38

Ich würde mich freuen wenn mal jemand diese Fibu von chefin angucken könnte. Ich werd nicht schlauf wie er auf den "Bestand" kommt.

Kann mich irren, aber für mich sieht es wie ein Rechenfehler in Zeile 3 aus.

>3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)

Müsste m.E. 0.25*100 (Wert einer btc zum Zeitpunkt des Rechnungsbeginns mal Anteil übriger btc) + 200 = 225, statt 250.

225-100 (Anfangsbestand) = 125 Gewinn, was der selbe Betrag wäre wie in deiner Rechnung.

Not sure which Bitcoin wallet you should use? Get Electrum!
Electrum is an open-source lightweight client: fast, user friendly, and 100% secure.
Download the source or executables for Windows/OSX/Linux/Android from, and only from, the official Electrum homepage.
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 24, 2013, 08:07:18 AM
 #39

(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt bitcoin.de)

Datenimport bitcoin.de

Import

Auf bitcoin.de kann man sich einen Kontoauszug runterladen.

Dieses csv-file speichern wir unter '/path/bitcoin.de'. Da dort tausender-Trennzeichen und so kram drin ist welcher das postgres csv import modul zum kotzen bringt, öffnen wir das file in office und speichern es wiederum als '/path/bitcoin.de.transformed.csv'. Kann man vielleicht auch anders machen, aber so geht's recht einfach, wenn man openoffice hat.

Dann können wir die Tabelle 'bitcoinde' anlegen und aus dem csv befüllen:

Code:
bitbuch=# drop table bitcoinde;
bitbuch=# create table bitcoinde (id serial, datum timestamp, type varchar(16), referenz varchar(100), kurs decimal(20,8), BTC_vor_fee decimal(20,8), EUR_vor_fee decimal(20,8), BTC_nach_fee decimal(20,8), EUR_nach_fee decimal(20,8), delta decimal(20,8), balance decimal(20,8));

bitbuch=# copy bitcoinde(datum, type, referenz, kurs, BTC_vor_fee, EUR_vor_fee, BTC_nach_fee, EUR_nach_fee, delta, balance) from '/path/bitcoin.de.transformed.csv' delimiter ';' CSV HEADER;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.

trades

Jetzt können wir die Tabelle 'trades' mit den bitcoin.de-Daten befüllen:

Code:
bitbuch=# delete from trades where exchange = 'bitcoin.de';

bitbuch=# insert into trades(exchange, datum, trade_id, fiat_currency, delta_BTC, delta_fiat, delta_EUR, fee_BTC, fee_fiat, fee_EUR)

bitbuch=# select 'bitcoin.de' as exchange, datum, id, 'EUR' as fiat_currency,
case when type = 'Kauf' then 1 else -1 end * BTC_nach_fee as delta_BTC,
case when type = 'Kauf' then -1 else 1 end * EUR_nach_fee as delta_fiat,
case when type = 'Kauf' then -1 else 1 end * EUR_nach_fee as delta_EUR,
BTC_vor_fee - BTC_nach_fee as fee_BTC,
EUR_vor_fee - EUR_nach_fee as fee_fiat,
EUR_vor_fee - EUR_nach_fee as fee_EUR
from bitcoinde where type in ('Kauf', 'Verkauf') order by datum;


PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
molecular (OP)
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
November 24, 2013, 08:16:27 AM
 #40

(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt Bitcoin Central)

Datenimport Bitcoin Central

Import

Es gibt derzeit keinen automatischen export der Trade-Daten von bitcoin-central.net :-(. Ich hatte vor einiger Zeit davout (PM me for his email-address if you need it) angelabert er mailte mir einen CSV export. Header sieht so aus:

Code:
ID,"Account operation type","Operation ID","Operation type","Traded BTC","Traded currency","Price per coin","BTC address","E-mail address","Transaction ID",Amount,Currency,"Created at","Updated at","Value date"

Damit können wir die Tabelle 'bitcoin_central' anlegen und befüllen:

Code:
bitbuch=# drop table bitcoin_central;

bitbuch=# create table bitcoin_central (id int, account_operation_type varchar(16), operation_id int, operation_type varchar(16), BTC_traded decimal(20,8), FIAT_traded decimal(20,8), rate decimal(20,8), BTC_address varchar(52), email varchar(30), trans_id varchar(64), trans_amount decimal(20,8), trans_currency varchar(3), datum_created timestamp, datum_updated timestamp, datum_value timestamp);

bitbuch=# copy bitcoin_central(id, account_operation_type, operation_id, operation_type, BTC_traded, FIAT_traded, rate, BTC_address, email, trans_id, trans_amount, trans_currency, datum_created, datum_updated, datum_value)
from '/path/bitcoin_central.csv' delimiter ',' CSV HEADER;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.

trades

Jetzt können wir die Tabelle 'trades' befüllen:

Code:
bitbuch=# delete from trades where exchange = 'bitcoin_central';

bitbuch=# insert into trades(exchange, datum, trade_id, fiat_currency, delta_BTC, delta_fiat, delta_EUR, fee_BTC, fee_fiat, fee_EUR)

bitbuch=# select 'bitcoin_central' as exchange, datum_value, operation_id, 'EUR' as fiat_currency,
sum(case when trans_currency = 'BTC' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_BTC,
sum(case when trans_currency = 'EUR' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_fiat,
sum(case when trans_currency = 'EUR' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_EUR,
-sum(case when trans_currency = 'BTC' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_BTC,
-sum(case when trans_currency = 'EUR' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_fiat,
-sum(case when trans_currency = 'EUR' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_EUR
from bitcoin_central
where operation_type = 'Trade'
group by datum_value, operation_id, fiat_currency
order by datum_value;

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Pages: « 1 [2] 3 4 5 6 7 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!